diff options
author | Duncan Sands <baldrick@free.fr> | 2008-01-23 20:39:46 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2008-01-23 20:39:46 +0000 |
commit | 082524cde46d15558f6270208e32cea0fe774586 (patch) | |
tree | ace2a0ea1f07e07713489624acaf2c0d3904621d /lib/Target/Sparc | |
parent | c43fa6c1eedab4f4004617b7e1fe772f97acac82 (diff) | |
download | external_llvm-082524cde46d15558f6270208e32cea0fe774586.zip external_llvm-082524cde46d15558f6270208e32cea0fe774586.tar.gz external_llvm-082524cde46d15558f6270208e32cea0fe774586.tar.bz2 |
The last pieces needed for loading arbitrary
precision integers. This won't actually work
(and most of the code is dead) unless the new
legalization machinery is turned on. While
there, I rationalized the handling of i1, and
removed some bogus (and unused) sextload patterns.
For i1, this could result in microscopically
better code for some architectures (not X86).
It might also result in worse code if annotating
with AssertZExt nodes turns out to be more harmful
than helpful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46280 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc')
-rw-r--r-- | lib/Target/Sparc/SparcISelDAGToDAG.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/Sparc/SparcISelDAGToDAG.cpp b/lib/Target/Sparc/SparcISelDAGToDAG.cpp index df63f20..7c3e2a7 100644 --- a/lib/Target/Sparc/SparcISelDAGToDAG.cpp +++ b/lib/Target/Sparc/SparcISelDAGToDAG.cpp @@ -138,7 +138,10 @@ SparcTargetLowering::SparcTargetLowering(TargetMachine &TM) // Turn FP extload into load/fextend setLoadXAction(ISD::EXTLOAD, MVT::f32, Expand); - + + // Sparc doesn't have i1 sign extending load + setLoadXAction(ISD::SEXTLOAD, MVT::i1, Promote); + // Custom legalize GlobalAddress nodes into LO/HI parts. setOperationAction(ISD::GlobalAddress, MVT::i32, Custom); setOperationAction(ISD::GlobalTLSAddress, MVT::i32, Custom); |