aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Generalize tcFullMultiply so that the operands can be of differingNeil Booth2007-10-062-16/+24
| | | | | | | | | part widths. Also, return the number of parts actually required to hold the result's value. Remove an over-cautious condition from rounding of float->hex conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42669 91177308-0d34-0410-b5e6-96231b3b80d8
* Wrapping Value::dump.Gordon Henriksen2007-10-061-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42668 91177308-0d34-0410-b5e6-96231b3b80d8
* Removing the silly CHelpers header by rolling wrap and unwrap into the CGordon Henriksen2007-10-052-15/+0
| | | | | | bindings headers themselves, hidden behind #ifdef __cplusplus. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42666 91177308-0d34-0410-b5e6-96231b3b80d8
* Commute x86 cmove instructions by swapping the operands and change the conditionEvan Cheng2007-10-053-240/+335
| | | | | | | | to its inverse. Testing this as llcbeta git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42661 91177308-0d34-0410-b5e6-96231b3b80d8
* This is done.Evan Cheng2007-10-051-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42656 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable convertToThreeAddress for X86 by default.Evan Cheng2007-10-051-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42655 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug in updating dominance frontier after loop Devang Patel2007-10-052-29/+122
| | | | | | | | | unswitch when frontier includes basic blocks that are not inside loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42654 91177308-0d34-0410-b5e6-96231b3b80d8
* INC64_32r -> LEA64_32r is better than INC64_32r -> LEA32r, but it still canEvan Cheng2007-10-051-8/+4
| | | | | | | cause performance degradation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42653 91177308-0d34-0410-b5e6-96231b3b80d8
* In 64-bit mode, avoid using leal with 32-bit 32-bit address size, e.g.Evan Cheng2007-10-051-89/+98
| | | | | | | leal 1(%ecx), %edi, which requires 67H prefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42647 91177308-0d34-0410-b5e6-96231b3b80d8
* First round of ppc long double. call/return andDale Johannesen2007-10-054-33/+101
| | | | | | | | | | basic arithmetic works. Rename RTLIB long double functions to distinguish different flavors of long double; the lib functions have different names, alas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42644 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to convert more 64-bit instructions to 3-address instructions.Evan Cheng2007-10-052-8/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42642 91177308-0d34-0410-b5e6-96231b3b80d8
* ADC and SBB uses EFLAGS.Evan Cheng2007-10-052-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42640 91177308-0d34-0410-b5e6-96231b3b80d8
* Change a few more spaces to tabs in assembly output.Dan Gohman2007-10-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42638 91177308-0d34-0410-b5e6-96231b3b80d8
* Change a space to a tab in the assembly output of a .globl directiveDan Gohman2007-10-051-1/+1
| | | | | | | for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42637 91177308-0d34-0410-b5e6-96231b3b80d8
* Legalize support for MUL_LOHI and DIVREM.Dan Gohman2007-10-051-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42636 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2007-10-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42635 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide names for MUL_LOHI and DIVREM operators.Dan Gohman2007-10-051-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42634 91177308-0d34-0410-b5e6-96231b3b80d8
* Testing convertToThreeeAddress as X86 llcbeta.Evan Cheng2007-10-051-5/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42630 91177308-0d34-0410-b5e6-96231b3b80d8
* Chain producing nodes cannot be moved, not chain reading nodes.Evan Cheng2007-10-051-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42627 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops. Didn't mean to leave this in.Evan Cheng2007-10-051-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42626 91177308-0d34-0410-b5e6-96231b3b80d8
* If a node that defines a physical register that is expensive to copy. TheEvan Cheng2007-10-052-47/+165
| | | | | | | | | | scheduler will try a number of tricks in order to avoid generating the copies. This may not be possible in case the node produces a chain value that prevent movement. Try unfolding the load from the node before to allow it to be moved / cloned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42625 91177308-0d34-0410-b5e6-96231b3b80d8
* Added storeRegToAddr, loadRegFromAddr, and unfoldMemoryOperand's.Evan Cheng2007-10-052-114/+331
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42624 91177308-0d34-0410-b5e6-96231b3b80d8
* Not needed any more.Evan Cheng2007-10-051-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42623 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot these.Evan Cheng2007-10-052-0/+72
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42622 91177308-0d34-0410-b5e6-96231b3b80d8
* - Added a few target hooks to generate load / store instructions from / to anyEvan Cheng2007-10-0510-68/+460
| | | | | | | | | address (not just from / to frameindexes). - Added target hooks to unfold load / store instructions / SDNodes into separate load, data processing, store instructions / SDNodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42621 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a variant of getTargetNode() that takes a vector of MVT::ValueType.Evan Cheng2007-10-051-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42620 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence a warning.Evan Cheng2007-10-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42619 91177308-0d34-0410-b5e6-96231b3b80d8
* add a note.Chris Lattner2007-10-041-0/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42607 91177308-0d34-0410-b5e6-96231b3b80d8
* Add APFloat -> hexadecimal string conversion, as per %a and %A in C99.Neil Booth2007-10-031-3/+240
| | | | | | | Useful for diagnostics and debugging. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42598 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely merge the implementation details of DomTree and PostDomTree.Owen Anderson2007-10-034-209/+7
| | | | | | | Also, add a FIXME for a bug in PostDomTree calculation I noticed while writing this, git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42593 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix 80 col violation.Devang Patel2007-10-031-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42591 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor code in a separate method.Devang Patel2007-10-031-33/+46
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42590 91177308-0d34-0410-b5e6-96231b3b80d8
* Add initial iterator support for folding set.Chris Lattner2007-10-031-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42589 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify implementation of the FoldingSet circular list, a necessary stepChris Lattner2007-10-031-11/+20
| | | | | | | to giving it iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42586 91177308-0d34-0410-b5e6-96231b3b80d8
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-0317-38/+36
| | | | | | | of comparing begin() and end(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42585 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a using namespace llvm; in a header file.Dan Gohman2007-10-031-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42584 91177308-0d34-0410-b5e6-96231b3b80d8
* Tone down an overzealous optimization.Dale Johannesen2007-10-031-3/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42582 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2007-10-031-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42579 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1719, by not marking llvm.global.annotations internal.Tanya Lattner2007-10-031-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42578 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak RoundAwayFromZero the bit number below which is truncated, and makeNeil Booth2007-10-031-8/+13
| | | | | | | | | it const. Preparation for APFloat -> hexadecimal string conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42576 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2007-10-031-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42573 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1719, by not marking llvm.noinline internal.Chris Lattner2007-10-031-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42565 91177308-0d34-0410-b5e6-96231b3b80d8
* Bill's example is still not enough to repro this, but it has other issues thatChris Lattner2007-10-031-0/+8
| | | | | | | seem significant as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42564 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor some code from the DomTree and PostDomTree calculate methods up into Owen Anderson2007-10-034-20/+29
| | | | | | | each one's runOnFunction method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42563 91177308-0d34-0410-b5e6-96231b3b80d8
* Another micro-opt.Bill Wendling2007-10-021-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42554 91177308-0d34-0410-b5e6-96231b3b80d8
* Another missed optimization with LICM.Bill Wendling2007-10-021-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42552 91177308-0d34-0410-b5e6-96231b3b80d8
* Small label changes.Bill Wendling2007-10-021-5/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42549 91177308-0d34-0410-b5e6-96231b3b80d8
* Now with source code.Bill Wendling2007-10-021-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42548 91177308-0d34-0410-b5e6-96231b3b80d8
* Now with LL code!Bill Wendling2007-10-021-1/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42547 91177308-0d34-0410-b5e6-96231b3b80d8
* Another missed optimization.Bill Wendling2007-10-021-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42546 91177308-0d34-0410-b5e6-96231b3b80d8