Home | History | Annotate | Download | only in SelectionDAG

Lines Matching defs:FastISel

1 //===-- FastISel.cpp - Implementation of the FastISel class ---------------===//
10 // This file contains the implementation of the FastISel class.
48 #include "llvm/CodeGen/FastISel.h"
66 void FastISel::startNewBlock() {
81 void FastISel::flushLocalValueMap() {
87 bool FastISel::hasTrivialKill(const Value *V) const {
108 unsigned FastISel::getRegForValue(const Value *V) {
110 // Don't handle non-simple values in FastISel.
116 // of whether FastISel can handle them.
159 unsigned FastISel::materializeRegForValue(const Value *V, MVT VT) {
226 unsigned FastISel::lookUpRegForValue(const Value *V) {
243 void FastISel::UpdateValueMap(const Value *I, unsigned Reg, unsigned NumRegs) {
262 std::pair<unsigned, bool> FastISel::getRegForGEPIndex(const Value *Idx) {
286 void FastISel::recomputeInsertPt() {
300 FastISel::SavePoint FastISel::enterLocalValueArea() {
309 void FastISel::leaveLocalValueArea(SavePoint OldInsertPt) {
321 bool FastISel::SelectBinaryOp(const User *I, unsigned ISDOpcode) {
422 bool FastISel::SelectGetElementPtr(const User *I) {
493 bool FastISel::SelectCall(const User *I) {
664 bool FastISel::SelectCast(const User *I, unsigned Opcode) {
699 bool FastISel::SelectBitCast(const User *I) {
752 FastISel::SelectInstruction(const Instruction *I) {
781 FastISel::FastEmitBranch(MachineBasicBlock *MSucc, DebugLoc DL) {
795 FastISel::SelectFNeg(const User *I) {
839 FastISel::SelectExtractValue(const User *U) {
880 FastISel::SelectOperator(const User *I, unsigned Opcode) {
987 llvm_unreachable("FastISel shouldn't visit PHI nodes!");
995 FastISel::FastISel(FunctionLoweringInfo &funcInfo)
1007 FastISel::~FastISel() {}
1009 unsigned FastISel::FastEmit_(MVT, MVT,
1014 unsigned FastISel::FastEmit_r(MVT, MVT,
1020 unsigned FastISel::FastEmit_rr(MVT, MVT,
1027 unsigned FastISel::FastEmit_i(MVT, MVT, unsigned, uint64_t /*Imm*/) {
1031 unsigned FastISel::FastEmit_f(MVT, MVT,
1036 unsigned FastISel::FastEmit_ri(MVT, MVT,
1043 unsigned FastISel::FastEmit_rf(MVT, MVT,
1050 unsigned FastISel::FastEmit_rri(MVT, MVT,
1062 unsigned FastISel::FastEmit_ri_(MVT VT, unsigned Opcode,
1098 unsigned FastISel::createResultReg(const TargetRegisterClass* RC) {
1102 unsigned FastISel::FastEmitInst_(unsigned MachineInstOpcode,
1111 unsigned FastISel::FastEmitInst_r(unsigned MachineInstOpcode,
1130 unsigned FastISel::FastEmitInst_rr(unsigned MachineInstOpcode,
1151 unsigned FastISel::FastEmitInst_rrr(unsigned MachineInstOpcode,
1175 unsigned FastISel::FastEmitInst_ri(unsigned MachineInstOpcode,
1196 unsigned FastISel::FastEmitInst_rii(unsigned MachineInstOpcode,
1219 unsigned FastISel::FastEmitInst_rf(unsigned MachineInstOpcode,
1240 unsigned FastISel::FastEmitInst_rri(unsigned MachineInstOpcode,
1264 unsigned FastISel::FastEmitInst_i(unsigned MachineInstOpcode,
1280 unsigned FastISel::FastEmitInst_ii(unsigned MachineInstOpcode,
1297 unsigned FastISel::FastEmitInst_extractsubreg(MVT RetVT,
1311 unsigned FastISel::FastEmitZExtFromI1(MVT VT, unsigned Op0, bool Op0IsKill) {
1321 bool FastISel::HandlePHINodesInSuccessorBlocks(const BasicBlock *LLVMBB) {
1352 // own moves. Second, this check is necessary because FastISel doesn't