mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
If the type legalizer actually legalized anything
(this doesn't happen that often, since most code does not use illegal types) then follow it by a DAG combiner run that is allowed to generate illegal operations but not illegal types. I didn't modify the target combiner code to distinguish like this between illegal operations and illegal types, so it will not produce illegal operations as well as not producing illegal types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59960 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -701,12 +701,10 @@ public:
|
||||
/// that want to combine
|
||||
struct TargetLoweringOpt {
|
||||
SelectionDAG &DAG;
|
||||
bool AfterLegalize;
|
||||
SDValue Old;
|
||||
SDValue New;
|
||||
|
||||
explicit TargetLoweringOpt(SelectionDAG &InDAG, bool afterLegalize)
|
||||
: DAG(InDAG), AfterLegalize(afterLegalize) {}
|
||||
explicit TargetLoweringOpt(SelectionDAG &InDAG) : DAG(InDAG) {}
|
||||
|
||||
bool CombineTo(SDValue O, SDValue N) {
|
||||
Old = O;
|
||||
@@ -793,7 +791,7 @@ public:
|
||||
/// Return Value:
|
||||
/// SDValue.Val == 0 - No change was made
|
||||
/// SDValue.Val == N - N was replaced, is dead, and is already handled.
|
||||
/// otherwise - N should be replaced by the returned Operand.
|
||||
/// otherwise - N should be replaced by the returned Operand.
|
||||
///
|
||||
/// In addition, methods provided by DAGCombinerInfo may be used to perform
|
||||
/// more complex transformations.
|
||||
|
||||
Reference in New Issue
Block a user