mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-11 07:15:26 +00:00
![Rafael Espindola](/assets/img/avatar_default.png)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256276 91177308-0d34-0410-b5e6-96231b3b80d8
29 lines
576 B
LLVM
29 lines
576 B
LLVM
; RUN: opt -S < %s -globalopt | FileCheck %s
|
|
|
|
@G = internal global i32 42
|
|
|
|
define i8 @f() norecurse {
|
|
; CHECK-LABEL: @f
|
|
; CHECK: alloca
|
|
; CHECK-NOT: @G
|
|
; CHECK: }
|
|
store i32 42, i32* @G
|
|
%a = load i8, i8* bitcast (i32* @G to i8*)
|
|
ret i8 %a
|
|
}
|
|
|
|
@H = internal global i32 42
|
|
@Halias = alias i32, i32* @H
|
|
|
|
; @H can't be localized because @Halias uses it, and @Halias can't be converted to an instruction.
|
|
define i8 @g() norecurse {
|
|
; CHECK-LABEL: @g
|
|
; CHECK-NOT: alloca
|
|
; CHECK: @H
|
|
; CHECK: }
|
|
store i32 42, i32* @H
|
|
%a = load i8, i8* bitcast (i32* @H to i8*)
|
|
ret i8 %a
|
|
}
|
|
|