llvm-6502/test/Transforms/InstCombine/odr-linkage.ll
Chris Lattner 266c7bbbbc Add a new "available_externally" linkage type. This is intended
to support C99 inline, GNU extern inline, etc.  Related bugzilla's
include PR3517, PR3100, & PR2933.  Nothing uses this yet, but it
appears to work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68940 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-13 05:44:34 +00:00

19 lines
400 B
LLVM

; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {ret i32 10}
@g1 = available_externally constant i32 1
@g2 = linkonce_odr constant i32 2
@g3 = weak_odr constant i32 3
@g4 = internal constant i32 4
define i32 @test() {
%A = load i32* @g1
%B = load i32* @g2
%C = load i32* @g3
%D = load i32* @g4
%a = add i32 %A, %B
%b = add i32 %a, %C
%c = add i32 %b, %D
ret i32 %c
}