aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-12-10 02:36:00 +0000
committerNate Begeman <natebegeman@mac.com>2005-12-10 02:36:00 +0000
commit28a6b02626c29b1fe9bb16c14c193549fab4cab8 (patch)
tree1fa32d34f94b41b5126a3c766590188de4f00adb /lib/CodeGen
parentb612ff956944014e6b637480487f00dbceda3b7e (diff)
downloadexternal_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.cpp4
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);