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 | 0bbea954331b8f08afa5b094dfb0841829c70eaa (patch) | |
tree | 366b80f259411786aef2c8a6c4d28c1c67fad3ee /lib/Target/PowerPC/PPCISelLowering.h | |
parent | 9fdd6e3f50b7fdafff9aa0e1bac0bd2a78d03d71 (diff) | |
download | external_llvm-0bbea954331b8f08afa5b094dfb0841829c70eaa.zip external_llvm-0bbea954331b8f08afa5b094dfb0841829c70eaa.tar.gz external_llvm-0bbea954331b8f08afa5b094dfb0841829c70eaa.tar.bz2 |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23091 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCISelLowering.h')
-rw-r--r-- | lib/Target/PowerPC/PPCISelLowering.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/Target/PowerPC/PPCISelLowering.h b/lib/Target/PowerPC/PPCISelLowering.h index aa01934..b2dd4da 100644 --- a/lib/Target/PowerPC/PPCISelLowering.h +++ b/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. |