|
LLVM 22.0.0git
|
#include "X86.h"#include "X86InstrInfo.h"#include "llvm/ADT/DepthFirstIterator.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/EdgeBundles.h"#include "llvm/CodeGen/LiveRegUnits.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/Passes.h"#include "llvm/CodeGen/TargetInstrInfo.h"#include "llvm/CodeGen/TargetSubtargetInfo.h"#include "llvm/Config/llvm-config.h"#include "llvm/IR/InlineAsm.h"#include "llvm/InitializePasses.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetMachine.h"#include <algorithm>#include <bitset>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "x86-codegen" |
| #define | ASSERT_SORTED(TABLE) |
Functions | |
| STATISTIC (NumFXCH, "Number of fxch instructions inserted") | |
| STATISTIC (NumFP, "Number of floating point instructions") | |
| INITIALIZE_PASS_BEGIN (FPS, DEBUG_TYPE, "X86 FP Stackifier", false, false) INITIALIZE_PASS_END(FPS | |
| static unsigned | getFPReg (const MachineOperand &MO) |
| getFPReg - Return the X86::FPx register number for the specified operand. | |
| static int | Lookup (ArrayRef< TableEntry > Table, unsigned Opcode) |
| static unsigned | getConcreteOpcode (unsigned Opcode) |
| static bool | doesInstructionSetFPSW (MachineInstr &MI) |
| static MachineBasicBlock::iterator | getNextFPInstruction (MachineBasicBlock::iterator I) |
Variables | |
| DEBUG_TYPE | |
| X86 FP | Stackifier |
| X86 FP | false |
| static const TableEntry | OpcodeTable [] |
| static const TableEntry | PopTable [] |
| static const TableEntry | ForwardST0Table [] |
| static const TableEntry | ReverseST0Table [] |
| static const TableEntry | ForwardSTiTable [] |
| static const TableEntry | ReverseSTiTable [] |
| #define ASSERT_SORTED | ( | TABLE | ) |
Definition at line 621 of file X86FloatingPoint.cpp.
Referenced by getConcreteOpcode().
| #define DEBUG_TYPE "x86-codegen" |
Definition at line 51 of file X86FloatingPoint.cpp.
|
static |
Definition at line 847 of file X86FloatingPoint.cpp.
References llvm::MachineOperand::isDead(), and MI.
Definition at line 805 of file X86FloatingPoint.cpp.
References assert(), ASSERT_SORTED, Lookup(), Opc, and OpcodeTable.
|
static |
getFPReg - Return the X86::FPx register number for the specified operand.
For example, this returns 3 for X86::FP3.
Definition at line 313 of file X86FloatingPoint.cpp.
References assert(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isReg(), and Reg.
|
static |
Definition at line 856 of file X86FloatingPoint.cpp.
References I, llvm::X86::isX87Instruction(), MBB, and MI.
| INITIALIZE_PASS_BEGIN | ( | FPS | , |
| DEBUG_TYPE | , | ||
| "X86 FP Stackifier" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
|
static |
Definition at line 611 of file X86FloatingPoint.cpp.
References llvm::ArrayRef< T >::end(), I, and llvm::lower_bound().
Referenced by llvm::PointerSumType< TagT, MemberTs... >::cast(), llvm::PointerSumType< TagT, MemberTs... >::create(), llvm::TargetLowering::CTTZTableLookup(), llvm::PointerSumType< TagT, MemberTs... >::get(), getConcreteOpcode(), llvm::getExtInstName(), llvm::getLinkStringForBuiltIn(), llvm::SelectionDAG::getNodeIfExists(), llvm::ConstantUniqueMap< ConstantArray >::getOrCreate(), llvm::ReachingDefInfo::getReachingDef(), llvm::getSpirvBuiltInIdByName(), llvm::getSymbolicOperandMaxVersion(), llvm::getSymbolicOperandMinVersion(), llvm::getSymbolicOperandMnemonic(), llvm::orc::EPCGenericDylibManager::lookup(), llvm::orc::EPCGenericDylibManager::lookup(), llvm::orc::EPCGenericDylibManager::lookupAsync(), llvm::orc::EPCGenericDylibManager::lookupAsync(), llvm::ConstantUniqueMap< ConstantArray >::replaceOperandsInPlace(), llvm::PointerSumType< TagT, MemberTs... >::set(), and llvm::FunctionImporter::SortedImportList::SortedImportList().
| STATISTIC | ( | NumFP | , |
| "Number of floating point instructions" | ) |
| STATISTIC | ( | NumFXCH | , |
| "Number of fxch instructions inserted" | ) |
| DEBUG_TYPE |
Definition at line 306 of file X86FloatingPoint.cpp.
| X86 FP false |
Definition at line 307 of file X86FloatingPoint.cpp.
|
static |
Definition at line 1294 of file X86FloatingPoint.cpp.
|
static |
Definition at line 1326 of file X86FloatingPoint.cpp.
|
static |
Definition at line 640 of file X86FloatingPoint.cpp.
Referenced by getConcreteOpcode().
|
static |
Definition at line 819 of file X86FloatingPoint.cpp.
|
static |
Definition at line 1310 of file X86FloatingPoint.cpp.
|
static |
Definition at line 1342 of file X86FloatingPoint.cpp.
| X86 FP Stackifier |
Definition at line 306 of file X86FloatingPoint.cpp.