summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a warning about comparison between signed and unsigned,Dan Gohman2008-02-141-1/+1
| | | | | | being consistent with the rest of the APInt implementation. llvm-svn: 47138
* Fix PR2029Chris Lattner2008-02-142-0/+25
| | | | llvm-svn: 47129
* Fix a miscompilation from Dan's recent apintification.Chris Lattner2008-02-142-3/+9
| | | | llvm-svn: 47128
* Fix single precision FP constants on SPU. They are actually legal,Nate Begeman2008-02-143-20/+9
| | | | | | which allows us to kill a target-specific node. llvm-svn: 47127
* Rename CFEBuildInstrs.html to GCCFEBuildInstrs.html.Duncan Sands2008-02-145-264/+293
| | | | | | | Update all references to it and place a redirection page at the old address. llvm-svn: 47124
* In TargetLowering::LowerCallTo, don't assert thatDuncan Sands2008-02-1411-38/+62
| | | | | | | | | | | | | | | | | the return value is zero-extended if it isn't sign-extended. It may also be any-extended. Also, if a floating point value was returned in a larger floating point type, pass 1 as the second operand to FP_ROUND, which tells it that all the precision is in the original type. I think this is right but I could be wrong. Finally, when doing libcalls, set isZExt on a parameter if it is "unsigned". Currently isSExt is set when signed, and nothing is set otherwise. This should be right for all calls to standard library routines. llvm-svn: 47122
* Change how FP immediates are handled. Nate Begeman2008-02-1413-44/+63
| | | | | | | | | | | | | | 1) ConstantFP is now expand by default 2) ConstantFP is not turned into TargetConstantFP during Legalize if it is legal. This allows ConstantFP to be handled like Constant, allowing for targets that can encode FP immediates as MachineOperands. As a bonus, fix up Itanium FP constants, which now correctly match, and match more constants! Hooray. llvm-svn: 47121
* Remove llvm-upgradeTanya Lattner2008-02-1447-346/+267
| | | | llvm-svn: 47119
* Support a new type of MachineOperand, MO_FPImmediate, used for holdingNate Begeman2008-02-142-0/+25
| | | | | | FP Immediates, crazily enough llvm-svn: 47117
* simplify code, no functionality change.Chris Lattner2008-02-141-7/+9
| | | | llvm-svn: 47116
* Move some useful operands up into the all-targets .tdNate Begeman2008-02-142-3/+3
| | | | llvm-svn: 47115
* Nuke dead commentNate Begeman2008-02-141-2/+0
| | | | llvm-svn: 47114
* Testcase for PR2032.Nick Lewycky2008-02-141-0/+22
| | | | llvm-svn: 47113
* Fix PR2032. Inform the alias analysis of changes to the underlying program.Nick Lewycky2008-02-141-0/+2
| | | | llvm-svn: 47111
* Remove llvm-upgrade.Tanya Lattner2008-02-1443-597/+561
| | | | llvm-svn: 47110
* upgrade some entries, remove stuff that is done.Chris Lattner2008-02-142-134/+46
| | | | llvm-svn: 47109
* the mid-level optimizer removes this stuff.Chris Lattner2008-02-141-26/+0
| | | | llvm-svn: 47108
* this one is easy.Chris Lattner2008-02-141-1/+1
| | | | llvm-svn: 47107
* This readme entry is done, testcase here: CodeGen/X86/zero-remat.llChris Lattner2008-02-142-14/+2
| | | | llvm-svn: 47106
* PR2027, Fix bugpoint's -find-bugs option, clean up the code.Nick Lewycky2008-02-141-11/+8
| | | | llvm-svn: 47105
* Fix test.Evan Cheng2008-02-141-1/+1
| | | | llvm-svn: 47102
* Allow the APInt form of ComputeMaskedBits to operate on i128 types.Dan Gohman2008-02-131-4/+7
| | | | llvm-svn: 47101
* Assigning an APInt to 0 with plain assignment gives it a one-bitDan Gohman2008-02-131-1/+1
| | | | | | size. Initialize these APInts to properly-sized zero values. llvm-svn: 47099
* Avoid setting bits that aren't demanded.Dan Gohman2008-02-131-3/+3
| | | | llvm-svn: 47098
* Fix a typo in a comment.Dan Gohman2008-02-131-1/+1
| | | | llvm-svn: 47097
* Simplify some logic in ComputeMaskedBits. And change ComputeMaskedBitsDan Gohman2008-02-1313-56/+64
| | | | | | to pass the mask APInt by value, not by reference. llvm-svn: 47096
* A loop latch phi node may have uses inside loop, not just in loop header.Devang Patel2008-02-132-4/+79
| | | | llvm-svn: 47093
* Rename APInt's isPositive to isNonNegative, to reflect what itDan Gohman2008-02-132-12/+13
| | | | | | actually does. llvm-svn: 47090
* While moving exit condition, do not drop loop latch on the floor.Devang Patel2008-02-132-4/+81
| | | | llvm-svn: 47089
* Add countTrailingOnes member functions to APInt.Dan Gohman2008-02-132-2/+24
| | | | llvm-svn: 47086
* Fix a typo in a comment.Dan Gohman2008-02-131-1/+1
| | | | llvm-svn: 47085
* Add count{Leading,Trailing}Ones_{32,64} functions with simple implementations.Dan Gohman2008-02-131-0/+32
| | | | llvm-svn: 47084
* Keep track of exit value operand number when operands are swapped.Devang Patel2008-02-132-1/+73
| | | | llvm-svn: 47082
* Enable exception handling int JITNicolas Geoffray2008-02-1313-8/+961
| | | | llvm-svn: 47079
* New test, see comments.Dale Johannesen2008-02-131-0/+48
| | | | llvm-svn: 47078
* Teach LegalizeTypes how to expand and promote CTLZ,Duncan Sands2008-02-134-30/+119
| | | | | | | | | | | | | | | | | | CTTZ and CTPOP. The expansion code differs from that in LegalizeDAG in that it chooses to take the CTLZ/CTTZ count from the Hi/Lo part depending on whether the Hi/Lo value is zero, not on whether CTLZ/CTTZ of Hi/Lo returned 32 (or whatever the width of the type is) for it. I made this change because the optimizers may well know that Hi/Lo is zero and exploit it. The promotion code for CTTZ also differs from that in LegalizeDAG: it uses an "or" to get the right result when the original value is zero, rather than using a compare and select. This also means the value doesn't need to be zero extended. llvm-svn: 47075
* gcc 3.2.3 is also bad.Chris Lattner2008-02-131-1/+2
| | | | llvm-svn: 47073
* Fix the PPC JIT regressions by encoding zeroreg as 0 for BLR.Chris Lattner2008-02-131-0/+1
| | | | llvm-svn: 47067
* remove some dead code.Chris Lattner2008-02-131-4/+0
| | | | llvm-svn: 47066
* Remove use of ltdlDevang Patel2008-02-136-5076/+17
| | | | llvm-svn: 47065
* Add notes on Ada compilers that can be used forDuncan Sands2008-02-131-10/+21
| | | | | | | the build. Put all items that the user should specify in bold. Make it a debug build. llvm-svn: 47063
* Fix typo. Thanks to Duncan for noticing.Wojciech Matyjewicz2008-02-131-1/+1
| | | | llvm-svn: 47062
* Add comments as per review feedback.Wojciech Matyjewicz2008-02-131-5/+13
| | | | llvm-svn: 47061
* Some code clean up.Evan Cheng2008-02-131-33/+34
| | | | llvm-svn: 47060
* Simplify.Evan Cheng2008-02-131-8/+8
| | | | llvm-svn: 47059
* Simplify.Evan Cheng2008-02-131-3/+1
| | | | llvm-svn: 47058
* Fix a potential serious problem where kills belonging to the val# defined by ↵Evan Cheng2008-02-131-3/+2
| | | | | | a two-address instruction is also on the val# that defines the input. llvm-svn: 47057
* * Cannot safely commute an instruction there are other defs which can reach ↵Evan Cheng2008-02-131-1/+5
| | | | | | | | its uses. * Ignore copy instructions which have already been coalesced. llvm-svn: 47056
* Add a note pointing to PR1996.Eli Friedman2008-02-131-0/+1
| | | | llvm-svn: 47055
* In SDISel, for targets that support FORMAL_ARGUMENTS nodes, lower thisChris Lattner2008-02-132-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | node as soon as we create it in SDISel. Previously we would lower it in legalize. The problem with this is that it only exposes the argument loads implied by FORMAL_ARGUMENTs after legalize, so that only dag combine 2 can hack on them. This causes us to miss some optimizations because datatype expansion also happens here. Exposing the loads early allows us to do optimizations on them. For example we now compile arg-cast.ll to: _foo: movl $2147483647, %eax andl 8(%esp), %eax ret where we previously produced: _foo: subl $12, %esp movsd 16(%esp), %xmm0 movsd %xmm0, (%esp) movl $2147483647, %eax andl 4(%esp), %eax addl $12, %esp ret It might also make sense to do this for ISD::CALL nodes, which have implicit stores on many targets. llvm-svn: 47054
OpenPOWER on IntegriCloud