[cfe-commits] r110660 - in /cfe/trunk: lib/CodeGen/CGDebugInfo.cpp lib/CodeGen/CGDebugInfo.h lib/CodeGen/CGExprScalar.cpp lib/CodeGen/CodeGenFunction.cpp lib/CodeGen/CodeGenFunction.h test/CodeGen/2010-08-10-DbgConstant.c
Chris Lattner
clattner at apple.com
Tue Aug 10 13:43:01 PDT 2010
On Aug 10, 2010, at 10:57 AM, Devang Patel wrote:
>>>
>>> + if (C)
>>> + Dbg->EmitGlobalVariable(C, E->getDecl(), Builder);
>>
>> This is calling EmitGlobalVariable *every* time a constant is codegen'd in the code. In your example, ro+ro+ro+ro will cause the global to get emitted 4 times. I realize that MDNodes do autouniquing, but doesn't this sound inefficient?
>
> I am not anticipating any measurable compile time penalty in real world scenarios here. However, we could add a SmallPtrSet to keep track of emitted constants at CGDebugInfo level. This means overhead for EmitGlobalVariable() call will remain. What do you think ?
I'm not sure. How do other global variables get uniqued?
-Chris
More information about the cfe-commits
mailing list