aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
AgeCommit message (Collapse)Author
2007-02-17- Changes how function livein's are handled, they now have a start index of 0.Evan Cheng
- When coalescing a copy MI, if its destination is "dead", propagate the property to the source MI's destination if there are no intervening uses. - Detect dead function live-in's and remove them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34383 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17Do not add livein's to entry MBB twice.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34382 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17Added removeLiveIn.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34381 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17Added findRegisterDefOperand().Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34380 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17- Use MRegister::regsOverlap().Evan Cheng
- Allow LiveVariables to track liveness of more registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34379 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17print target nodes nicelyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34369 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17Implement i/n/s constraints correctly. This fixesChris Lattner
test/CodeGen/PowerPC/2007-02-16-InlineAsmNConstraint.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34368 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-17Fixes PR 1200Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34359 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-16Print <dead> def operands.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34343 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-16Add live-ins to every BB.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34342 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-16test commit (blank line)Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34337 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15fix indentationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34307 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15Apply B Scott Michel's patch for PR1184, which improves diagnostics in anChris Lattner
abort case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34306 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15Use BitVector instead of vector<bool> which can be extremely slow.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34302 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15For PR1195:Reid Spencer
Change use of "packed" term to "vector" in comments, strings, variable names, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34300 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15For PR1195:Reid Spencer
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34293 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-14fix a warningChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34272 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-14Refix CodeGen/Generic/switch-lower.ll. In contrast to my previous patch,Chris Lattner
this doesn't miscompile lots of programs :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34268 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-14Generalize TargetData strings, to support more interesting forms of data.Chris Lattner
Patch by Scott Michel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34266 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13implement expand of truncate. This allows truncates from i128 to i64 toChris Lattner
be supported on 32-bit hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34257 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13Fix PR1198, by adding initial i128 support. Patch by Dan Gohman.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34256 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13revert my previous switch lowering change, which miscompiles a few programs.Chris Lattner
This will break a dj test until I have time to investigate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34247 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13Add a space between // and the comment.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34244 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13Add "original alignment" to function arguments flags.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34240 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13eliminate vector-related allocationsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34223 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13Allow any MachineBasicBlock (not just the entry block) to have live-in physicalEvan Cheng
registers. Make sure liveinterval analysis is correctly creating live ranges for them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34217 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13Fix switch lowering to order cases in zext order, which is how we emit theChris Lattner
comparisons. This fixes an infinite loop on CodeGen/Generic/switch-lower.ll and PR1197 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34216 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10eliminate temporary vectors.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34161 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10encapsulate the rest of the StructLayout members.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34157 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10Privatize StructLayout::MemberOffsets, adding an accessorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34156 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10Add function live-ins to entry block live-in set.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34112 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10Add live-ins to MachineBasicBlock.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34111 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10Rename some variables to avoid confusion with SelectionDAGISel::BB.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34110 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08Make use of TLI.SimplifySetCC() in LegalizeSetCCOperands().Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34066 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08Move SimplifySetCC to TargetLowering and allow it to be shared with legalizer.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34065 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08Fixed a long standing spiller bug that's exposed by Thumb:Evan Cheng
The code sequence before the spiller is something like: = tMOVrr %reg1117 = tMOVrr %reg1078 = tLSLri %reg1117, 2 The it starts spilling: %r0 = tRestore <fi#5>, 0 %r1 = tRestore <fi#7>, 0 %r1 = tMOVrr %r1<kill> tSpill %r1, <fi#5>, 0 %reg1078 = tLSLri %reg1117, 2 It restores the value while processing the first tMOVrr. At this point, the spiller remembers fi#5 is available in %r0. Next it processes the second move. It restores the source before the move and spills the result afterwards. The move becomes a noop and is deleted. However, a spill has been inserted and that should invalidate reuse of %r0 for fi#5 and add reuse of %r1 for fi#5. Therefore, %reg1117 (which is also assigned fi#5) should get %r1, not %r0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34039 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08Split the addPassesToEmitFile method up into two. This is so that we canBill Wendling
do some common stuff, then on our own add an object file writer (by calling a concrete function), and then do some finishing stuff, if need be. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34032 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08Add function to create a file writer.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34031 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08Moved from include/llvm/CodeGen to lib/CodeGen.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34027 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-07Fix a fixme by correctly calculating preferred alignments for functions,Nate Begeman
based on the alignment of the symbol and the target data's preferred align for that type. Also, rename some arguments for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33984 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06Two fixes:Chris Lattner
1. Memset takes an i32 for the value to set, not i8. This was causing GCC to ICE all over the place (PR1183). 2. memcpy/memmove were not properly zext/trunc'ing the size in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33970 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06Fix PR1181 and CodeGen/CBackend/2007-02-05-memset.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33957 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06Oops, swap this. This fixes a regression I introduced in the ARM backend.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33946 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05Fix PR1178Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33924 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04Fixing silly "not-implemented" bug in AsmPrinter. This fixes PR1169.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33888 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04switch the VRBaseMap in the scheduler from an std::map to a DenseMap. ThisChris Lattner
speeds up the isel pass from 2.5570s to 2.4722s on kc++ (3.4%). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33879 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04Introduce new UnarySDNode/BinarySDNode/TernarySDNode nodes, which coallocateChris Lattner
their operands with the node itself. This reduces malloc traffic for operand lists. This reduces isel time on kc++ from 2.6164 to 2.5570s, about 2.3%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33878 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04eliminate the SDNode::setValueTypes method.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33876 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04eliminate a bunch of duplicate ctors and helper functions.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33875 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04move MorphNode to out of line and merge setNodeOperands into it. There isChris Lattner
no behavior or performance change here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33869 91177308-0d34-0410-b5e6-96231b3b80d8