mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
Always create a temporary symbol to use with the cfi frame.
This is a small simplification and a small step in fixing pr18743 since private functions on MachO should be using a 'l' prefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200994 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d413950a93
commit
26baaa1efb
@ -267,15 +267,9 @@ void MCStreamer::EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) {
|
||||
|
||||
void MCStreamer::RecordProcStart(MCDwarfFrameInfo &Frame) {
|
||||
Frame.Function = LastSymbol;
|
||||
// If the function is externally visible, we need to create a local
|
||||
// symbol to avoid relocations.
|
||||
StringRef Prefix = getContext().getAsmInfo()->getPrivateGlobalPrefix();
|
||||
if (LastSymbol && LastSymbol->getName().startswith(Prefix)) {
|
||||
Frame.Begin = LastSymbol;
|
||||
} else {
|
||||
Frame.Begin = getContext().CreateTempSymbol();
|
||||
EmitLabel(Frame.Begin);
|
||||
}
|
||||
// We need to create a local symbol to avoid relocations.
|
||||
Frame.Begin = getContext().CreateTempSymbol();
|
||||
EmitLabel(Frame.Begin);
|
||||
}
|
||||
|
||||
void MCStreamer::EmitCFIEndProc() {
|
||||
|
@ -15,35 +15,37 @@ define void @bar() {
|
||||
}
|
||||
|
||||
; CHECK: L_foo: ## @foo
|
||||
; CHECK-NEXT: Ltmp0:
|
||||
|
||||
; CHECK: _bar: ## @bar
|
||||
; CHECK-NEXT: Ltmp2:
|
||||
; CHECK-NEXT: Ltmp3:
|
||||
|
||||
; CHECK: ## FDE CIE Offset
|
||||
; CHECK-NEXT: .long
|
||||
; CHECK-NEXT: Ltmp[[NUM1:[0-9]*]]:
|
||||
; CHECK-NEXT: Ltmp[[NUM2:[0-9]*]] = L_foo-Ltmp[[NUM1]] ## FDE initial location
|
||||
; CHECK-NEXT: Ltmp[[NUM2:[0-9]*]] = Ltmp0-Ltmp[[NUM1]] ## FDE initial location
|
||||
; CHECK-NEXT: {{.quad|.long}} Ltmp[[NUM2]]
|
||||
|
||||
|
||||
; CHECK: ## FDE CIE Offset
|
||||
; CHECK-NEXT: .long
|
||||
; CHECK-NEXT: Ltmp[[NUM1:[0-9]*]]:
|
||||
; CHECK-NEXT: Ltmp[[NUM2:[0-9]*]] = Ltmp2-Ltmp[[NUM1]] ## FDE initial location
|
||||
; CHECK-NEXT: Ltmp[[NUM2:[0-9]*]] = Ltmp3-Ltmp[[NUM1]] ## FDE initial location
|
||||
; CHECK-NEXT: {{.quad|.long}} Ltmp[[NUM2]]
|
||||
|
||||
|
||||
; OLD: L_foo: ## @foo
|
||||
; OLD-NEXT: Ltmp0:
|
||||
|
||||
; OLD: _bar: ## @bar
|
||||
; OLD-NEXT: Ltmp2:
|
||||
; OLD-NEXT: Ltmp3:
|
||||
|
||||
; OLD: ## FDE CIE Offset
|
||||
; OLD-NEXT: .long
|
||||
; OLD-NEXT: Ltmp[[NUM1:[0-9]*]]:
|
||||
; OLD-NEXT: {{.quad|.long}} L_foo-Ltmp[[NUM1]] ## FDE initial location
|
||||
; OLD-NEXT: {{.quad|.long}} Ltmp0-Ltmp[[NUM1]] ## FDE initial location
|
||||
|
||||
; OLD: ## FDE CIE Offset
|
||||
; OLD-NEXT: .long
|
||||
; OLD-NEXT: Ltmp[[NUM1:[0-9]*]]:
|
||||
; OLD-NEXT: {{.quad|.long}} Ltmp2-Ltmp[[NUM1]] ## FDE initial location
|
||||
; OLD-NEXT: {{.quad|.long}} Ltmp3-Ltmp[[NUM1]] ## FDE initial location
|
||||
|
Loading…
Reference in New Issue
Block a user