diff options
Diffstat (limited to 'llvm/test/Transforms/ConstantMerge/dont-merge.ll')
-rw-r--r-- | llvm/test/Transforms/ConstantMerge/dont-merge.ll | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/Transforms/ConstantMerge/dont-merge.ll b/llvm/test/Transforms/ConstantMerge/dont-merge.ll new file mode 100644 index 00000000000..cea18a05efb --- /dev/null +++ b/llvm/test/Transforms/ConstantMerge/dont-merge.ll @@ -0,0 +1,16 @@ +; RUN: opt < %s -constmerge -S | grep foo +; RUN: opt < %s -constmerge -S | grep bar + +; Don't merge constants in different sections. + +@G1 = internal constant i32 1, section "foo" ; <i32*> [#uses=1] +@G2 = internal constant i32 1, section "bar" ; <i32*> [#uses=1] +@G3 = internal constant i32 1, section "bar" ; <i32*> [#uses=1] + +define void @test(i32** %P1, i32** %P2, i32** %P3) { + store i32* @G1, i32** %P1 + store i32* @G2, i32** %P2 + store i32* @G3, i32** %P3 + ret void +} + |