aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-10-17Make it simplier to dump DAGs while in DAGCombiner. Remove a nasty ↵Jim Laskey
optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31009 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17remove extra [] in storesRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31008 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17Enable deleting branches to successor blocks. With the previous patches,Chris Lattner
branch folding can now compile stuff like this: void foo(int W, int X, int Y, int Z) { if (W & 1) { for (; X;--X) bar(); } else if (W & 2) { for (; Y;--Y) bar(); } else if (W & 4) { for (; Z;--Z) bar(); } else if (W & 8) { for (; W;--W) bar(); } if (W) { bar(); } } contrived testcase where loops exits all end up merging together. To have the loop merges be: ... cmplw cr0, r30, r27 bne cr0, LBB1_14 ;bb38 LBB1_16: ;cond_next48.loopexit mr r27, r29 LBB1_20: ;cond_next48 cmplwi cr0, r27, 0 beq cr0, LBB1_22 ;UnifiedReturnBlock ... instead of: ... cmplw cr0, r30, r27 bne cr0, LBB1_14 ;bb38 LBB1_16: ;cond_next48.loopexit mr r27, r29 b LBB1_20 ;cond_next48 LBB1_17: ;cond_next48.loopexit1 b LBB1_20 ;cond_next48 LBB1_18: ;cond_next48.loopexit2 b LBB1_20 ;cond_next48 LBB1_19: ;cond_next48.loopexit3 LBB1_20: ;cond_next48 cmplwi cr0, r27, 0 beq cr0, LBB1_22 ;UnifiedReturnBlock ... This is CodeGen/PowerPC/branch-opt.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31006 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31005 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17add support for inserting an uncond branchChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31003 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17initial implementation of addressing mode 5Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31002 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17Clean up interface to getGlobalLinkName.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31001 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17Reenable this pass, fixing the bugs in it.Chris Lattner
It now correctly deletes unreachable blocks and blocks that are empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31000 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17Make sure operand does have size and element type operands.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30999 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17add the immediate to the Offset in eliminateFrameIndexRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30998 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17Basic support for getGlobalLinkName.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30997 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17add FSTD and FSTSRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30996 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17add FCPYS and FCPYDRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30995 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17Use S_debug for dwarf info.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30994 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17Proper fix.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30993 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16One more try.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30992 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16Undo Chris' last patch, it caused a regression.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30991 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16Unbreak x86-64 build.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30990 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16Be careful when looking through a vbit_convert. Optimizing this:Evan Cheng
(vector_shuffle (vbitconvert (vbuildvector (copyfromreg v4f32), 1, v4f32), 4, f32), (undef, undef, undef, undef), (0, 0, 0, 0), 4, f32) to the vbitconvert is a very bad idea. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30989 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16add fdivs e fdivdRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30988 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16expand ISD::SHL_PARTS, ISD::SRA_PARTS and ISD::SRL_PARTSRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30987 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16Added a X86CompilationCallback variant which saves XMM argument registers ↵Evan Cheng
for targets with SSE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30986 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16Proper fix for rdar://problem/4770604 Thanks to Stuart Hastings!Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30985 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16Pass AliasAnalysis thru to DAGCombiner.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30984 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16add a ReplaceMBBInJumpTables methodChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30983 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16Global name regression.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30982 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16define the DFPBinOp classRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30981 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16add the FPBinOp classRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30980 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16define the Addr1BinOp classRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30979 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16define the IntBinOp class and use it to implement the multiply instructionsRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30978 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16fix assembly syntaxRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30977 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16implement LDRB, LDRSB, LDRH and LDRSHRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30976 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16implement smull and umullRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30975 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16Avoid getting into an infinite loop when -disable-x86-shuffle-opti is specified.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30974 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16SelectScalarSSELoad should call CanBeFoldedBy as well.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30973 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16Passing isel root and use operands to ComplexPattern functions, these should ↵Evan Cheng
do the usual load folding checks as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30972 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-15regenerateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30971 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-15Produce a useful error message for Regression/Verifier/2006-10-15-AddrLabel.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30970 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-15testcase that causes the asmparser to assertChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30969 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-15label* is not a valid type, add an assertion.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30968 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-15fix a buggy check that accidentally disabled this xformChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30967 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-15clarifyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30966 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-15Document the VAArg, and vector instruction opcodes.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30965 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-14Align stack size to DWORD boundaryAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30964 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-14expand ISD::BRCONDRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30963 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-14fix some fp condition codesRafael Espindola
use non trapping comparison instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30962 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-14Tidy up after truncstore changes.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30961 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-14One cyclic dag a day is good for ya...Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30960 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-14Debug tweak.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30959 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-14Corrected load folding check. We need to start from the root of the sub-dagEvan Cheng
being matched and ensure there isn't a non-direct path to the load (i.e. a path that goes out of the sub-dag.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30958 91177308-0d34-0410-b5e6-96231b3b80d8