Cameron Esfahani
2010-Aug-03 22:04 UTC
[LLVMdev] Purpose of PROLOG_LABEL in function prologue?
I've been building/dumping some x86_64 code and I've noticed that each of the routines has 3 temporary symbols, à la: _main: pushq %rbp Ltmp18: movq %rsp, %rbp Ltmp19: subq $320, %rsp Ltmp20: movl %ecx, -276(%rbp) I've tracked them back to emitPrologue in X86RegisterInfo.cpp. I'm wonder what's their purpose? They're filling up my symbol table... Cameron Esfahani dirty at apple.com "All that is necessary for the triumph of evil is that good men do nothing." Edmund Burke
Eric Christopher
2010-Aug-03 22:12 UTC
[LLVMdev] Purpose of PROLOG_LABEL in function prologue?
On Aug 3, 2010, at 3:04 PM, Cameron Esfahani wrote:> I've been building/dumping some x86_64 code and I've noticed that each of the routines has 3 temporary symbols, à la: > > _main: > pushq %rbp > Ltmp18: > movq %rsp, %rbp > Ltmp19: > subq $320, %rsp > Ltmp20: > movl %ecx, -276(%rbp) > > I've tracked them back to emitPrologue in X86RegisterInfo.cpp. I'm wonder what's their purpose? > > They're filling up my symbol table...EH ranges for unwind info. If you look later on in the file for the symbols you'll see them. -eric
Eric Christopher
2010-Aug-03 22:14 UTC
[LLVMdev] Purpose of PROLOG_LABEL in function prologue?
On Aug 3, 2010, at 3:12 PM, Eric Christopher wrote:> > On Aug 3, 2010, at 3:04 PM, Cameron Esfahani wrote: > >> I've been building/dumping some x86_64 code and I've noticed that each of the routines has 3 temporary symbols, à la: >> >> _main: >> pushq %rbp >> Ltmp18: >> movq %rsp, %rbp >> Ltmp19: >> subq $320, %rsp >> Ltmp20: >> movl %ecx, -276(%rbp) >> >> I've tracked them back to emitPrologue in X86RegisterInfo.cpp. I'm wonder what's their purpose? >> >> They're filling up my symbol table... > > > EH ranges for unwind info. If you look later on in the file for the symbols you'll see them.Oh, though they should be local and not exported at all. -eric
Cameron Esfahani
2010-Aug-03 22:19 UTC
[LLVMdev] Purpose of PROLOG_LABEL in function prologue?
I don't see any references to them, that's why I brought it up... On Aug 3, 2010, at 3:12 PM, Eric Christopher wrote:> > On Aug 3, 2010, at 3:04 PM, Cameron Esfahani wrote: > >> I've been building/dumping some x86_64 code and I've noticed that each of the routines has 3 temporary symbols, à la: >> >> _main: >> pushq %rbp >> Ltmp18: >> movq %rsp, %rbp >> Ltmp19: >> subq $320, %rsp >> Ltmp20: >> movl %ecx, -276(%rbp) >> >> I've tracked them back to emitPrologue in X86RegisterInfo.cpp. I'm wonder what's their purpose? >> >> They're filling up my symbol table... > > > EH ranges for unwind info. If you look later on in the file for the symbols you'll see them. > > -ericCameron Esfahani dirty at apple.com "You only live once, and the way I live, once is enough" Frank Sinatra
Possibly Parallel Threads
- [LLVMdev] Purpose of PROLOG_LABEL in function prologue?
- [LLVMdev] Purpose of PROLOG_LABEL in function prologue?
- [LLVMdev] Purpose of PROLOG_LABEL in function prologue?
- [LLVMdev] Suboptimal code due to excessive spilling
- [LLVMdev] Suboptimal code due to excessive spilling