[PATCH] [SPARC] Cleanup handling of the Y/ASR registers.

James Y Knight jyknight at google.com
Thu Jun 11 14:00:53 PDT 2015


Hi echristo,

- Implement copying ASR to/from GPR regs.
- Mark ASRs as non-allocatable, so it won't try to arbitrarily use
  them inappropriately.
- Instead of inserting explicit WRASR/RDASR nodes in the MUL/DIV
  routines, just do normal register copies.
- Also...mark div as using Y, not just writing it.

Added a test case with some code which previously died with an
assertion failure (with -O0), or produced wrong code (otherwise).

(Third time's the charm?)

http://reviews.llvm.org/D10401

Files:
  lib/Target/Sparc/SparcISelDAGToDAG.cpp
  lib/Target/Sparc/SparcInstrInfo.cpp
  lib/Target/Sparc/SparcInstrInfo.td
  lib/Target/Sparc/SparcRegisterInfo.td
  test/CodeGen/SPARC/basictest.ll
  test/CodeGen/SPARC/multiple-div.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10401.27542.patch
Type: text/x-patch
Size: 4512 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150611/9a1ba3e3/attachment.bin>


More information about the llvm-commits mailing list