mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-02 19:24:25 +00:00
ConstantFolding: Fix a crash when encoutering a truncating inttoptr.
This was introduced in r173293. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174424 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -57,3 +57,22 @@ define <4 x i32> @ptrdiff4(<4 x i8*> %arg) nounwind {
|
||||
%sub = sub <4 x i32> %p1, %p2
|
||||
ret <4 x i32> %sub
|
||||
}
|
||||
|
||||
%struct.ham = type { i32, [2 x [2 x i32]] }
|
||||
|
||||
@global = internal global %struct.ham zeroinitializer, align 4
|
||||
|
||||
define i32 @ptrdiff5() nounwind {
|
||||
bb:
|
||||
%tmp = getelementptr inbounds %struct.ham* @global, i32 0, i32 1
|
||||
%tmp1 = getelementptr inbounds [2 x [2 x i32]]* %tmp, i32 0, i32 0
|
||||
%tmp2 = bitcast [2 x i32]* %tmp1 to i32*
|
||||
%tmp3 = ptrtoint i32* %tmp2 to i32
|
||||
%tmp4 = getelementptr inbounds %struct.ham* @global, i32 0, i32 1
|
||||
%tmp5 = getelementptr inbounds [2 x [2 x i32]]* %tmp4, i32 0, i32 0
|
||||
%tmp6 = ptrtoint [2 x i32]* %tmp5 to i32
|
||||
%tmp7 = sub i32 %tmp3, %tmp6
|
||||
ret i32 %tmp7
|
||||
; CHECK: @ptrdiff5
|
||||
; CHECK: ret i32 0
|
||||
}
|
||||
|
Reference in New Issue
Block a user