LLVM API Documentation
#include "PPC.h"#include "PPCPredicates.h"#include "PPCTargetMachine.h"#include "PPCISelLowering.h"#include "PPCHazardRecognizers.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/SelectionDAG.h"#include "llvm/CodeGen/SelectionDAGISel.h"#include "llvm/Target/TargetOptions.h"#include "llvm/Constants.h"#include "llvm/GlobalValue.h"#include "llvm/Intrinsics.h"#include "llvm/Support/Debug.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/Compiler.h"#include "PPCGenDAGISel.inc"
Go to the source code of this file.
Defines | |
| #define | DEBUG_TYPE "ppc-codegen" |
Functions | |
| static bool | isIntS16Immediate (SDNode *N, short &Imm) |
| static bool | isIntS16Immediate (SDValue Op, short &Imm) |
| static bool | isInt32Immediate (SDNode *N, unsigned &Imm) |
| static bool | isInt64Immediate (SDNode *N, uint64_t &Imm) |
| static bool | isInt32Immediate (SDValue N, unsigned &Imm) |
| static bool | isOpcWithIntImmediate (SDNode *N, unsigned Opc, unsigned &Imm) |
| static PPC::Predicate | getPredicateForSetCC (ISD::CondCode CC) |
| static unsigned | getCRIdxForSetCC (ISD::CondCode CC, bool &Invert, int &Other) |
| FunctionPass * | llvm::createPPCISelDag (PPCTargetMachine &TM) |
| #define DEBUG_TYPE "ppc-codegen" |
Definition at line 15 of file PPCISelDAGToDAG.cpp.
| static unsigned getCRIdxForSetCC | ( | ISD::CondCode | CC, | |
| bool & | Invert, | |||
| int & | Other | |||
| ) | [static] |
getCRIdxForSetCC - Return the index of the condition register field associated with the SetCC condition, and whether or not the field is treated as inverted. That is, lt = 0; ge = 0 inverted.
If this returns with Other != -1, then the returned comparison is an or of two simpler comparisons. In this case, Invert is guaranteed to be false.
Definition at line 622 of file PPCISelDAGToDAG.cpp.
References llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, llvm::ISD::SETUNE, and llvm::ISD::SETUO.
| static PPC::Predicate getPredicateForSetCC | ( | ISD::CondCode | CC | ) | [static] |
Definition at line 588 of file PPCISelDAGToDAG.cpp.
References llvm::PPC::PRED_EQ, llvm::PPC::PRED_GE, llvm::PPC::PRED_GT, llvm::PPC::PRED_LE, llvm::PPC::PRED_LT, llvm::PPC::PRED_NE, llvm::PPC::PRED_NU, llvm::PPC::PRED_UN, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, llvm::ISD::SETUNE, and llvm::ISD::SETUO.
Definition at line 340 of file PPCISelDAGToDAG.cpp.
References llvm::SDValue::getNode(), and isInt32Immediate().
isInt32Immediate - This method tests to see if the node is a 32-bit constant operand. If so Imm will receive the 32-bit value.
Definition at line 320 of file PPCISelDAGToDAG.cpp.
References llvm::ISD::Constant, llvm::SDNode::getOpcode(), and llvm::SDNode::getValueType().
Referenced by isInt32Immediate(), and isOpcWithIntImmediate().
| static bool isInt64Immediate | ( | SDNode * | N, | |
| uint64_t & | Imm | |||
| ) | [static] |
isInt64Immediate - This method tests to see if the node is a 64-bit constant operand. If so Imm will receive the 64-bit value.
Definition at line 330 of file PPCISelDAGToDAG.cpp.
References llvm::ISD::Constant, llvm::SDNode::getOpcode(), and llvm::SDNode::getValueType().
| static bool isIntS16Immediate | ( | SDValue | Op, | |
| short & | Imm | |||
| ) | [static] |
Definition at line 313 of file PPCISelDAGToDAG.cpp.
References llvm::SDValue::getNode(), and isIntS16Immediate().
| static bool isIntS16Immediate | ( | SDNode * | N, | |
| short & | Imm | |||
| ) | [static] |
isIntS16Immediate - This method tests to see if the node is either a 32-bit or 64-bit immediate, and if the value can be accurately represented as a sign extension from a 16-bit value. If so, this returns true and the immediate.
Definition at line 302 of file PPCISelDAGToDAG.cpp.
References llvm::ISD::Constant, llvm::SDNode::getOpcode(), and llvm::SDNode::getValueType().
Definition at line 348 of file PPCISelDAGToDAG.cpp.
References llvm::SDValue::getNode(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), and isInt32Immediate().
Definition at line 44 of file PPCISelDAGToDAG.cpp.
| SelectionDAG::allnodes_iterator& ISelPosition |
ISelPosition - Node iterator marking the current position of instruction selection as it procedes through the topologically-sorted node list.
Definition at line 232 of file PPCISelDAGToDAG.cpp.
Definition at line 42 of file PPCISelDAGToDAG.cpp.
| const PPCSubtarget& PPCSubTarget |
Definition at line 43 of file PPCISelDAGToDAG.cpp.
Definition at line 41 of file PPCISelDAGToDAG.cpp.