brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 3cb11e9 Raw
44 lines · plain
1; This test makes sure that these instructions are properly constant propagated.2 3; RUN: opt < %s -data-layout="e-p:32:32" -passes=debugify,sccp -S | FileCheck %s4; RUN: opt < %s -data-layout="E-p:32:32" -passes=debugify,sccp -S | FileCheck %s5; RUN: opt < %s -data-layout="E-p:32:32" -passes=debugify,ipsccp -S | FileCheck %s6 7 8@X = constant i32 42		; <ptr> [#uses=1]9@Y = constant [2 x { i32, float }] [ { i32, float } { i32 12, float 1.000000e+00 }, { i32, float } { i32 37, float 0x3FF3B2FEC0000000 } ]		; <ptr> [#uses=2]10 11define i32 @test1() {12; CHECK-LABEL: @test1(13; CHECK-NEXT: #dbg_value(i32 4214; CHECK-NEXT: ret15	%B = load i32, ptr @X		; <i32> [#uses=1]16	ret i32 %B17}18 19define float @test2() {20; CHECK-LABEL: @test2(21; CHECK-NEXT: #dbg_value(ptr getelementptr22; CHECK-NEXT: #dbg_value(float 0x3FF3B2FEC000000023; CHECK-NEXT: ret24	%A = getelementptr [2 x { i32, float }], ptr @Y, i64 0, i64 1, i32 1		; <ptr> [#uses=1]25	%B = load float, ptr %A		; <float> [#uses=1]26	ret float %B27}28 29define i32 @test3() {30; CHECK-LABEL: @test3(31; CHECK-NEXT: #dbg_value(i32 1232; CHECK-NEXT: ret33	%B = load i32, ptr @Y34	ret i32 %B35}36 37define i8 @test4() {38; CHECK-LABEL: @test4(39; CHECK-NEXT: #dbg_value(i840; CHECK-NEXT: ret41	%B = load i8, ptr @X42	ret i8 %B43}44