aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Remove spurious consts. This fixes warnings with compilers thatDan Gohman2007-09-143-5/+5
| | | | | | | are strict about such things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41956 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for functions with byval arguments on x86Rafael Espindola2007-09-142-17/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41953 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a logic error in ValueIsOnlyUsedLocallyOrStoredToOneGlobal that caused Chris Lattner2007-09-141-4/+4
| | | | | | | | miscompilation of 188.ammp. Reject select and bitcast in ValueIsOnlyUsedLocallyOrStoredToOneGlobal because RewriteHeapSROALoadUser can't handle it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41950 91177308-0d34-0410-b5e6-96231b3b80d8
* silence a bogus gcc warning.Chris Lattner2007-09-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41949 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comments.Evan Cheng2007-09-141-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41947 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporary reverting r41817Bill Wendling2007-09-141-15/+5
| | | | | | | | | (http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053370.html). It's causing SPASS to fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41938 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach GlobalLoadUsesSimpleEnoughForHeapSRA and the SROA rewriter how to handleChris Lattner2007-09-131-14/+62
| | | | | | | | a limited form of PHI nodes. This finally fixes PR1639, speeding 179.art up from 7.84s to 3.13s on PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41933 91177308-0d34-0410-b5e6-96231b3b80d8
* be tolerant of PHI nodes when rewriting heap SROA code. This is a stepChris Lattner2007-09-131-26/+50
| | | | | | | along the way of PR1639 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41930 91177308-0d34-0410-b5e6-96231b3b80d8
* refactor some code, no functionality change. On the path to PR1639Chris Lattner2007-09-131-50/+56
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41929 91177308-0d34-0410-b5e6-96231b3b80d8
* Make ValueIsOnlyUsedLocallyOrStoredToOneGlobal smart enough to see throughChris Lattner2007-09-131-5/+16
| | | | | | | bitcasts and phis. This is a step to fixing PR1639. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41928 91177308-0d34-0410-b5e6-96231b3b80d8
* Make AllUsesOfLoadedValueWillTrapIfNull strong enough to see through PHIChris Lattner2007-09-131-6/+15
| | | | | | | nodes. This is the first step of the fix for PR1639. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41927 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build problems on Cygwin (PR1652), patch by Patrick Walton.Chris Lattner2007-09-131-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41923 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fixes.Evan Cheng2007-09-131-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41900 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead code.Evan Cheng2007-09-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41899 91177308-0d34-0410-b5e6-96231b3b80d8
* Yet another getTargetNode variant.Evan Cheng2007-09-121-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41898 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial support for multi-result patterns:Evan Cheng2007-09-121-0/+2
| | | | | | | | | | | | | 1. [(set GR32:$dst, (add GR32:$src1, GR32:$src2)), (modify EFLAGS)] This indicates the source pattern expects the instruction would produce 2 values. The first is the result of the addition. The second is an implicit definition in register EFLAGS. 2. def : Pat<(parallel (addc GR32:$src1, GR32:$src2), (modify EFLAGS)), ()> Similar to #1 except this is used for def : Pat patterns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41897 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed a typo that's causing a missing kill marker.Evan Cheng2007-09-121-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41893 91177308-0d34-0410-b5e6-96231b3b80d8
* Change llvm.gcroot to not init the root to null at runtime, this preventsChris Lattner2007-09-121-4/+1
| | | | | | | using it for live-in values etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41879 91177308-0d34-0410-b5e6-96231b3b80d8
* Generated files for previous patch.Dale Johannesen2007-09-124-12/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41876 91177308-0d34-0410-b5e6-96231b3b80d8
* Revise previous patch per review comments.Dale Johannesen2007-09-1214-88/+161
| | | | | | | | | Next round of x87 long double stuff. Getting close now, basically works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41875 91177308-0d34-0410-b5e6-96231b3b80d8
* Compensate for partCount change in Bogus definitionDale Johannesen2007-09-121-1/+1
| | | | | | | (could break hash table in ConstantFP) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41874 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable indirect encoding for the personality functionBill Wendling2007-09-112-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41873 91177308-0d34-0410-b5e6-96231b3b80d8
* Sometimes a MI can define a register as well as defining a super-register at theEvan Cheng2007-09-111-6/+7
| | | | | | | same time. Do not mark the "smaller" def as dead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41871 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove (somewhat confusing) Imp<> helper, use let Defs = [], Uses = [] instead.Evan Cheng2007-09-1114-260/+328
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41863 91177308-0d34-0410-b5e6-96231b3b80d8
* Added status flags register: EFLAGS.Evan Cheng2007-09-111-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41862 91177308-0d34-0410-b5e6-96231b3b80d8
* Generated files for previous patch.Dale Johannesen2007-09-114-979/+1109
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41859 91177308-0d34-0410-b5e6-96231b3b80d8
* Add APInt interfaces to APFloat (allows directlyDale Johannesen2007-09-1114-98/+298
| | | | | | | | | | | access to bits). Use them in place of float and double interfaces where appropriate. First bits of x86 long double constants handling (untested, probably does not work). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41858 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a bool to indicate if we should set the "indirect encoding" bit in the DwarfBill Wendling2007-09-113-1/+8
| | | | | | | | information for EH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41852 91177308-0d34-0410-b5e6-96231b3b80d8
* Two ParamAttrsVectors which differ by a permutationDuncan Sands2007-09-111-0/+4
| | | | | | | | | | | of their elements do not yield the same ParamAttrsList, though they should. On the other hand, everyone seems to pass such vectors with elements ordered by increasing index, so rather than sorting the elements simply assert that the elements are ordered in this way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41845 91177308-0d34-0410-b5e6-96231b3b80d8
* Turn calls to trampolines into calls to the underlyingDuncan Sands2007-09-111-0/+138
| | | | | | | nested function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41844 91177308-0d34-0410-b5e6-96231b3b80d8
* Fold the adjust_trampoline intrinsic intoDuncan Sands2007-09-1111-56/+20
| | | | | | | | init_trampoline. There is now only one trampoline intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41841 91177308-0d34-0410-b5e6-96231b3b80d8
* My compiler warns about the semicolon.Duncan Sands2007-09-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41840 91177308-0d34-0410-b5e6-96231b3b80d8
* The personality function on Darwin needs a global stub. We then refer toBill Wendling2007-09-116-22/+26
| | | | | | | | that global stub instead of doing the ".set" thingy we were doing before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41838 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in memdep, which was causing PR1648.Owen Anderson2007-09-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41833 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid negative logic.Devang Patel2007-09-111-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41829 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor code into a separate method.Devang Patel2007-09-111-28/+47
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41826 91177308-0d34-0410-b5e6-96231b3b80d8
* Clear split info object.Devang Patel2007-09-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41823 91177308-0d34-0410-b5e6-96231b3b80d8
* Split condition does not have to be ICmpInst in all cases.Devang Patel2007-09-111-5/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41822 91177308-0d34-0410-b5e6-96231b3b80d8
* Check all terminators inside loop.Devang Patel2007-09-101-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41821 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some dead code, this is handled by constant folding.Chris Lattner2007-09-101-8/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41819 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a buggy constant folding transformation when handling aliases.Chris Lattner2007-09-101-4/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41818 91177308-0d34-0410-b5e6-96231b3b80d8
* Swap exit condition operands if it works.Devang Patel2007-09-101-5/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41817 91177308-0d34-0410-b5e6-96231b3b80d8
* regenerateChris Lattner2007-09-102-266/+308
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41816 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1645 by resolving forward alias references.Chris Lattner2007-09-101-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41815 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col.Evan Cheng2007-09-101-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41812 91177308-0d34-0410-b5e6-96231b3b80d8
* New entry.Evan Cheng2007-09-101-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41810 91177308-0d34-0410-b5e6-96231b3b80d8
* Observation of rematerialization.Evan Cheng2007-09-101-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41809 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some notes about better flag handling.Chris Lattner2007-09-103-1/+101
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41808 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit:Chris Lattner2007-09-101-0/+10
| | | | | | | | | | | | | | | | | | | cmpl %eax, %ecx setae %al movzbl %al, %eax instead of: cmpl %eax, %ecx setb %al xorb $1, %al movzbl %al, %eax when using logical not of a C comparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41807 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Don't call Value::getName(), which is slow.Chris Lattner2007-09-101-38/+52
| | | | | | | | | | | | | | | | | | | | | 2. Lower calls to fabs and friends to FABS nodes etc unless the function has internal linkage. Before we wouldn't lower if it had a definition, which is incorrect. This allows us to compile: define double @fabs(double %f) { %tmp2 = tail call double @fabs( double %f ) ret double %tmp2 } into: _fabs: fabs f1, f1 blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41805 91177308-0d34-0410-b5e6-96231b3b80d8