mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-27 02:31:09 +00:00
Add SDNPCommutative and SDNPAssociative to several X86 target nodes.
This lets isel fold loads into them in more cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92506 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
344130e8ab
commit
43ffe6769a
@ -160,15 +160,21 @@ def X86ehret : SDNode<"X86ISD::EH_RETURN", SDT_X86EHRET,
|
||||
def X86tcret : SDNode<"X86ISD::TC_RETURN", SDT_X86TCRET,
|
||||
[SDNPHasChain, SDNPOptInFlag]>;
|
||||
|
||||
def X86add_flag : SDNode<"X86ISD::ADD", SDTBinaryArithWithFlags>;
|
||||
def X86add_flag : SDNode<"X86ISD::ADD", SDTBinaryArithWithFlags,
|
||||
[SDNPCommutative, SDNPAssociative]>;
|
||||
def X86sub_flag : SDNode<"X86ISD::SUB", SDTBinaryArithWithFlags>;
|
||||
def X86smul_flag : SDNode<"X86ISD::SMUL", SDTBinaryArithWithFlags>;
|
||||
def X86umul_flag : SDNode<"X86ISD::UMUL", SDTUnaryArithWithFlags>;
|
||||
def X86smul_flag : SDNode<"X86ISD::SMUL", SDTBinaryArithWithFlags,
|
||||
[SDNPCommutative, SDNPAssociative]>;
|
||||
def X86umul_flag : SDNode<"X86ISD::UMUL", SDTUnaryArithWithFlags,
|
||||
[SDNPCommutative, SDNPAssociative]>;
|
||||
def X86inc_flag : SDNode<"X86ISD::INC", SDTUnaryArithWithFlags>;
|
||||
def X86dec_flag : SDNode<"X86ISD::DEC", SDTUnaryArithWithFlags>;
|
||||
def X86or_flag : SDNode<"X86ISD::OR", SDTBinaryArithWithFlags>;
|
||||
def X86xor_flag : SDNode<"X86ISD::XOR", SDTBinaryArithWithFlags>;
|
||||
def X86and_flag : SDNode<"X86ISD::AND", SDTBinaryArithWithFlags>;
|
||||
def X86or_flag : SDNode<"X86ISD::OR", SDTBinaryArithWithFlags,
|
||||
[SDNPCommutative, SDNPAssociative]>;
|
||||
def X86xor_flag : SDNode<"X86ISD::XOR", SDTBinaryArithWithFlags,
|
||||
[SDNPCommutative, SDNPAssociative]>;
|
||||
def X86and_flag : SDNode<"X86ISD::AND", SDTBinaryArithWithFlags,
|
||||
[SDNPCommutative, SDNPAssociative]>;
|
||||
|
||||
def X86mul_imm : SDNode<"X86ISD::MUL_IMM", SDTIntBinOp>;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user