diff options
author | Owen Anderson <resistor@mac.com> | 2007-07-25 19:57:03 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2007-07-25 19:57:03 +0000 |
commit | 5d72a422813ceeb8b71e49f2e7ea4ee7098ced3a (patch) | |
tree | 7174037d9f9bcdea411053350575427b91a13fd8 /test/Transforms | |
parent | 5434b092834700b6ec79ff49f35ebb5ee99c5dfe (diff) | |
download | external_llvm-5d72a422813ceeb8b71e49f2e7ea4ee7098ced3a.zip external_llvm-5d72a422813ceeb8b71e49f2e7ea4ee7098ced3a.tar.gz external_llvm-5d72a422813ceeb8b71e49f2e7ea4ee7098ced3a.tar.bz2 |
Add basic support for performing whole-function RLE.
Note: This has not yet been thoroughly tested. Use at your own risk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40489 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r-- | test/Transforms/GVN/dominated.ll | 20 | ||||
-rw-r--r-- | test/Transforms/GVN/nonlocal.ll | 19 | ||||
-rw-r--r-- | test/Transforms/GVN/semidominated.ll | 19 |
3 files changed, 58 insertions, 0 deletions
diff --git a/test/Transforms/GVN/dominated.ll b/test/Transforms/GVN/dominated.ll new file mode 100644 index 0000000..4a9e975 --- /dev/null +++ b/test/Transforms/GVN/dominated.ll @@ -0,0 +1,20 @@ +; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep DEAD + +define i32 @main(i32** %p) { +block1: + %z = load i32** %p + br i1 true, label %block2, label %block3 + +block2: + %a = load i32** %p + br label %block4 + +block3: + %b = load i32** %p + br label %block4 + +block4: + %DEAD = load i32** %p + %c = load i32* %DEAD + ret i32 %c +}
\ No newline at end of file diff --git a/test/Transforms/GVN/nonlocal.ll b/test/Transforms/GVN/nonlocal.ll new file mode 100644 index 0000000..7e5ef91 --- /dev/null +++ b/test/Transforms/GVN/nonlocal.ll @@ -0,0 +1,19 @@ +; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {DEAD =} + +define i32 @main(i32** %p) { +block1: + br i1 true, label %block2, label %block3 + +block2: + %a = load i32** %p + br label %block4 + +block3: + %b = load i32** %p + br label %block4 + +block4: + %DEAD = load i32** %p + %c = load i32* %DEAD + ret i32 %c +}
\ No newline at end of file diff --git a/test/Transforms/GVN/semidominated.ll b/test/Transforms/GVN/semidominated.ll new file mode 100644 index 0000000..89eac46 --- /dev/null +++ b/test/Transforms/GVN/semidominated.ll @@ -0,0 +1,19 @@ +; RUN: llvm-as < %s | opt -gvn | llvm-dis | not grep {DEAD =} + +define i32 @main(i32* %p) { +block1: + %z = load i32* %p + br i1 true, label %block2, label %block3 + +block2: + br label %block4 + +block3: + %b = bitcast i32 0 to i32 + store i32 %b, i32* %p + br label %block4 + +block4: + %DEAD = load i32* %p + ret i32 %DEAD +}
\ No newline at end of file |