Changes in directory llvm/test/Transforms/InstCombine:
2007-02-07-PointerCast.ll added (r1.1) --- Log message: This really only affects pointers in high memory, and only llvm 1.9, but make a regression for it anyway --- Diffs of the changes: (+28 -0) 2007-02-07-PointerCast.ll | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+) Index: llvm/test/Transforms/InstCombine/2007-02-07-PointerCast.ll diff -c /dev/null llvm/test/Transforms/InstCombine/2007-02-07-PointerCast.ll:1.1 *** /dev/null Wed Feb 7 16:23:57 2007 --- llvm/test/Transforms/InstCombine/2007-02-07-PointerCast.ll Wed Feb 7 16:23:47 2007 *************** *** 0 **** --- 1,28 ---- + ;RUN: llvm-upgrade < %s | llvm-as | opt -instcombine |llvm-dis |grep zext + + ;Make sure the uint isn't removed. + ;instcombine in llvm 1.9 was dropping the uint cast which was causing a sign + ;extend + ;this only affected code with pointers in the high half of memory, so it wasn't + ;noticed much :) + ;compile a kernel though... + + target datalayout = "e-p:32:32" + target endian = little + target pointersize = 32 + + %str = internal constant [6 x sbyte] c"%llx\0A\00" + + implementation ; Functions: + + declare int %printf(sbyte*, ...) + + int %main(int %x, sbyte** %a) { + entry: + %tmp = getelementptr [6 x sbyte]* %str, int 0, uint 0 + %tmp1 = load sbyte** %a + %tmp2 = cast sbyte* %tmp1 to uint ; <uint> [#uses=1] + %tmp3 = cast uint %tmp2 to long ; <long> [#uses=1] + %tmp = call int (sbyte*, ...)* %printf( sbyte* %tmp, long %tmp3 ) + ret int 0 + } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits