[PATCH] Add support for the Sparc implementation-defined "ASR" registers.
James Y Knight
jyknight at google.com
Wed May 6 14:41:11 PDT 2015
In http://reviews.llvm.org/D8670#167209, @echristo wrote:
> What was the bug you fixed when it was causing crashes?
I had not correctly updated SparcISelDAGToDAG.cpp, so div simply did not work at all.
It was this patch of my patch:
--- a/lib/Target/Sparc/SparcISelDAGToDAG.cpp
+++ b/lib/Target/Sparc/SparcISelDAGToDAG.cpp
@@ -166,10 +166,10 @@ SDNode *SparcDAGToDAGISel::Select(SDNode *N) {
} else {
TopPart = CurDAG->getRegister(SP::G0, MVT::i32);
}
- TopPart = SDValue(CurDAG->getMachineNode(SP::WRASRrr, dl, MVT::Glue,
- CurDAG->getRegister(SP::Y, MVT::i32),
+ TopPart = SDValue(CurDAG->getMachineNode(SP::WRASRrr, dl, MVT::i32,
TopPart,
CurDAG->getRegister(SP::G0, MVT::i32)), 0);
+ TopPart = CurDAG->getCopyToReg(TopPart, dl, SP::Y, TopPart, SDValue()).getValue(1);
http://reviews.llvm.org/D8670
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list