aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Another comments fixingAnton Korobeynikov2008-03-222-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48683 91177308-0d34-0410-b5e6-96231b3b80d8
* Slightly increase default set size. It's cheap and won't hurt.Anton Korobeynikov2008-03-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48682 91177308-0d34-0410-b5e6-96231b3b80d8
* implement an initial hack at a straight-line store -> memset optimization.Chris Lattner2008-03-221-6/+59
| | | | | | | | | | This fires dozens of times across spec and multisource, but I don't know if it actually speeds stuff up. Hopefully the testers will show something nice :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48680 91177308-0d34-0410-b5e6-96231b3b80d8
* implement the logic for memset insertion and store deletion.Chris Lattner2008-03-221-11/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48679 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment, and fix a bug where AllocateRW recurred to AllocateRWX ↵Owen Anderson2008-03-221-1/+1
| | | | | | instead of itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48677 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an AllocateRW to match AllocateRWX.Owen Anderson2008-03-222-0/+70
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48676 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach DAG combiner to commute commutable binary nodes in order to achieve ↵Evan Cheng2008-03-222-0/+31
| | | | | | sdisel CSE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48673 91177308-0d34-0410-b5e6-96231b3b80d8
* This is a partially implemented and currently disabled start of a storeChris Lattner2008-03-221-0/+159
| | | | | | | merging optimization. Nothing to see here, hopefully more later :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48670 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't include <map> in Pass.h, which doesn't need it. This requiresDan Gohman2008-03-2112-0/+12
| | | | | | | adding <map> to many files that actually do need it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48667 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid calling array_endof in a static initializer, as it incursDan Gohman2008-03-211-2/+2
| | | | | | | dynamic initialization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48666 91177308-0d34-0410-b5e6-96231b3b80d8
* Specialize FORCE_DEFINING_FILE_TO_BE_LINKED using a GCC trickDan Gohman2008-03-211-1/+1
| | | | | | | | | to avoid using constructor calls for static objects. This reduces the number of objects requiring static constructors in a typical LLVM build by around 20%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48665 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix -view-sunit-dags to support cross-rc-copy nodes.Dan Gohman2008-03-211-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48664 91177308-0d34-0410-b5e6-96231b3b80d8
* the size of a smallvector shouldn't be part of the interface to these methods.Chris Lattner2008-03-211-20/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48662 91177308-0d34-0410-b5e6-96231b3b80d8
* make gvn marginally faster by reallocating the lastSeenLoad map forChris Lattner2008-03-211-3/+4
| | | | | | | each basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48660 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanups and shrinkification.Chris Lattner2008-03-211-186/+114
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48658 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle getresult instructions in different basic blocksDan Gohman2008-03-211-0/+9
| | | | | | | | from their aggregate operands by moving the getresult instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48657 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore this assert now that the livevar bug is fixed.Chris Lattner2008-03-211-2/+7
| | | | | | | This verifies kill info for "ret" fp operands is right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48656 91177308-0d34-0410-b5e6-96231b3b80d8
* A couple of kill marker maintainence bug.Evan Cheng2008-03-212-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48653 91177308-0d34-0410-b5e6-96231b3b80d8
* FunctionExtractorPass has been superceded by GVExtractorPassAndrew Lenharth2008-03-211-147/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48648 91177308-0d34-0410-b5e6-96231b3b80d8
* Make it possible to get an empty struct usingDuncan Sands2008-03-211-2/+3
| | | | | | | | | the new StructType::get method. The second NULL is to pacify the gcc warning mechanism. This patch compiles but is otherwise untested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48645 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce a new node for holding call argumentDuncan Sands2008-03-219-134/+145
| | | | | | | | | | | | | | | | | | flags. This is needed by the new legalize types infrastructure which wants to expand the 64 bit constants previously used to hold the flags on 32 bit machines. There are two functional changes: (1) in LowerArguments, if a parameter has the zext attribute set then that is marked in the flags; before it was being ignored; (2) PPC had some bogus code for handling two word arguments when using the ELF 32 ABI, which was hard to convert because of the bogusness. As suggested by the original author (Nicolas Geoffray), I've disabled it for the moment. Tested with "make check" and the Ada ACATS testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48640 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the build for gcc-4.2.Duncan Sands2008-03-211-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48639 91177308-0d34-0410-b5e6-96231b3b80d8
* remove Evan's "ugly hack" that sorta attempted to get Chris Lattner2008-03-215-174/+2
| | | | | | | | x86-64 return conventions correct, but was never enabled. We can now do the "right thing" with multiple return values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48635 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for calls that return two FP values inChris Lattner2008-03-213-5/+52
| | | | | | | ST(0)/ST(1). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48634 91177308-0d34-0410-b5e6-96231b3b80d8
* disable a bogus assertion.Chris Lattner2008-03-211-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48633 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable support for returning two long-double values in ST(0)/ST(1).Chris Lattner2008-03-212-7/+4
| | | | | | | | | | | | | | | | This allows us to compile fp-stack-2results.ll into: _test: fldz fld1 ret which returns 1 in ST(0) and 0 in ST(1). This is needed for x86-64 _Complex long double. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48632 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach masked value is zero about add and sub, and use MVIZ toChris Lattner2008-03-211-34/+87
| | | | | | | | | | simplify things like (X & 4) >> 1 == 2 --> (X & 4) == 4. since it is obvious that the shift doesn't remove any bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48631 91177308-0d34-0410-b5e6-96231b3b80d8
* Undo 48570. Correctly match mmx shift instructions with an immediate operand.Evan Cheng2008-03-212-18/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48627 91177308-0d34-0410-b5e6-96231b3b80d8
* These passes preserve CFG.Devang Patel2008-03-204-5/+5
| | | | | | | This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48623 91177308-0d34-0410-b5e6-96231b3b80d8
* Incorporate feedback.Devang Patel2008-03-201-24/+24
| | | | | | | | | | - Fix loop nest. - Use RetVals.size() - Check for null return value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48605 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Objective Caml bindings for mem2reg and reg2mem.Gordon Henriksen2008-03-201-0/+8
| | | | | | Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48602 91177308-0d34-0410-b5e6-96231b3b80d8
* enable -analyze for andersensAndrew Lenharth2008-03-201-19/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48601 91177308-0d34-0410-b5e6-96231b3b80d8
* Take the old function's name.Zhou Sheng2008-03-201-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48588 91177308-0d34-0410-b5e6-96231b3b80d8
* add a note.Chris Lattner2008-03-201-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48583 91177308-0d34-0410-b5e6-96231b3b80d8
* Check even more carefully before applying this DAGCombine transform.Christopher Lamb2008-03-201-13/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48580 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore isCFGOnly property of various analysis passes.Devang Patel2008-03-2020-25/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48579 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, ↵Evan Cheng2008-03-202-3/+5
| | | | | | result_size - n - m))) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48578 91177308-0d34-0410-b5e6-96231b3b80d8
* detabify llvm, patch by Mike Stump!Chris Lattner2008-03-206-76/+76
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48577 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep track of analysis information inherited from Module pass manager.Devang Patel2008-03-201-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48576 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more patterns to match in the integer comparison test harnesses.Scott Michel2008-03-203-9/+8
| | | | | | | | | Fix bugs encountered, mostly due to range matching for immediates; the CellSPU's 10-bit immediates are sign extended, covering a larger range of unsigned values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48575 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col violation.Evan Cheng2008-03-201-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48573 91177308-0d34-0410-b5e6-96231b3b80d8
* Add intrinsics to match mmx shift builtin's with immediate operand.Evan Cheng2008-03-192-12/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48569 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comment.Devang Patel2008-03-191-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48567 91177308-0d34-0410-b5e6-96231b3b80d8
* #if 1 .. #endif markers do not add any value.Devang Patel2008-03-191-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48560 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead options.Evan Cheng2008-03-192-20/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48556 91177308-0d34-0410-b5e6-96231b3b80d8
* PassInfo keep tracks whether a pass is an analysis pass or not.Devang Patel2008-03-1923-41/+47
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for multiple return values for the PPC target byDan Gohman2008-03-192-146/+23
| | | | | | | | converting call result lowering to use the CallingConvLowering infastructure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48552 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't loose incoming argument registers. Fix documentation style.Arnold Schwaighofer2008-03-193-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48545 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix X86's isTruncateFree to not claim that truncate to i1 is free. This ↵Christopher Lamb2008-03-193-46/+27
| | | | | | fixes Bill's testcase that failed for r48491. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48542 91177308-0d34-0410-b5e6-96231b3b80d8
* add some convenience methods for creating GEP instructions and Chris Lattner2008-03-191-0/+11
| | | | | | | struct types. Patch by David Chisnall, with some tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48531 91177308-0d34-0410-b5e6-96231b3b80d8