[llvm-commits] [PATCH] Sparc backend fixes
Chris Lattner
clattner at apple.com
Tue Dec 28 11:10:53 PST 2010
On Dec 26, 2010, at 8:33 PM, Venkatraman Govindaraju wrote:
> Hello,
>
> The attached path fixes the following three issues with the Sparc backend.
>
> 1. EmitInstrWithCustomInserter() in SparcISelLowering splices
> MachineBasicBlock before inserting them into the machine function. It
> corrupts the def-use chain of MachineOperand and causes a infinite
> loop in llc. Now, the patch avoids this by inserting the machine
> basicblocks into the machine function before splicing the original
> basicblock.
>
> 2. When the bitcode has "select_cc", Sparc backend may not generate
> correct assembly code. Since select_ccs do not have ICC/FCC as Uses,
> the corresponding def of ICC/FCC can be marked as dead and removed.
> Now, the select_ccs have ICC/FCC as Uses.
>
> 3. Sparc backend does not know about Y register. It causes the "rdy"
> and "wry" instructions to be marked as dead and removed. Now it knows
> about Y and generate correct code.
>
> Please let me know if the patch is okay to commit.
Looks great to me, please commit!
-Chris
More information about the llvm-commits
mailing list