LLVM: lib/Target/AArch64/AArch64MacroFusion.cpp File Reference (original) (raw)
Go to the source code of this file.
| Functions | |
|---|---|
| static bool | isArithmeticBccPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI, bool CmpOnly) |
| CMN, CMP, TST followed by Bcc. | |
| static bool | isArithmeticCbzPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| ALU operations followed by CBZ/CBNZ. | |
| static bool | isAESPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| AES crypto encoding or decoding. | |
| static bool | isCryptoEORPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| AESE/AESD/PMULL + EOR. | |
| static bool | isAdrpAddPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| static bool | isLiteralsPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| Literal generation. | |
| static bool | isAddressLdStPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| Fuse address generation and loads or stores. | |
| static bool | isCmpCSelPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| Compare and conditional select. | |
| static bool | isCmpCSetPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| Compare and cset. | |
| static bool | isArithmeticLogicPair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| static bool | isAddSub2RegAndConstOnePair (const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| static bool | shouldScheduleAdjacent (const TargetInstrInfo &TII, const TargetSubtargetInfo &TSI, const MachineInstr *FirstMI, const MachineInstr &SecondMI) |
| Check if the instr pair, FirstMI and SecondMI, should be fused together. |
◆ isAddressLdStPair()
◆ isAddSub2RegAndConstOnePair()
◆ isAdrpAddPair()
◆ isAESPair()
◆ isArithmeticBccPair()
◆ isArithmeticCbzPair()
◆ isArithmeticLogicPair()
◆ isCmpCSelPair()
◆ isCmpCSetPair()
◆ isCryptoEORPair()
◆ isLiteralsPair()
◆ shouldScheduleAdjacent()
Check if the instr pair, FirstMI and SecondMI, should be fused together.
Given SecondMI, when FirstMI is unspecified, then check if SecondMI may be part of a fused pair at all.
Definition at line 477 of file AArch64MacroFusion.cpp.
References isAddressLdStPair(), isAddSub2RegAndConstOnePair(), isAdrpAddPair(), isAESPair(), isArithmeticBccPair(), isArithmeticCbzPair(), isArithmeticLogicPair(), isCmpCSelPair(), isCmpCSetPair(), isCryptoEORPair(), isLiteralsPair(), and TII.