diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
commit | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch) | |
tree | 64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/libs/llvm12/lib/Target/AArch64/AArch64InstrInfo.h | |
parent | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff) | |
download | ydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/llvm12/lib/Target/AArch64/AArch64InstrInfo.h')
-rw-r--r-- | contrib/libs/llvm12/lib/Target/AArch64/AArch64InstrInfo.h | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/contrib/libs/llvm12/lib/Target/AArch64/AArch64InstrInfo.h b/contrib/libs/llvm12/lib/Target/AArch64/AArch64InstrInfo.h index 9b924a8440..7434987e06 100644 --- a/contrib/libs/llvm12/lib/Target/AArch64/AArch64InstrInfo.h +++ b/contrib/libs/llvm12/lib/Target/AArch64/AArch64InstrInfo.h @@ -112,10 +112,10 @@ public: /// Hint that pairing the given load or store is unprofitable. static void suppressLdStPair(MachineInstr &MI); - Optional<ExtAddrMode> - getAddrModeFromMemoryOp(const MachineInstr &MemI, - const TargetRegisterInfo *TRI) const override; - + Optional<ExtAddrMode> + getAddrModeFromMemoryOp(const MachineInstr &MemI, + const TargetRegisterInfo *TRI) const override; + bool getMemOperandsWithOffsetWidth( const MachineInstr &MI, SmallVectorImpl<const MachineOperand *> &BaseOps, int64_t &Offset, bool &OffsetIsScalable, unsigned &Width, @@ -191,9 +191,9 @@ public: MachineBasicBlock *&FBB, SmallVectorImpl<MachineOperand> &Cond, bool AllowModify = false) const override; - bool analyzeBranchPredicate(MachineBasicBlock &MBB, - MachineBranchPredicate &MBP, - bool AllowModify) const override; + bool analyzeBranchPredicate(MachineBasicBlock &MBB, + MachineBranchPredicate &MBP, + bool AllowModify) const override; unsigned removeBranch(MachineBasicBlock &MBB, int *BytesRemoved = nullptr) const override; unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB, @@ -235,10 +235,10 @@ public: /// Return true when there is potentially a faster code sequence /// for an instruction chain ending in ``Root``. All potential patterns are /// listed in the ``Patterns`` array. - bool - getMachineCombinerPatterns(MachineInstr &Root, - SmallVectorImpl<MachineCombinerPattern> &Patterns, - bool DoRegPressureReduce) const override; + bool + getMachineCombinerPatterns(MachineInstr &Root, + SmallVectorImpl<MachineCombinerPattern> &Patterns, + bool DoRegPressureReduce) const override; /// Return true when Inst is associative and commutative so that it can be /// reassociated. bool isAssociativeAndCommutative(const MachineInstr &Inst) const override; @@ -280,12 +280,12 @@ public: bool shouldOutlineFromFunctionByDefault(MachineFunction &MF) const override; /// Returns the vector element size (B, H, S or D) of an SVE opcode. uint64_t getElementSizeForOpcode(unsigned Opc) const; - /// Returns true if the opcode is for an SVE instruction that sets the - /// condition codes as if it's results had been fed to a PTEST instruction - /// along with the same general predicate. - bool isPTestLikeOpcode(unsigned Opc) const; - /// Returns true if the opcode is for an SVE WHILE## instruction. - bool isWhileOpcode(unsigned Opc) const; + /// Returns true if the opcode is for an SVE instruction that sets the + /// condition codes as if it's results had been fed to a PTEST instruction + /// along with the same general predicate. + bool isPTestLikeOpcode(unsigned Opc) const; + /// Returns true if the opcode is for an SVE WHILE## instruction. + bool isWhileOpcode(unsigned Opc) const; /// Returns true if the instruction has a shift by immediate that can be /// executed in one cycle less. static bool isFalkorShiftExtFast(const MachineInstr &MI); @@ -299,13 +299,13 @@ public: Optional<ParamLoadedValue> describeLoadedValue(const MachineInstr &MI, Register Reg) const override; - static void decomposeStackOffsetForFrameOffsets(const StackOffset &Offset, - int64_t &NumBytes, - int64_t &NumPredicateVectors, - int64_t &NumDataVectors); - static void decomposeStackOffsetForDwarfOffsets(const StackOffset &Offset, - int64_t &ByteSized, - int64_t &VGSized); + static void decomposeStackOffsetForFrameOffsets(const StackOffset &Offset, + int64_t &NumBytes, + int64_t &NumPredicateVectors, + int64_t &NumDataVectors); + static void decomposeStackOffsetForDwarfOffsets(const StackOffset &Offset, + int64_t &ByteSized, + int64_t &VGSized); #define GET_INSTRINFO_HELPER_DECLS #include "AArch64GenInstrInfo.inc" @@ -334,12 +334,12 @@ private: /// Returns an unused general-purpose register which can be used for /// constructing an outlined call if one exists. Returns 0 otherwise. unsigned findRegisterToSaveLRTo(const outliner::Candidate &C) const; - - /// Remove a ptest of a predicate-generating operation that already sets, or - /// can be made to set, the condition codes in an identical manner - bool optimizePTestInstr(MachineInstr *PTest, unsigned MaskReg, - unsigned PredReg, - const MachineRegisterInfo *MRI) const; + + /// Remove a ptest of a predicate-generating operation that already sets, or + /// can be made to set, the condition codes in an identical manner + bool optimizePTestInstr(MachineInstr *PTest, unsigned MaskReg, + unsigned PredReg, + const MachineRegisterInfo *MRI) const; }; /// Return true if there is an instruction /after/ \p DefMI and before \p UseMI @@ -423,18 +423,18 @@ static inline bool isIndirectBranchOpcode(int Opc) { return false; } -static inline bool isPTrueOpcode(unsigned Opc) { - switch (Opc) { - case AArch64::PTRUE_B: - case AArch64::PTRUE_H: - case AArch64::PTRUE_S: - case AArch64::PTRUE_D: - return true; - default: - return false; - } -} - +static inline bool isPTrueOpcode(unsigned Opc) { + switch (Opc) { + case AArch64::PTRUE_B: + case AArch64::PTRUE_H: + case AArch64::PTRUE_S: + case AArch64::PTRUE_D: + return true; + default: + return false; + } +} + /// Return opcode to be used for indirect calls. unsigned getBLRCallOpcode(const MachineFunction &MF); @@ -442,7 +442,7 @@ unsigned getBLRCallOpcode(const MachineFunction &MF); #define TSFLAG_ELEMENT_SIZE_TYPE(X) (X) // 3-bits #define TSFLAG_DESTRUCTIVE_INST_TYPE(X) ((X) << 3) // 4-bit #define TSFLAG_FALSE_LANE_TYPE(X) ((X) << 7) // 2-bits -#define TSFLAG_INSTR_FLAGS(X) ((X) << 9) // 2-bits +#define TSFLAG_INSTR_FLAGS(X) ((X) << 9) // 2-bits // } namespace AArch64 { @@ -475,14 +475,14 @@ enum FalseLaneType { FalseLanesUndef = TSFLAG_FALSE_LANE_TYPE(0x2), }; -// NOTE: This is a bit field. -static const uint64_t InstrFlagIsWhile = TSFLAG_INSTR_FLAGS(0x1); -static const uint64_t InstrFlagIsPTestLike = TSFLAG_INSTR_FLAGS(0x2); - +// NOTE: This is a bit field. +static const uint64_t InstrFlagIsWhile = TSFLAG_INSTR_FLAGS(0x1); +static const uint64_t InstrFlagIsPTestLike = TSFLAG_INSTR_FLAGS(0x2); + #undef TSFLAG_ELEMENT_SIZE_TYPE #undef TSFLAG_DESTRUCTIVE_INST_TYPE #undef TSFLAG_FALSE_LANE_TYPE -#undef TSFLAG_INSTR_FLAGS +#undef TSFLAG_INSTR_FLAGS int getSVEPseudoMap(uint16_t Opcode); int getSVERevInstr(uint16_t Opcode); |