If a register that was the result of a PHI instruction is killed in
the same basic block, TailDuplication sill tries to insert a COPY
at the end of the new basic block, causing a verifier failure like so (i.e. when run with llc -fast-isel -O3 -verify-machineinstrs):
*** Bad machine code: Using a killed virtual register *** - function: julia_anonymous1421 - basic block: BB#4 isf (0x17d84d0) - instruction: %vreg12<def> = COPY %vreg7; GR64:%vreg12,%vreg7 - operand 1: %vreg7 *** Bad machine code: Using a killed virtual register *** - function: julia_anonymous1421 - basic block: BB#6 notf (0x17d8630) - instruction: %vreg14<def> = COPY %vreg6; GR64:%vreg14,%vreg6 - operand 1: %vreg6 LLVM ERROR: Found 2 machine code errors.