brintos

brintos / llvm-project-archived public Read only

0
0
Text · 702 B · e13689b Raw
29 lines · plain
1; RUN: llc -mtriple=hexagon -O2 -disable-cgp < %s2; REQUIRES: asserts3;4; Tail duplication can ignore subregister information on PHI nodes, and as5; a result, generate COPY instructions between registers of different classes.6; This could lead to HexagonInstrInfo::copyPhysReg aborting on an unhandled7; src/dst combination.8;9define i32 @foo(i32 %x, i64 %y) nounwind {10entry:11  %a = icmp slt i32 %x, 012  %lo = trunc i64 %y to i3213  br i1 %a, label %next, label %tail14tail:15  br label %join16next:17  %c = icmp eq i32 %x, 018  br i1 %c, label %b1, label %tail19b1:20  %t1 = lshr i64 %y, 3221  %hi = trunc i64 %t1 to i3222  br label %join23join:24  %val = phi i32 [ %hi, %b1 ], [ %lo, %tail ]25  ret i32 %val26}27 28 29