diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-08-26 20:25:03 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-08-26 20:25:03 +0000 |
| commit | b2854fadda9048c2713c8e14f790769b60eae6e8 (patch) | |
| tree | 252b9de33d0803ef4184b2637d664ca214c183c4 /llvm/lib/Target/PowerPC/PPCISelLowering.h | |
| parent | c36c9bdb5d926409496ab7b00d0d743335e2ee85 (diff) | |
| download | bcm5719-llvm-b2854fadda9048c2713c8e14f790769b60eae6e8.tar.gz bcm5719-llvm-b2854fadda9048c2713c8e14f790769b60eae6e8.zip | |
Make fsel emission work with both the pattern and dag-dag selectors, by
giving it a non-instruction opcode. The dag->dag selector used to not
select the operands of the fsel, because it thought that whole tree was
already selected.
llvm-svn: 23091
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelLowering.h')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCISelLowering.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.h b/llvm/lib/Target/PowerPC/PPCISelLowering.h index aa01934aa1e..b2dd4daedde 100644 --- a/llvm/lib/Target/PowerPC/PPCISelLowering.h +++ b/llvm/lib/Target/PowerPC/PPCISelLowering.h @@ -1,4 +1,4 @@ -//===-- PPC32ISelLowering.cpp - PPC32 DAG Lowering Impl. --------*- C++ -*-===// +//===-- PPC32ISelLowering.h - PPC32 DAG Lowering Interface ------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -16,8 +16,21 @@ #define LLVM_TARGET_POWERPC_PPC32ISELLOWERING_H #include "llvm/Target/TargetLowering.h" +#include "llvm/CodeGen/SelectionDAG.h" +#include "PowerPC.h" namespace llvm { + namespace PPCISD { + enum NodeType { + // Start the numbering where the builting ops and target ops leave off. + FIRST_NUMBER = ISD::BUILTIN_OP_END+PPC::INSTRUCTION_LIST_END, + + /// FSEL - Traditional three-operand fsel node. + /// + FSEL, + }; + } + class PPC32TargetLowering : public TargetLowering { int VarArgsFrameIndex; // FrameIndex for start of varargs area. int ReturnAddrIndex; // FrameIndex for return slot. |

