| ; Tests that we name unnamed global addresses. | |
| ; Check that Subzero's bitcode reader handles renaming correctly. | |
| ; RUN: %p2i --no-local-syms -i %s --insts | FileCheck %s | |
| ; RUN: %l2i --no-local-syms -i %s --insts | %ifl FileCheck %s | |
| ; RUN: %l2i --no-local-syms -i %s --insts --args --exit-success \ | |
| ; RUN: -default-function-prefix=h -default-global-prefix=g \ | |
| ; RUN: | %ifl FileCheck --check-prefix=BAD %s | |
| ; RUN: %p2i --no-local-syms -i %s --insts --args --exit-success \ | |
| ; RUN: -default-function-prefix=h -default-global-prefix=g \ | |
| ; RUN: | FileCheck --check-prefix=BAD %s | |
| ; RUN: %p2i -i %s --args -notranslate -timing | \ | |
| ; RUN: FileCheck --check-prefix=NOIR %s | |
| ; TODO(kschimpf) Check global variable declarations, once generated. | |
| @0 = internal global [4 x i8] zeroinitializer, align 4 | |
| @1 = internal constant [10 x i8] c"Some stuff", align 1 | |
| @g = internal global [4 x i8] zeroinitializer, align 4 | |
| define internal i32 @2(i32 %v) { | |
| ret i32 %v | |
| } | |
| ; CHECK: define internal i32 @Function(i32 %__0) { | |
| ; CHECK-NEXT: __0: | |
| ; CHECK-NEXT: ret i32 %__0 | |
| ; CHECK-NEXT: } | |
| define internal void @hg() { | |
| ret void | |
| } | |
| ; CHECK-NEXT: define internal void @hg() { | |
| ; CHECK-NEXT: __0: | |
| ; CHECK-NEXT: ret void | |
| ; CHECK-NEXT: } | |
| define internal void @3() { | |
| ret void | |
| } | |
| ; CHECK-NEXT: define internal void @Function1() { | |
| ; CHECK-NEXT: __0: | |
| ; CHECK-NEXT: ret void | |
| ; CHECK-NEXT: } | |
| define internal void @h5() { | |
| ret void | |
| } | |
| ; CHECK-NEXT: define internal void @h5() { | |
| ; CHECK-NEXT: __0: | |
| ; CHECK-NEXT: ret void | |
| ; CHECK-NEXT: } | |
| ; BAD: Warning : Default global prefix 'g' potentially conflicts with name 'g'. | |
| ; BAD: Warning : Default function prefix 'h' potentially conflicts with name 'h5'. | |
| ; NOIR: Total across all functions |