[llvm-commits] CVS: llvm-poolalloc/Regressions/2006-02-23.memcpy.ll
Andrew Lenharth
alenhar2 at cs.uiuc.edu
Thu Feb 23 19:20:16 PST 2006
Changes in directory llvm-poolalloc/Regressions:
2006-02-23.memcpy.ll added (r1.1)
---
Log message:
reduction from bzip2
---
Diffs of the changes: (+35 -0)
2006-02-23.memcpy.ll | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+)
Index: llvm-poolalloc/Regressions/2006-02-23.memcpy.ll
diff -c /dev/null llvm-poolalloc/Regressions/2006-02-23.memcpy.ll:1.1
*** /dev/null Thu Feb 23 21:20:14 2006
--- llvm-poolalloc/Regressions/2006-02-23.memcpy.ll Thu Feb 23 21:20:04 2006
***************
*** 0 ****
--- 1,35 ----
+ ; pointer compression tries to turn the llvm.memcpy into llvm.memcpy_pc
+ ; this is of course bad. It should materialize the pointers.
+ target endian = little
+ target pointersize = 64
+ target triple = "alphaev6-unknown-linux-gnu"
+ deplibs = [ "c", "crtend" ]
+ %struct.spec_fd_t = type { int, int, int, ubyte* }
+ %spec_fd = external global [3 x %struct.spec_fd_t] ; <[3 x %struct.spec_fd_t]*> [#uses=2]
+
+ implementation ; Functions:
+
+ declare void %llvm.memcpy(sbyte*, sbyte*, ulong, uint)
+
+ void %main() {
+ entry:
+ br bool false, label %no_exit.0.i161, label %endif.0
+
+ endif.0: ; preds = %entry
+ ret void
+
+ no_exit.0.i161: ; preds = %entry
+ %tmp.25.i = getelementptr [3 x %struct.spec_fd_t]* %spec_fd, long 0, int 0, uint 3 ; <ubyte**> [#uses=1]
+ %tmp.26.i = malloc ubyte, uint 0 ; <ubyte*> [#uses=1]
+ store ubyte* %tmp.26.i, ubyte** %tmp.25.i
+ br bool false, label %no_exit.1.i, label %then.4
+
+ no_exit.1.i: ; preds = %no_exit.0.i161
+ %tmp.103.i = load ubyte** getelementptr ([3 x %struct.spec_fd_t]* %spec_fd, long 0, int 0, uint 3) ; <ubyte*> [#uses=1]
+ %tmp.118.i = cast ubyte* %tmp.103.i to sbyte* ; <sbyte*> [#uses=1]
+ tail call void %llvm.memcpy( sbyte* null, sbyte* %tmp.118.i, ulong 0, uint 1 )
+ ret void
+
+ then.4: ; preds = %no_exit.0.i161
+ ret void
+ }
More information about the llvm-commits
mailing list