diff options
author | Nate Begeman <natebegeman@mac.com> | 2005-12-10 02:36:00 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2005-12-10 02:36:00 +0000 |
commit | 28a6b02626c29b1fe9bb16c14c193549fab4cab8 (patch) | |
tree | 1fa32d34f94b41b5126a3c766590188de4f00adb /lib/CodeGen | |
parent | b612ff956944014e6b637480487f00dbceda3b7e (diff) | |
download | external_llvm-28a6b02626c29b1fe9bb16c14c193549fab4cab8.zip external_llvm-28a6b02626c29b1fe9bb16c14c193549fab4cab8.tar.gz external_llvm-28a6b02626c29b1fe9bb16c14c193549fab4cab8.tar.bz2 |
Add support for TargetConstantPool nodes to the dag isel emitter, and use
them in the PPC backend, to simplify some logic out of Select and
SelectAddr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24657 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index c667487..620b643 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -532,6 +532,7 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) { case ISD::TargetFrameIndex: case ISD::Register: case ISD::TargetConstant: + case ISD::TargetConstantPool: case ISD::GlobalAddress: case ISD::TargetGlobalAddress: case ISD::ExternalSymbol: @@ -679,7 +680,8 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) { Extend = true; } - SDOperand CPIdx = DAG.getConstantPool(LLVMC, TLI.getPointerTy()); + SDOperand CPIdx = + LegalizeOp(DAG.getConstantPool(LLVMC, TLI.getPointerTy())); if (Extend) { Result = DAG.getExtLoad(ISD::EXTLOAD, MVT::f64, DAG.getEntryNode(), CPIdx, DAG.getSrcValue(NULL), MVT::f32); |