summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAge
* Update inliner to handle functions that return multiple values.Devang Patel2008-03-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48020 91177308-0d34-0410-b5e6-96231b3b80d8
* fix 80 col violationsChris Lattner2008-03-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48019 91177308-0d34-0410-b5e6-96231b3b80d8
* add a pass that can extract all kinds of global values, not just functions. ↵Andrew Lenharth2008-03-07
| | | | | | Update llvm-extract to use it and optionally extract a global variable if you want it too git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48015 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify some important bitsAnton Korobeynikov2008-03-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48010 91177308-0d34-0410-b5e6-96231b3b80d8
* Small cleanup: propagate thread-localness via generic routine.Anton Korobeynikov2008-03-07
| | | | | | | No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48009 91177308-0d34-0410-b5e6-96231b3b80d8
* mark frem as expand for all legal fp types on x86, regardless of whetherChris Lattner2008-03-07
| | | | | | | we're using SSE or not. This fixes PR2122. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48006 91177308-0d34-0410-b5e6-96231b3b80d8
* When setting the "unused" info, take into account something like this:Bill Wendling2008-03-06
| | | | | | | | | %r3<def> = OR %x3<kill>, %x3 We don't want to mark the %r3 as unused even though it's a sub-register of %x3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48003 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col violation.Evan Cheng2008-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47998 91177308-0d34-0410-b5e6-96231b3b80d8
* some more spelling changesGabor Greif2008-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47996 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typosGabor Greif2008-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47994 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant fold SIGN_EXTEND_INREG with ashr not lshr.Evan Cheng2008-03-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47992 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't try to simplify urem and srem using arithmetic rules that don't workNick Lewycky2008-03-06
| | | | | | | under modulo (overflow). Fixes PR1933. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47987 91177308-0d34-0410-b5e6-96231b3b80d8
* Refine Cell's i64 constant generation code to cover more constants where theScott Michel2008-03-06
| | | | | | | upper and lower 32-bits are the same (in addition to 0 and -1 previously.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47985 91177308-0d34-0410-b5e6-96231b3b80d8
* gcc likes things spelled correctlyAndrew Lenharth2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47981 91177308-0d34-0410-b5e6-96231b3b80d8
* Skip, for now, callsites where use of sret argument is not dominated by ↵Devang Patel2008-03-05
| | | | | | callsite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47980 91177308-0d34-0410-b5e6-96231b3b80d8
* Next bit of PPC ByVal handling; call-site code seemsDale Johannesen2008-03-05
| | | | | | | | correct now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47978 91177308-0d34-0410-b5e6-96231b3b80d8
* Missed patch from my last commitAnton Korobeynikov2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47977 91177308-0d34-0410-b5e6-96231b3b80d8
* Resolve aliases to aliasees, where possibleAnton Korobeynikov2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47975 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle functions as targets during linking of aliases as wellAnton Korobeynikov2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47974 91177308-0d34-0410-b5e6-96231b3b80d8
* - Fix support for "special" i64 immediates that can be loadedScott Michel2008-03-05
| | | | | | | | | | | | using IL, ILA, et. al. v2i64 and i64 are now supported by the select bits (SELB) instruction. - Add missing comparison operations (testcase forthcoming) - More multiclass refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47973 91177308-0d34-0410-b5e6-96231b3b80d8
* Try hard to link aliases. Checks can be too strict by now.Anton Korobeynikov2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47968 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a coalescer bug wrt how dead copy interval is shortened.Evan Cheng2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47966 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle 'ret' with multiple values.Devang Patel2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47965 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Hybrid Cycle Detection to Andersen's analysis.Daniel Berlin2008-03-05
| | | | | | | | Patch by Curtis Dunham. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47959 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify that CALLSEQ_START..END may not be nested,Dale Johannesen2008-03-05
| | | | | | | | and add some protection against creating such. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47957 91177308-0d34-0410-b5e6-96231b3b80d8
* evan implemented this.Chris Lattner2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47948 91177308-0d34-0410-b5e6-96231b3b80d8
* Remember the source->dest mapping when copying aliases. This fixes PR2054Anton Korobeynikov2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47945 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify the state-of-the-artAnton Korobeynikov2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47944 91177308-0d34-0410-b5e6-96231b3b80d8
* isTwoAddress = 1 -> Constraints.Evan Cheng2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47941 91177308-0d34-0410-b5e6-96231b3b80d8
* PSLLWri etc. are two-address instructions.Evan Cheng2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47940 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47939 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize FP constant shrinking optimization to apply to any vtChris Lattner2008-03-05
| | | | | | | | | except ppc long double. This allows us to shrink constant pool entries for x86 long double constants, which in turn allows us to use flds/fldl instead of fldt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47938 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve comment, pass in the original VT so that we can shrink a long double ↵Chris Lattner2008-03-05
| | | | | | | | | constant all the way to float, not stopping at double. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47937 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore debugging related instructions if they get this far.Evan Cheng2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47934 91177308-0d34-0410-b5e6-96231b3b80d8
* Rather than asserting. Dump out the MI that we are not able to encode and abort.Evan Cheng2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47933 91177308-0d34-0410-b5e6-96231b3b80d8
* Codegen support for i128 UINT_TO_FP. This just fixes aDan Gohman2008-03-05
| | | | | | | | | bug in r47928 (Int64Ty is the correct type for the constant pool entry here) and removes the asserts, now that the code is capable of handling i128. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47932 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a target lowering hook to control whether it's worthwhile to compress fp ↵Evan Cheng2008-03-05
| | | | | | | | | constant. For x86, if sse2 is available, it's not a good idea since cvtss2sd is slower than a movsd load and it prevents load folding. On x87, it's important to shrink fp constant since fldt is very expensive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47931 91177308-0d34-0410-b5e6-96231b3b80d8
* 64bit CAS on 32bit x86.Andrew Lenharth2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47929 91177308-0d34-0410-b5e6-96231b3b80d8
* Codegen support for i128 SINT_TO_FP.Dan Gohman2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47928 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor code. Remove duplicated functions that basically do the same thing asEvan Cheng2008-03-05
| | | | | | | findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47927 91177308-0d34-0410-b5e6-96231b3b80d8
* Skip functions that return multiple values.Devang Patel2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47924 91177308-0d34-0410-b5e6-96231b3b80d8
* Check struct return type first. Devang Patel2008-03-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47922 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed spurious EnablePPCRS check.Bill Wendling2008-03-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47918 91177308-0d34-0410-b5e6-96231b3b80d8
* Move PPC lowering functions into PPCTargetLoweringDale Johannesen2008-03-04
| | | | | | | | | class (cosmetic). First piece of byval implementation; this doesn't work yet. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47917 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a command-line option to turn register scavenging on/off for PPC.Bill Wendling2008-03-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47915 91177308-0d34-0410-b5e6-96231b3b80d8
* Print types for all ret operands.Devang Patel2008-03-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47911 91177308-0d34-0410-b5e6-96231b3b80d8
* Use while loop.Devang Patel2008-03-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47909 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert SmallVector ctor variants.Devang Patel2008-03-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47908 91177308-0d34-0410-b5e6-96231b3b80d8
* Use cast instead of dyn_cast.Devang Patel2008-03-04
| | | | | | | Update test to use multiple return value directly, instead of relying on -sretpromotion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47907 91177308-0d34-0410-b5e6-96231b3b80d8
* Filter nested structsDevang Patel2008-03-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47906 91177308-0d34-0410-b5e6-96231b3b80d8