LLVM API Documentation
#include "X86.h"
#include "X86InstrInfo.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/STLExtras.h"
#include <algorithm>
#include <set>
Include dependency graph for X86FloatingPoint.cpp:
Go to the source code of this file.
Defines | |
#define | DEBUG_TYPE "fp" |
#define | ARRAY_SIZE(TABLE) (sizeof(TABLE)/sizeof(TABLE[0])) |
#define | ASSERT_SORTED(TABLE) |
Functions | |
FunctionPass * | llvm::createX86FloatingPointStackifierPass () |
static bool | TableIsSorted (const TableEntry *Table, unsigned NumEntries) |
static int | Lookup (const TableEntry *Table, unsigned N, unsigned Opcode) |
static unsigned | getFPReg (const MachineOperand &MO) |
Variables | |
static const TableEntry | PopTable [] |
static const TableEntry | ForwardST0Table [] |
static const TableEntry | ReverseST0Table [] |
static const TableEntry | ForwardSTiTable [] |
static const TableEntry | ReverseSTiTable [] |
|
Definition at line 284 of file X86FloatingPoint.cpp. |
|
Value: { static bool TABLE##Checked = false; \ if (!TABLE##Checked) \ assert(TableIsSorted(TABLE, ARRAY_SIZE(TABLE)) && \ "All lookup tables must be sorted for efficient access!"); \ } Definition at line 290 of file X86FloatingPoint.cpp. |
|
Definition at line 31 of file X86FloatingPoint.cpp. |
|
Definition at line 377 of file X86FloatingPoint.cpp. References llvm::MachineOperand::getReg(), and llvm::MachineOperand::isRegister(). |
|
Definition at line 277 of file X86FloatingPoint.cpp. |
|
Definition at line 271 of file X86FloatingPoint.cpp. |
|
Initial value: { { X86::FpADD , X86::FADDST0r }, { X86::FpDIV , X86::FDIVST0r }, { X86::FpMUL , X86::FMULST0r }, { X86::FpSUB , X86::FSUBST0r }, } Definition at line 478 of file X86FloatingPoint.cpp. |
|
Initial value: { { X86::FpADD , X86::FADDrST0 }, { X86::FpDIV , X86::FDIVRrST0 }, { X86::FpMUL , X86::FMULrST0 }, { X86::FpSUB , X86::FSUBRrST0 }, } Definition at line 494 of file X86FloatingPoint.cpp. |
|
|
|
|
|
Initial value: { { X86::FADDrST0 , X86::FADDPrST0 }, { X86::FDIVRrST0, X86::FDIVRPrST0 }, { X86::FDIVrST0 , X86::FDIVPrST0 }, { X86::FIST16m , X86::FISTP16m }, { X86::FIST32m , X86::FISTP32m }, { X86::FMULrST0 , X86::FMULPrST0 }, { X86::FST32m , X86::FSTP32m }, { X86::FST64m , X86::FSTP64m }, { X86::FSTrr , X86::FSTPrr }, { X86::FSUBRrST0, X86::FSUBRPrST0 }, { X86::FSUBrST0 , X86::FSUBPrST0 }, { X86::FUCOMIr , X86::FUCOMIPr }, { X86::FUCOMPr , X86::FUCOMPPr }, { X86::FUCOMr , X86::FUCOMPr }, } Definition at line 306 of file X86FloatingPoint.cpp. |
|
Initial value: { { X86::FpADD , X86::FADDST0r }, { X86::FpDIV , X86::FDIVRST0r }, { X86::FpMUL , X86::FMULST0r }, { X86::FpSUB , X86::FSUBRST0r }, } Definition at line 486 of file X86FloatingPoint.cpp. |
|
Initial value: { { X86::FpADD , X86::FADDrST0 }, { X86::FpDIV , X86::FDIVrST0 }, { X86::FpMUL , X86::FMULrST0 }, { X86::FpSUB , X86::FSUBrST0 }, } Definition at line 502 of file X86FloatingPoint.cpp. |