Add initial support for selecting constant materializations that require constant

pool loads on X86 in fast isel.  This isn't actually used yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55814 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson
2008-09-05 00:06:23 +00:00
parent 6e3f05f5ce
commit 95267a1e67
3 changed files with 96 additions and 2 deletions

View File

@@ -22,6 +22,7 @@ namespace llvm {
class ConstantFP;
class MachineBasicBlock;
class MachineConstantPool;
class MachineFunction;
class MachineRegisterInfo;
class TargetData;
@@ -215,9 +216,14 @@ protected:
/// from a specified index of a superregister.
unsigned FastEmitInst_extractsubreg(unsigned Op0, uint32_t Idx);
void UpdateValueMap(Instruction* I, unsigned Reg);
void UpdateValueMap(Value* I, unsigned Reg);
unsigned createResultReg(const TargetRegisterClass *RC);
virtual unsigned TargetSelectConstantPoolLoad(Constant* C,
MachineConstantPool* MCP) {
return 0;
}
private:
bool SelectBinaryOp(Instruction *I, ISD::NodeType ISDOpcode);