mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-23 12:40:17 +00:00
First pass at the DAG Combiner. It isn't used anywhere yet, but it should
be mostly functional. It currently has all folds from SelectionDAG.cpp that do not involve a condition code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23184 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
feca19b0d4
commit
1d4d414111
@ -79,6 +79,12 @@ public:
|
||||
///
|
||||
const SDOperand &setRoot(SDOperand N) { return Root = N; }
|
||||
|
||||
/// Combine - This iterates over the nodes in the SelectionDAG, folding
|
||||
/// certain types of nodes together, or eliminating superfluous nodes. When
|
||||
/// the AfterLegalize argument is set to 'true', Combine takes care not to
|
||||
/// generate any nodes that will be illegal on the target.
|
||||
void Combine(bool AfterLegalize);
|
||||
|
||||
/// Legalize - This transforms the SelectionDAG into a SelectionDAG that is
|
||||
/// compatible with the target instruction selector, as indicated by the
|
||||
/// TargetLowering object.
|
||||
|
1056
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Normal file
1056
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user