mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 20:59:51 +00:00
Add a RemoveFromWorklist method to DCI. This is needed to do some complicated
transformations in target-specific DAG combines without causing DAGCombiner to delete the same node twice. If you know of a better way to avoid this (see my next patch for an example), please let me know. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128758 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
04187ecd57
commit
ed3caf9086
@ -927,6 +927,7 @@ public:
|
||||
bool isCalledByLegalizer() const { return CalledByLegalizer; }
|
||||
|
||||
void AddToWorklist(SDNode *N);
|
||||
void RemoveFromWorklist(SDNode *N);
|
||||
SDValue CombineTo(SDNode *N, const std::vector<SDValue> &To,
|
||||
bool AddTo = true);
|
||||
SDValue CombineTo(SDNode *N, SDValue Res, bool AddTo = true);
|
||||
|
@ -319,6 +319,10 @@ void TargetLowering::DAGCombinerInfo::AddToWorklist(SDNode *N) {
|
||||
((DAGCombiner*)DC)->AddToWorkList(N);
|
||||
}
|
||||
|
||||
void TargetLowering::DAGCombinerInfo::RemoveFromWorklist(SDNode *N) {
|
||||
((DAGCombiner*)DC)->removeFromWorkList(N);
|
||||
}
|
||||
|
||||
SDValue TargetLowering::DAGCombinerInfo::
|
||||
CombineTo(SDNode *N, const std::vector<SDValue> &To, bool AddTo) {
|
||||
return ((DAGCombiner*)DC)->CombineTo(N, &To[0], To.size(), AddTo);
|
||||
|
Loading…
Reference in New Issue
Block a user