mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-23 04:52:54 +02:00
6ec578688d
additional bug fixes: 1. The bug that everyone hit was a problem in the asmprinter where it would remove $stub but keep the L prefix on a name when emitting the indirect symbol. This is easy to fix by keeping the name of the stub and the name of the symbol in a StringMap instead of just keeping a StringSet and trying to reconstruct it late. 2. There was a problem printing the personality function. The current logic to print out the personality function from the DWARF information is a bit of a cesspool right now that duplicates a bunch of other logic in the asm printer. The short version of it is that it depends on emitting both the L and _ prefix for symbols (at least on darwin) and until I can untangle it, it is best to switch the mangler back to emitting both prefixes. llvm-svn: 75646
25 lines
575 B
LLVM
25 lines
575 B
LLVM
; Test to make sure that the 'private' is used correctly.
|
|
;
|
|
; RUN: llvm-as < %s | llc -mtriple=powerpc-unknown-linux-gnu > %t
|
|
; RUN: grep .Lfoo: %t
|
|
; RUN: grep bl.*\.Lfoo %t
|
|
; RUN: grep .Lbaz: %t
|
|
; RUN: grep lis.*\.Lbaz %t
|
|
; RUN: llvm-as < %s | llc -mtriple=powerpc-apple-darwin > %t
|
|
; RUN: grep L_foo: %t
|
|
; RUN: grep bl.*\L_foo %t
|
|
; RUN: grep L_baz: %t
|
|
; RUN: grep lis.*\L_baz %t
|
|
|
|
define private void @foo() nounwind {
|
|
ret void
|
|
}
|
|
|
|
@baz = private global i32 4;
|
|
|
|
define i32 @bar() nounwind {
|
|
call void @foo()
|
|
%1 = load i32* @baz, align 4
|
|
ret i32 %1
|
|
}
|