diff options
author | Chris Lattner <sabre@nondot.org> | 2005-09-26 04:43:01 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-09-26 04:43:01 +0000 |
commit | 1fcfe32e515faab3ba9d4c65889aa2f9b867a302 (patch) | |
tree | cf5c2d7a71b9175d80c4af570182f9346a106489 | |
parent | db973e60ced33cfa0332462b1a2d5ae1ae15ad25 (diff) |
make this harder: put some code into it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23436 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Transforms/GlobalOpt/ctor-list-opt.ll | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/test/Transforms/GlobalOpt/ctor-list-opt.ll b/test/Transforms/GlobalOpt/ctor-list-opt.ll index 388f53d4f6..d71f976091 100644 --- a/test/Transforms/GlobalOpt/ctor-list-opt.ll +++ b/test/Transforms/GlobalOpt/ctor-list-opt.ll @@ -1,14 +1,31 @@ ; RUN: llvm-as < %s | opt -globalopt -disable-output && ; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep CTOR -%llvm.global_ctors = appending global [2 x { int, void ()* }] [ +%llvm.global_ctors = appending global [4 x { int, void ()* }] [ { int, void ()* } { int 65535, void ()* %CTOR1 }, - { int, void ()* } { int 65535, void ()* %CTOR1 } + { int, void ()* } { int 65535, void ()* %CTOR1 }, + { int, void ()* } { int 65535, void ()* %CTOR2 }, + { int, void ()* } { int 2147483647, void ()* null } ] +%G = global int 0 + +%CTORGV = internal global bool false ;; Should become constant after eval + implementation internal void %CTOR1() { ;; noop ctor, remove. ret void } +internal void %CTOR2() { ;; evaluate the store + %A = add int 1, 23 + store int %A, int* %G + store bool true, bool* %CTORGV + ret void +} + +bool %accessor() { + %V = load bool* %CTORGV ;; constant true + ret bool %V +} |