mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
New testcase for a bug identified by Vikram
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3625 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
823c4abb58
commit
05eb9581b2
20
test/Transforms/InstCombine/2002-09-08-PointerShiftBug.ll
Normal file
20
test/Transforms/InstCombine/2002-09-08-PointerShiftBug.ll
Normal file
@ -0,0 +1,20 @@
|
||||
; This tests for a bug exposed by the Olden health benchmark where a shift of a
|
||||
; pointer was thrown away, causing this whole example to be "optimized" away,
|
||||
; which was quite bogus. Check that this is fixed.
|
||||
;
|
||||
; RUN: as < %s | opt -instcombine | dis | grep reg162
|
||||
|
||||
implementation ; Functions:
|
||||
|
||||
int %test(uint %cann-indvar) {
|
||||
%reg189-scale = mul uint %cann-indvar, 4294967295 ; <uint> [#uses=1]
|
||||
%reg189 = add uint %reg189-scale, 3 ; <uint> [#uses=1]
|
||||
%cast362 = cast uint %reg189 to int ; <int> [#uses=1]
|
||||
%cast363 = cast int %cast362 to sbyte* ; <sbyte*> [#uses=2]
|
||||
%reg160 = shl sbyte* %cast363, ubyte 1 ; <sbyte*> [#uses=1]
|
||||
%reg161 = add sbyte* %reg160, %cast363 ; <sbyte*> [#uses=1]
|
||||
%reg162 = shl sbyte* %reg161, ubyte 2 ; <sbyte*> [#uses=1]
|
||||
%RV = cast sbyte* %reg162 to int ; <int> [#uses=1]
|
||||
ret int %RV
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user