[llvm] r269112 - SDAG: Avoid relying on the return value of SelectCode in Hexagon. NFC
Justin Bogner via llvm-commits
llvm-commits at lists.llvm.org
Tue May 10 13:31:54 PDT 2016
Author: bogner
Date: Tue May 10 15:31:53 2016
New Revision: 269112
URL: http://llvm.org/viewvc/llvm-project?rev=269112&view=rev
Log:
SDAG: Avoid relying on the return value of SelectCode in Hexagon. NFC
This is a bit of a spot fix for now. I'll try to fix this up more
comprehensively soon.
This is part of the work to have Select return void instead of an
SDNode *, which is in turn part of llvm.org/pr26808.
Modified:
llvm/trunk/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
Modified: llvm/trunk/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp?rev=269112&r1=269111&r2=269112&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp (original)
+++ llvm/trunk/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp Tue May 10 15:31:53 2016
@@ -570,7 +570,13 @@ SDNode *HexagonDAGToDAGISel::StoreInstrF
else
TS = CurDAG->getTruncStore(SDValue(LoadN,2), dl, SDValue(LoadN,0), Loc, PI,
MVT::getIntegerVT(Size*8), false, false, Size);
- SDNode *StoreN = SelectStore(TS.getNode());
+
+ SDNode *StoreN;
+ {
+ HandleSDNode Handle(TS);
+ SelectStore(TS.getNode());
+ StoreN = Handle.getValue().getNode();
+ }
// Load's results are { Loaded value, Updated pointer, Chain }
ReplaceUses(SDValue(IntN, 0), SDValue(LoadN, 1));
@@ -720,7 +726,8 @@ SDNode *HexagonDAGToDAGISel::SelectIndex
ReplaceUses(ST, Result);
ReplaceUses(SDValue(ST,1), SDValue(Result,1));
- return Result;
+ CurDAG->RemoveDeadNode(ST);
+ return nullptr;
}
// Note: Order of operands matches the def of instruction:
@@ -767,7 +774,8 @@ SDNode *HexagonDAGToDAGISel::SelectIndex
ReplaceUses(SDValue(ST,0), SDValue(Result_2,0));
ReplaceUses(SDValue(ST,1), SDValue(Result_1,0));
- return Result_2;
+ CurDAG->RemoveDeadNode(ST);
+ return nullptr;
}
SDNode *HexagonDAGToDAGISel::SelectStore(SDNode *N) {
More information about the llvm-commits
mailing list