LLVM API Documentation
#include "PPC.h"#include "PPCTargetMachine.h"#include "PPCISelLowering.h"#include "PPCHazardRecognizers.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/SSARegMap.h"#include "llvm/CodeGen/SelectionDAG.h"#include "llvm/CodeGen/SelectionDAGISel.h"#include "llvm/Target/TargetOptions.h"#include "llvm/ADT/Statistic.h"#include "llvm/Constants.h"#include "llvm/GlobalValue.h"#include "llvm/Intrinsics.h"#include "llvm/Support/Debug.h"#include "llvm/Support/MathExtras.h"#include <iostream>#include <set>#include "PPCGenDAGISel.inc"Include dependency graph for PPCISelDAGToDAG.cpp:

Go to the source code of this file.
Functions | |
| static bool | isIntImmediate (SDNode *N, unsigned &Imm) |
| static bool | isRunOfOnes (unsigned Val, unsigned &MB, unsigned &ME) |
| static bool | isRotateAndMask (SDNode *N, unsigned Mask, bool IsShiftMask, unsigned &SH, unsigned &MB, unsigned &ME) |
| static bool | isOpcWithIntImmediate (SDNode *N, unsigned Opc, unsigned &Imm) |
| static bool | isIntImmediate (SDOperand N, unsigned &Imm) |
| static unsigned | getBCCForSetCC (ISD::CondCode CC) |
| static unsigned | getCRIdxForSetCC (ISD::CondCode CC, bool &Inv) |
| static bool | isCallCompatibleAddress (ConstantSDNode *C) |
| FunctionPass * | llvm::createPPCISelDag (PPCTargetMachine &TM) |
Variables | |
| Statistic | FrameOff ("ppc-codegen","Number of frame idx offsets collapsed") |
| PPCTargetMachine & | TM |
| PPCTargetLowering | PPCLowering |
| unsigned | GlobalBaseReg |
| std::map< SDOperand, SDOperand > | CodeGenMap |
| std::map< SDOperand, SDOperand > | HandleMap |
| std::map< SDOperand, SDOperand > | ReplaceMap |
| static unsigned getBCCForSetCC | ( | ISD::CondCode | CC | ) | [static] |
getBCCForSetCC - Returns the PowerPC condition branch mnemonic corresponding to Condition.
Definition at line 743 of file PPCISelDAGToDAG.cpp.
References abort(), SETEQ, SETGE, SETGT, SETLE, SETLT, SETNE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, and llvm::ISD::SETUO.
| static unsigned getCRIdxForSetCC | ( | ISD::CondCode | CC, | |
| bool & | Inv | |||
| ) | [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.
Definition at line 772 of file PPCISelDAGToDAG.cpp.
References abort(), SETEQ, SETGE, SETGT, SETLE, SETLT, SETNE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, and llvm::ISD::SETUO.
| static bool isCallCompatibleAddress | ( | ConstantSDNode * | C | ) | [static] |
isCallCompatibleAddress - Return true if the specified 32-bit value is representable in the immediate field of a Bx instruction.
Definition at line 901 of file PPCISelDAGToDAG.cpp.
References llvm::CallingConv::C.
| static bool isIntImmediate | ( | SDOperand | N, | |
| unsigned & | Imm | |||
| ) | [static] |
Definition at line 384 of file PPCISelDAGToDAG.cpp.
| static bool isIntImmediate | ( | SDNode * | N, | |
| unsigned & | Imm | |||
| ) | [static] |
Definition at line 301 of file PPCISelDAGToDAG.cpp.
References llvm::ISD::Constant, and llvm::SDNode::getOpcode().
Referenced by isOpcWithIntImmediate(), and isRotateAndMask().
| static bool isOpcWithIntImmediate | ( | SDNode * | N, | |
| unsigned | Opc, | |||
| unsigned & | Imm | |||
| ) | [static] |
Definition at line 378 of file PPCISelDAGToDAG.cpp.
References llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), isIntImmediate(), and llvm::SDOperand::Val.
| static bool isRotateAndMask | ( | SDNode * | N, | |
| unsigned | Mask, | |||
| bool | IsShiftMask, | |||
| unsigned & | SH, | |||
| unsigned & | MB, | |||
| unsigned & | ME | |||
| ) | [static] |
Definition at line 336 of file PPCISelDAGToDAG.cpp.
References llvm::SDNode::getNumOperands(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), llvm::SDNode::getValueType(), llvm::MVT::i32, isIntImmediate(), isRunOfOnes(), SHL, llvm::ISD::SRL, and llvm::SDOperand::Val.
| static bool isRunOfOnes | ( | unsigned | Val, | |
| unsigned & | MB, | |||
| unsigned & | ME | |||
| ) | [static] |
Definition at line 313 of file PPCISelDAGToDAG.cpp.
References llvm::CountLeadingZeros_32(), and llvm::isShiftedMask_32().
Referenced by isRotateAndMask().
| std::map<SDOperand, SDOperand> CodeGenMap |
Definition at line 164 of file PPCISelDAGToDAG.cpp.
| unsigned GlobalBaseReg |
Definition at line 45 of file PPCISelDAGToDAG.cpp.
Definition at line 167 of file PPCISelDAGToDAG.cpp.
Definition at line 44 of file PPCISelDAGToDAG.cpp.
| std::map<SDOperand, SDOperand> ReplaceMap |
Definition at line 170 of file PPCISelDAGToDAG.cpp.
Definition at line 43 of file PPCISelDAGToDAG.cpp.