aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove some more non-DebugLoc versions of constructionDale Johannesen2009-02-046-133/+73
| | | | | | | | functions, with callers adjusted to fit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63705 91177308-0d34-0410-b5e6-96231b3b80d8
* Check in file I forgot.Dale Johannesen2009-02-041-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63704 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a few non-DebugLoc versions of node creationDale Johannesen2009-02-045-185/+24
| | | | | | | | functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63703 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes a case where we generate an incorrect mask for pshfhw in the presenceMon P Wang2009-02-042-5/+29
| | | | | | | of undefs and incorrectly determining if we have punpckldq. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63702 91177308-0d34-0410-b5e6-96231b3b80d8
* While folding vallue comparison terminators ignore dbg intrinsics.Devang Patel2009-02-042-0/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63700 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch up omissions in DebugLoc propagation.Dale Johannesen2009-02-042-56/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63693 91177308-0d34-0410-b5e6-96231b3b80d8
* Fill in more omissions in DebugLog propagation.Dale Johannesen2009-02-045-36/+44
| | | | | | | | I think that's it for this directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63690 91177308-0d34-0410-b5e6-96231b3b80d8
* Constify and don't return a reference.Bill Wendling2009-02-042-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63689 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore dbg intrinsics while hoisting common code in the two blocks up into ↵Devang Patel2009-02-042-3/+47
| | | | | | the branch block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63687 91177308-0d34-0410-b5e6-96231b3b80d8
* DebugLoc propagation; adjustment to things omittedDale Johannesen2009-02-033-17/+47
| | | | | | | | from SelectionDagBuild. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63680 91177308-0d34-0410-b5e6-96231b3b80d8
* Erm. Would be nice to initialize this variable. . .Bill Wendling2009-02-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63677 91177308-0d34-0410-b5e6-96231b3b80d8
* Add getDebugLocTuple to retrieve the DebugLocTuple for a given DebugLoc object.Bill Wendling2009-02-032-5/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63676 91177308-0d34-0410-b5e6-96231b3b80d8
* Add getter for the index.Bill Wendling2009-02-031-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63675 91177308-0d34-0410-b5e6-96231b3b80d8
* Need this file too.Dale Johannesen2009-02-031-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63674 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some DL propagation to places that didn'tDale Johannesen2009-02-036-76/+141
| | | | | | | | have it yet. More coming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63673 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not let dbg intrinsic block folding of two entry phi node.Devang Patel2009-02-032-2/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63671 91177308-0d34-0410-b5e6-96231b3b80d8
* If "optimize for size" attribute is set then block non-trivial loop ↵Devang Patel2009-02-031-3/+2
| | | | | | unswitches but allow trivial loop unswitches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63670 91177308-0d34-0410-b5e6-96231b3b80d8
* DebugLoc propgationDale Johannesen2009-02-031-25/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63664 91177308-0d34-0410-b5e6-96231b3b80d8
* More whitespace fixin'.Bill Wendling2009-02-031-37/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63663 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace and comment changes. No functionality change.Bill Wendling2009-02-032-25/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63660 91177308-0d34-0410-b5e6-96231b3b80d8
* teach "convert from scalar" to handle loads of fca's.Chris Lattner2009-02-032-2/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63659 91177308-0d34-0410-b5e6-96231b3b80d8
* refactor the interface to ConvertUsesOfLoadToScalar, Chris Lattner2009-02-031-34/+35
| | | | | | | renaming it to ConvertScalar_ExtractValue git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63658 91177308-0d34-0410-b5e6-96231b3b80d8
* DebugLoc propagation. done with file.Dale Johannesen2009-02-031-179/+226
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63656 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead code.Devang Patel2009-02-032-29/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63653 91177308-0d34-0410-b5e6-96231b3b80d8
* convert ConvertUsesOfLoadToScalar to use IRBuilder,Chris Lattner2009-02-031-37/+33
| | | | | | | no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63652 91177308-0d34-0410-b5e6-96231b3b80d8
* switch ConvertScalar_InsertValue to use an IRBuilder, no Chris Lattner2009-02-031-30/+32
| | | | | | | functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63651 91177308-0d34-0410-b5e6-96231b3b80d8
* DebugLoc propagation. 2/3 through file.Dale Johannesen2009-02-032-346/+409
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63650 91177308-0d34-0410-b5e6-96231b3b80d8
* make scalar conversion handle stores of first classChris Lattner2009-02-032-22/+50
| | | | | | | | aggregate values. loads are not yet handled (coming soon to an sroa near you). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63649 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the post-RA scheduler to iterate through theDan Gohman2009-02-031-9/+11
| | | | | | | | | basic-block segments bottom-up instead of top down. This is the first step in a general restructuring of the way register liveness is tracked in the post-RA scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63643 91177308-0d34-0410-b5e6-96231b3b80d8
* Tevert part of the x86 subtarget logic changes: when -march=x86-64Dan Gohman2009-02-031-4/+5
| | | | | | | | | | | | | | | | is given, override the subtarget settings and enable 64-bit support. This restores the earlier behavior, and fixes regressions on Non-64-bit-capable x86-32 hosts. This isn't necessarily the best approach, but the most obvious alternative is to require -mcpu=x86-64 or -mattr=+64bit to be used with -march=x86-64 when the host doesn't have 64-bit support. This makes things little more consistent, but it's less convenient, and it has the practical drawback of requiring lots of test changes, so I opted for the above approach for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63642 91177308-0d34-0410-b5e6-96231b3b80d8
* First initialize DAG otherwise dwarf writer is used uninitialized.Devang Patel2009-02-032-2/+2
| | | | | | | | Duncan spotted this. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63641 91177308-0d34-0410-b5e6-96231b3b80d8
* Make SROA produce a vector only when the alloca is actually Chris Lattner2009-02-032-7/+39
| | | | | | | | | | | | | | | | | | | | | accessed at least once as a vector. This prevents it from compiling the example in not-a-vector into: define double @test(double %A, double %B) { %tmp4 = insertelement <7 x double> undef, double %A, i32 0 %tmp = insertelement <7 x double> %tmp4, double %B, i32 4 %tmp2 = extractelement <7 x double> %tmp, i32 4 ret double %tmp2 } instead, producing the integer code. Producing vectors when they aren't otherwise in the program is dangerous because a lot of other code treats them carefully and doesn't want to break them down. OTOH, many things want to break down tasty i448's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63638 91177308-0d34-0410-b5e6-96231b3b80d8
* this produces an undefined result, just check that the alloca is goneChris Lattner2009-02-031-1/+1
| | | | | | | and that sroa doesn't crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63637 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR3411. When replacing values, nodes are analyzedDuncan Sands2009-02-032-5/+37
| | | | | | | | | | in any old order. Since analyzing a node analyzes its operands also, this can mean that when we pop a node off the list of nodes to be analyzed, it may already have been analyzed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63632 91177308-0d34-0410-b5e6-96231b3b80d8
* APInt'fy SimplifyDemandedVectorElts so it can analyze vectors with more than ↵Evan Cheng2009-02-032-49/+73
| | | | | | 64 elements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63631 91177308-0d34-0410-b5e6-96231b3b80d8
* add a method to BumpPtrAllocator that allows allocating elements Chris Lattner2009-02-031-0/+14
| | | | | | | with a specified alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63629 91177308-0d34-0410-b5e6-96231b3b80d8
* Add LLVM plugin for gold.Nick Lewycky2009-02-034-0/+377
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63623 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate configure.Nick Lewycky2009-02-031-26/+56
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63622 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the ability to pass the path to binutils source to configure. This isNick Lewycky2009-02-032-0/+21
| | | | | | | needed to build the LLVM gold plugin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63621 91177308-0d34-0410-b5e6-96231b3b80d8
* add another case of undefined behavior without crashing, PR3466.Chris Lattner2009-02-032-2/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63620 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r63600. It didn't fix the bug, it just moved it a bit.Nick Lewycky2009-02-032-39/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63618 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach AliasAnalysis that a bunch of the atomic intrinsics only dereference ↵Owen Anderson2009-02-031-0/+22
| | | | | | their arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63616 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the callgraph when replacing InvokeInst with CallInst when inlining.Nick Lewycky2009-02-032-3/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63600 91177308-0d34-0410-b5e6-96231b3b80d8
* Explicitly pass in debug location information to BuildMI.Bill Wendling2009-02-034-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63599 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass in something sensible for the debug location information when creating theBill Wendling2009-02-033-6/+52
| | | | | | | initial PHI nodes of the machine function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63598 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a bitcode reader bug where it can't handle extractelement correctly:Chris Lattner2009-02-032-2/+9
| | | | | | | the index of the value being extracted is always an i32. This fixes PR3465 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63597 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach ConvertUsesToScalar to handle memset, allowing it to handle Chris Lattner2009-02-032-21/+73
| | | | | | | | | | | | | | | | crazy cases like: struct f { int A, B, C, D, E, F; }; short test4() { struct f A; A.A = 1; memset(&A.B, 2, 12); return A.C; } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63596 91177308-0d34-0410-b5e6-96231b3b80d8
* Fill in some missing DL propagation in getNode()s.Dale Johannesen2009-02-031-22/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63595 91177308-0d34-0410-b5e6-96231b3b80d8
* Use SDL->getCurDebugLoc() instead of unknown loc for landing pads.Bill Wendling2009-02-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63594 91177308-0d34-0410-b5e6-96231b3b80d8
* Explicitly pass in the "unknown" debug location. This is probably notBill Wendling2009-02-032-2/+3
| | | | | | | | correct. We need more infrastructure before we can get the DebugLoc info for these instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63593 91177308-0d34-0410-b5e6-96231b3b80d8