Hi,
Recently code using IMPLICIT_DEF and INSERT_SUBREG started to break:
%vreg9 = IMPLICIT_DEF
%vreg10 = INSERT_SUBREG %vreg9, %vreg1, hi
%vreg12 = sub %vreg10, %vreg11
=>
%vreg10 = IMPLICIT_DEF
%vreg10:hi = COPY %vreg1
%vreg12 = sub %vreg10, %vreg11
=>
%vreg10:hi<def,read-undef> = COPY %vreg1, %vreg10
%vreg12 = sub %vreg10, %vreg11
=>
%vreg10:hi<def,read-undef> = COPY %a1_h
%vreg12 = sub %vreg10, %vreg11
=>
%a2_h = COPY %a1_h
%a2 = sub %a2, %a3
*** Bad machine code: Using an undefined physical register ***
-
function: array
-
basic block: 0x43ac7d0 (BB#0)
-
instruction: %a2 = sub %a2, %a3<kill
-
operand 1: %a2
This all worked well before. Is there a change somewhere in the framework that will make the code on top wrong?
Jonas