aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-01-31 15:31:23 -0800
committerAlon Zakai <alonzakai@gmail.com>2012-01-31 15:31:23 -0800
commita47bd793f2b73a75eb0baeec8741e1d3282c14de (patch)
tree427e427b62e3f36b10e560cd6a79b0c8180aba4d /tests
parent350c10bc7dda90980965f1ce2e5b60ef85ad1a57 (diff)
unfolding in legalizer for load and store
Diffstat (limited to 'tests')
-rw-r--r--tests/cases/legalizer_ta2.ll9
-rw-r--r--tests/cases/legalizer_ta2.txt1
2 files changed, 10 insertions, 0 deletions
diff --git a/tests/cases/legalizer_ta2.ll b/tests/cases/legalizer_ta2.ll
index cde3ec10..a877c683 100644
--- a/tests/cases/legalizer_ta2.ll
+++ b/tests/cases/legalizer_ta2.ll
@@ -2,6 +2,8 @@
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
target triple = "i386-pc-linux-gnu"
+@globaliz = global [300 x i8] zeroinitializer
+
define i32 @main() {
entry:
%buffer = alloca i8, i32 1000, align 4
@@ -92,6 +94,13 @@ entry:
store i104 %xored, i104* %bundled, align 4
call i32 (i8*)* @puts(i8* %buffer)
+; unfolding
+ store i104 %loaded, i104* bitcast ([300 x i8]* @globaliz to i104*), align 4
+ %loaded.short = load i80* bitcast ([300 x i8]* @globaliz to i80*), align 4
+ store i104 0, i104* bitcast ([300 x i8]* @globaliz to i104*), align 4
+ store i80 %loaded.short, i80* bitcast ([300 x i8]* @globaliz to i80*), align 4
+ call i32 (i8*)* @puts(i8* bitcast ([300 x i8]* @globaliz to i8*))
+
ret i32 1
}
diff --git a/tests/cases/legalizer_ta2.txt b/tests/cases/legalizer_ta2.txt
index 66fb8c59..e05a4816 100644
--- a/tests/cases/legalizer_ta2.txt
+++ b/tests/cases/legalizer_ta2.txt
@@ -14,3 +14,4 @@ gfedgfed
hellon worod
hello, war`d
hello, wor-d
+hello, wor