aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-02-14Fix a latent bug in the call sequence handling stuff. Some targets (e.g. x86)Chris Lattner
create these nodes with flag results. Remember that we legalized them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26156 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Implement Instcombine/and.ll:test34Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26155 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26154 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Fix typo that caused build failures for things trying to use m_Or.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26153 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13If any of the sign extended bits are demanded, the input sign bit is demandedChris Lattner
for a sign extension. This fixes InstCombine/2006-02-13-DemandedMiscompile.ll and Ptrdist/bc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26152 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13testcase reduced from Ptrdist/bc that is miscompiled by recent instcombine ↵Chris Lattner
changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26151 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Another hack due to allowing multiple symbols with the same name.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26150 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Another work around for the 'symbols with different types can have the sameChris Lattner
name' issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26149 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13improved zap discoveryAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26148 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13test for improved zap discoveryAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26147 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Sync up the tag numbers with gcc4.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26146 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Rename to better reflect usage (current and planned.)Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26145 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Completely rewrite libcall insertion by the legalizer, providing theChris Lattner
following handy-dandy properties: 1. it is always correct now 2. it is much faster than before 3. it is easier to understand This implementation builds off of the recent simplifications of the legalizer that made it single-pass instead of iterative. This fixes JM/lencod, JM/ldecod, and CodeGen/Generic/2006-02-12-InsertLibcall.ll (at least on PPC). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26144 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Switch targets over to using SelectionDAG::getCALLSEQ_START to createChris Lattner
CALLSEQ_START nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26143 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Switch to using getCALLSEQ_START instead of using our own creation callsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26142 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Add a methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26141 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13this passes now, due to Nate's recent effortsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26140 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Reduce this testcase a bit more, with the help of llvm-extract and some hand ↵Chris Lattner
tweaks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26139 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13Be careful not to request or look at bits shifted in from outside the sizeChris Lattner
of the input. This fixes the mediabench/gsm/toast failure last night. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26138 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12Added a test case for a libcall insertion bug.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26137 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12Add missing patterns for andi. and andis., fixing test/Regression/CodeGen/Nate Begeman
PowerPC/and-imm.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26136 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12remove some more dead special case codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26135 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12Eliminate special case hacks that are superceded by general purpose hacksChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26134 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12tweaksChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26133 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12Three changes:Chris Lattner
1. Teach GetConstantInType to handle boolean constants. 2. Teach instcombine to fold (compare X, CST) when X has known 0/1 bits. Testcase here: set.ll:test22 3. Improve the "(X >> c1) & C2 == 0" folding code to allow a noop cast between the shift and and. More aggressive bitfolding for other reasons was turning signed shr's into unsigned shr's, leaving the noop cast in the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26131 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26130 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12move a failing testcase from bit-tracking.ll to narrow.ll, and move theChris Lattner
xfail marker with it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26129 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12Revert my last patch. It too breaks stuffChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26128 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12Make these tests fail if opt crashes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26127 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11Fix for my previously reverted patchChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26126 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11Update comments to be actually accurateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26124 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11This is implemented by the simplify-libcalls pass, not instcombineChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26123 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11Port the recent innovations in ComputeMaskedBits to SimplifyDemandedBits.Chris Lattner
This allows us to simplify on conditions where bits are not known, but they are not demanded either! This also fixes a couple of bugs in ComputeMaskedBits that were exposed during this work. In the future, swaths of instcombine should be removed, as this code subsumes a bunch of ad-hockery. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26122 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11revert my previous change, it exposed other problems.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26121 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11fix storing booleans (grawp missed this one)Duraid Madina
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26120 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11now short immediates will get matched (previously constants were allDuraid Madina
triggering movl 64bit imm fat instructions) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26119 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11Make this check stricter. Disallow loop exit blocks from being shared byChris Lattner
loops and their subloops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26118 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11Prevent certain nodes that have already been selected from being folded intoEvan Cheng
X86 addressing mode. Currently we do not allow any node whose target node produces a chain as well as any node that is at the root of the addressing mode expression tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26117 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11remove dead exprChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26116 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11Reorg for integration with gcc4. Old style debug info will not be passed thoughJim Laskey
to SelIDAG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11implement unswitching of loops with switch stmts and selects in themChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26114 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Update PHI nodes in successors of exit blocks.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26113 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Reform the unswitching code in terms of edge splitting, not block splitting.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26112 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Nicer code. :-)Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26111 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Added X86 isel debugging stuff.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26110 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Remove a level of indirection.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26109 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Fix a case where UnswitchTrivialCondition broke critical edges withChris Lattner
phi's in the successors git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26108 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Use the auto-generated call matcher. Remove a broken impl of the ↵Chris Lattner
frameaddr/returnaddr intrinsics. Autogen frameindex matcher git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26107 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Update to new-style flags usage, simplifying the .td fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26106 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-10Remove a completed entry; add a new entry about fisttp opEvan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26105 91177308-0d34-0410-b5e6-96231b3b80d8