Lines Matching refs: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() {
82 bool FastISel::hasTrivialKill(const Value *V) const {
103 unsigned FastISel::getRegForValue(const Value *V) {
105 // Don't handle non-simple values in FastISel.
111 // of whether FastISel can handle them.
154 unsigned FastISel::materializeRegForValue(const Value *V, MVT VT) {
221 unsigned FastISel::lookUpRegForValue(const Value *V) {
238 void FastISel::UpdateValueMap(const Value *I, unsigned Reg, unsigned NumRegs) {
257 std::pair<unsigned, bool> FastISel::getRegForGEPIndex(const Value *Idx) {
281 void FastISel::recomputeInsertPt() {
295 FastISel::SavePoint FastISel::enterLocalValueArea() {
304 void FastISel::leaveLocalValueArea(SavePoint OldInsertPt) {
316 bool FastISel::SelectBinaryOp(const User *I, unsigned ISDOpcode) {
417 bool FastISel::SelectGetElementPtr(const User *I) {
488 bool FastISel::SelectCall(const User *I) {
652 bool FastISel::SelectCast(const User *I, unsigned Opcode) {
687 bool FastISel::SelectBitCast(const User *I) {
740 FastISel::SelectInstruction(const Instruction *I) {
769 FastISel::FastEmitBranch(MachineBasicBlock *MSucc, DebugLoc DL) {
783 FastISel::SelectFNeg(const User *I) {
827 FastISel::SelectExtractValue(const User *U) {
868 FastISel::SelectOperator(const User *I, unsigned Opcode) {
975 llvm_unreachable("FastISel shouldn't visit PHI nodes!");
983 FastISel::FastISel(FunctionLoweringInfo &funcInfo)
995 FastISel::~FastISel() {}
997 unsigned FastISel::FastEmit_(MVT, MVT,
1002 unsigned FastISel::FastEmit_r(MVT, MVT,
1008 unsigned FastISel::FastEmit_rr(MVT, MVT,
1015 unsigned FastISel::FastEmit_i(MVT, MVT, unsigned, uint64_t /*Imm*/) {
1019 unsigned FastISel::FastEmit_f(MVT, MVT,
1024 unsigned FastISel::FastEmit_ri(MVT, MVT,
1031 unsigned FastISel::FastEmit_rf(MVT, MVT,
1038 unsigned FastISel::FastEmit_rri(MVT, MVT,
1050 unsigned FastISel::FastEmit_ri_(MVT VT, unsigned Opcode,
1086 unsigned FastISel::createResultReg(const TargetRegisterClass* RC) {
1090 unsigned FastISel::FastEmitInst_(unsigned MachineInstOpcode,
1099 unsigned FastISel::FastEmitInst_r(unsigned MachineInstOpcode,
1118 unsigned FastISel::FastEmitInst_rr(unsigned MachineInstOpcode,
1139 unsigned FastISel::FastEmitInst_rrr(unsigned MachineInstOpcode,
1163 unsigned FastISel::FastEmitInst_ri(unsigned MachineInstOpcode,
1184 unsigned FastISel::FastEmitInst_rii(unsigned MachineInstOpcode,
1207 unsigned FastISel::FastEmitInst_rf(unsigned MachineInstOpcode,
1228 unsigned FastISel::FastEmitInst_rri(unsigned MachineInstOpcode,
1252 unsigned FastISel::FastEmitInst_i(unsigned MachineInstOpcode,
1268 unsigned FastISel::FastEmitInst_ii(unsigned MachineInstOpcode,
1285 unsigned FastISel::FastEmitInst_extractsubreg(MVT RetVT,
1299 unsigned FastISel::FastEmitZExtFromI1(MVT VT, unsigned Op0, bool Op0IsKill) {
1309 bool FastISel::HandlePHINodesInSuccessorBlocks(const BasicBlock *LLVMBB) {
1340 // own moves. Second, this check is necessary because FastISel doesn't