summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Alpha/AlphaISelLowering.h
diff options
context:
space:
mode:
authorAndrew Lenharth <andrewl@lenharth.org>2005-11-30 07:19:56 +0000
committerAndrew Lenharth <andrewl@lenharth.org>2005-11-30 07:19:56 +0000
commit6db615df14968c297f80c2a099867e84b25ba7df (patch)
tree0a576c0e3f6aa45fdee0c6a7af72c9376c60acbb /llvm/lib/Target/Alpha/AlphaISelLowering.h
parent8d17c701719960de9d14338fa93a4318ace0e167 (diff)
downloadbcm5719-llvm-6db615df14968c297f80c2a099867e84b25ba7df.tar.gz
bcm5719-llvm-6db615df14968c297f80c2a099867e84b25ba7df.zip
All sorts of stuff.
Getting in on the custom lowering thing, yay evilness with fp setcc, yuck trivial int select, hmmm in memory args for functions, yay DIV and REM, always handy. They should be custom lowered though. Lots more stuff compiles now (go go single source!). Of course, none of it probably works, but that is what the nightly tester can find out :) llvm-svn: 24533
Diffstat (limited to 'llvm/lib/Target/Alpha/AlphaISelLowering.h')
-rw-r--r--llvm/lib/Target/Alpha/AlphaISelLowering.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/Target/Alpha/AlphaISelLowering.h b/llvm/lib/Target/Alpha/AlphaISelLowering.h
index 2bcd526d8fd..378ec0f9247 100644
--- a/llvm/lib/Target/Alpha/AlphaISelLowering.h
+++ b/llvm/lib/Target/Alpha/AlphaISelLowering.h
@@ -25,6 +25,8 @@ namespace llvm {
enum NodeType {
// Start the numbering where the builting ops and target ops leave off.
FIRST_NUMBER = ISD::BUILTIN_OP_END+Alpha::INSTRUCTION_LIST_END,
+ //These corrospond to the identical Instruction
+ ITOFT_, FTOIT_, CVTQT_, CVTQS_,
};
}
@@ -33,9 +35,14 @@ namespace llvm {
int VarArgsBase; // What is the base FrameIndex
unsigned GP; //GOT vreg
unsigned RA; //Return Address
+ bool useITOF;
public:
AlphaTargetLowering(TargetMachine &TM);
-
+
+ /// LowerOperation - Provide custom lowering hooks for some operations.
+ ///
+ virtual SDOperand LowerOperation(SDOperand Op, SelectionDAG &DAG);
+
/// LowerArguments - This hook must be implemented to indicate how we should
/// lower the arguments for the specified function, into the specified DAG.
virtual std::vector<SDOperand>
@@ -61,6 +68,7 @@ namespace llvm {
void restoreRA(MachineBasicBlock* BB);
unsigned getVRegGP() { return GP; }
unsigned getVRegRA() { return RA; }
+ bool hasITOF() { return useITOF; }
};
}
OpenPOWER on IntegriCloud