summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Remove dead comments.Evan Cheng2008-12-181-3/+0
| | | | llvm-svn: 61201
* Oops! Left out a line.Nick Lewycky2008-12-181-0/+1
| | | | | | Simplifying the sdiv might allow further simplifications for our users. llvm-svn: 61196
* Make all the vector elements positive in an srem of constant vector.Nick Lewycky2008-12-182-0/+30
| | | | llvm-svn: 61195
* Fix PR2929 by making bugpoint/code extract propagate the nothrowChris Lattner2008-12-181-0/+4
| | | | | | bit from the original function to the cloned one. llvm-svn: 61194
* Fix typo in error message.Mikhail Glushenkov2008-12-181-1/+1
| | | | llvm-svn: 61191
* Recommit this grammar fix that was backed out along with nocapture.Nick Lewycky2008-12-181-5/+5
| | | | llvm-svn: 61189
* Give MachineLICM a name, for -time-passes etc.Dan Gohman2008-12-181-0/+2
| | | | llvm-svn: 61184
* Move post-RA scheduling before branch folding for now, because branchDan Gohman2008-12-181-7/+7
| | | | | | | folding's tail merging doesn't currently preserve liveness information which post-RA scheduling requires. llvm-svn: 61183
* Re-apply r61158 in a form that no longer breaks tests.Owen Anderson2008-12-181-36/+61
| | | | llvm-svn: 61182
* Revert previous patch, appears to break bootstrap.Dale Johannesen2008-12-181-88/+29
| | | | llvm-svn: 61181
* Mark the x86 fp stack registers as "reserved". This tells LiveVariablesDan Gohman2008-12-181-0/+14
| | | | | | | | and the RegisterScavenger not to expect traditional liveness techniques are applicable to these registers, since we don't fully modify the effects of push and pop after stackification. llvm-svn: 61179
* Fix the time regression I introduced in 464.h264ref withDale Johannesen2008-12-181-29/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | my last patch to this file. The issue there was that all uses of an IV inside a loop are actually references to Base[IV*2], and there was one use outside that was the same but LSR didn't see the base or the scaling because it didn't recurse into uses outside the loop; thus, it used base+IV*scale mode inside the loop instead of pulling base out of the loop. This was extra bad because register pressure later forced both base and IV into memory. Doing that recursion, at least enough to figure out addressing modes, is a good idea in general; the change in AddUsersIfInteresting does this. However, there were side effects.... It is also possible for recursing outside the loop to introduce another IV where there was only 1 before (if the refs inside are not scaled and the ref outside is). I don't think this is a common case, but it's in the testsuite. It is right to be very aggressive about getting rid of such introduced IVs (CheckForIVReuse and the handling of nonzero RewriteFactor in StrengthReduceStridedIVUsers). In the testcase in question the new IV produced this way has both a nonconstant stride and a nonzero base, neither of which was handled before. (This patch does not handle all the cases where this can happen.) And when inserting new code that feeds into a PHI, it's right to put such code at the original location rather than in the PHI's immediate predecessor(s) when the original location is outside the loop (a case that couldn't happen before) (RewriteInstructionToUseNewBase); better to avoid making multiple copies of it in this case. Everything above is exercised in CodeGen/X86/lsr-negative-stride.ll (and ifcvt4 in ARM which is the same IR). llvm-svn: 61178
* reapply this hunk from Bill's reversion in r61169, it is conservativeChris Lattner2008-12-181-0/+5
| | | | | | and safe and orthogonal from turning off load pre. llvm-svn: 61177
* XFAIL on Linux.Bill Wendling2008-12-181-1/+1
| | | | llvm-svn: 61176
* make instnamer name unnamed blocks as well as instructions and args.Chris Lattner2008-12-181-1/+5
| | | | llvm-svn: 61175
* Do not XFAIL.Bill Wendling2008-12-181-1/+0
| | | | llvm-svn: 61174
* Temporarily revert r61027. It was causing a bootstrap failure in "release" modeBill Wendling2008-12-171-6/+1
| | | | | | | | | | | | | | | | | | | | | | | with everyone's favorite error messages: Comparing stages 2 and 3 warning: ./cc1-checksum.o differs warning: ./cc1plus-checksum.o differs Bootstrap comparison failure! ./c-decl.o differs ./cp/decl.o differs ./df-core.o differs ./gcc.o differs ./i386.o differs ./stor-layout.o differs ./tree-pretty-print.o differs ./tree.o differs make[2]: *** [compare] Error 1 make[1]: *** [stage3-bubble] Error 2 See PR3227. llvm-svn: 61169
* XFAIL for now.Devang Patel2008-12-171-0/+1
| | | | llvm-svn: 61167
* Xfail these tests for now.Devang Patel2008-12-174-0/+4
| | | | llvm-svn: 61166
* Today the front-ends (llvm-gcc and clang) generate multiple ↵Devang Patel2008-12-173-23/+74
| | | | | | | | llvm.dbg.compile_units to identify source file for various debug entities. Each llvm.dbg.compile_unit matches one file on the disk. However, the backend only supports one DW_TAG_compile_unit per .o file. The backend selects first compile_unit from the vector to construct DW_TAG_compile_unit entry, which is not correct in all cases. First step to resolve this is, record file name and directory directly in debug info for various debug entities. llvm-svn: 61164
* Revert r61158 for now, as it caused some test failures.Owen Anderson2008-12-171-46/+36
| | | | llvm-svn: 61159
* Fix miscompilations caused by renumbering, and enable it as part of prealloc ↵Owen Anderson2008-12-171-36/+46
| | | | | | splitting. llvm-svn: 61158
* This adds some missing functions to the C binding:Chris Lattner2008-12-172-0/+33
| | | | | | | | | | - ability to insert previously created instructions using a builder - creation of aliases - creation of inline asm constants Patch by Zoltan Varga! llvm-svn: 61153
* Forgot to revert r61031 when I reverted r61019, r61030, and r61040.Bill Wendling2008-12-173-1355/+1343
| | | | llvm-svn: 61150
* Simplified marking code regions -- no need to use <div> to surround <pre> tags.Misha Brukman2008-12-171-38/+18
| | | | llvm-svn: 61143
* Instead of referring to the license file in the 2.3 release, refer to theMisha Brukman2008-12-171-1/+1
| | | | | | always-current SVN version. llvm-svn: 61142
* Added mention of the RELEASE_24 tag for the 2.4 release.Misha Brukman2008-12-171-1/+2
| | | | llvm-svn: 61138
* Fix expansion of vsetcc to set the high bit for true instead of 1.Mon P Wang2008-12-171-4/+6
| | | | llvm-svn: 61129
* insert some sequence points and preincrement an iterator to avoidChris Lattner2008-12-171-7/+8
| | | | | | iterator invalidation problems. llvm-svn: 61124
* Enhance heap sra to be substantially more aggressive w.r.t PHIChris Lattner2008-12-172-105/+223
| | | | | | | | | nodes. This allows it to do fairly general phi insertion if a load from a pointer global wants to be SRAd but the load is used by (recursive) phi nodes. This fixes a pessimization on ppc introduced by Load PRE. llvm-svn: 61123
* Double the amount of memory reserved for SUnits. This is aDan Gohman2008-12-171-1/+3
| | | | | | | | | temporary workaround for an obscure bug. When node cloning is used, it is possible that more SUnits will be created, and if the SUnits std::vector has to reallocate, it will invalidate all the graph edges. llvm-svn: 61122
* Use getDepth() and getHeight() instead of accessing theDan Gohman2008-12-171-2/+2
| | | | | | | Depth and Height members directly, as they may not be current. llvm-svn: 61121
* Fix the comments for getDepth and getHeight.Dan Gohman2008-12-171-3/+3
| | | | llvm-svn: 61120
* Fix for PR3225: disable a broken optimization inEli Friedman2008-12-172-0/+22
| | | | | | | | | DAGTypeLegalizer::ExpandShiftWithKnownAmountBit. In terms of restoring the optimization, the best fix here isn't obvious... any ideas? llvm-svn: 61119
* Update also the generated docs.Mikhail Glushenkov2008-12-171-1/+6
| | | | llvm-svn: 61118
* Some enhancements for the 'case' expression.Mikhail Glushenkov2008-12-173-8/+36
| | | | | | Add (error) and (empty). llvm-svn: 61117
* Clarify that the scale factor from CheckForIVReuseDale Johannesen2008-12-161-11/+26
| | | | | | | | can be negative. Keep track of whether all uses of an IV are outside the loop. Some cosmetics; no functional change. llvm-svn: 61109
* A new dag combine; several permutations of thisDale Johannesen2008-12-162-0/+20
| | | | | | are there under ADD, this one was missing. llvm-svn: 61107
* Add code to renumber split intervals into new vregs. This is disabled for ↵Owen Anderson2008-12-161-0/+48
| | | | | | now until I finish working out some iterator invalidation issues. llvm-svn: 61104
* Fix another crash found by inspection. If we have a PHI node mergingChris Lattner2008-12-162-47/+92
| | | | | | | the load multiple times, make sure the check the uses of the PHI to ensure they are transformable. llvm-svn: 61102
* fix a crash found by inspection.Chris Lattner2008-12-163-9/+30
| | | | llvm-svn: 61101
* Add a helper to remove a branch and DCE the condition, and use it Eli Friedman2008-12-162-32/+71
| | | | | | | | consistently for deleting branches. In addition to being slightly more readable, this makes SimplifyCFG a bit better about cleaning up after itself when it makes conditions unused. llvm-svn: 61100
* Eliminate the loop that walks the critical path. Instead, just track theDan Gohman2008-12-161-54/+64
| | | | | | | position in the critical path during the main instruction walk. This eliminates the need for the CritialAntiDep DenseMap. llvm-svn: 61096
* Remove empty test.Bill Wendling2008-12-161-0/+0
| | | | llvm-svn: 61095
* Temporarily revert r61019, r61030, and r61040. These were breaking LLVM ReleaseBill Wendling2008-12-1610-111/+41
| | | | | | builds. llvm-svn: 61094
* Preserve SourceValue information when lowering produces multiple loads fromDan Gohman2008-12-161-3/+6
| | | | | | different offsets within the same stack slot. llvm-svn: 61093
* We have decided not to support inline asm where an output operand with a ↵Evan Cheng2008-12-162-11/+13
| | | | | | matching input operand with incompatible type (i.e. either one is a floating point and the other is an integer or the sizes of the types differ). SelectionDAGBuild will catch these and exit with an error. llvm-svn: 61092
* CMake: Added DbgInfoPrinter.cpp to lib/Analysis/CMakeFiles.txt.Oscar Fuentes2008-12-161-0/+1
| | | | llvm-svn: 61087
* add testcase for -print-dbginfoTorok Edwin2008-12-161-0/+136
| | | | llvm-svn: 61086
* Add -print-dbginfo pass that prints LLVM IR with comments inserted to showTorok Edwin2008-12-163-0/+149
| | | | | | | which source/line a certain BB/instruction comes from, original variable names, and original (unmangled) C++ name of functions. llvm-svn: 61085
OpenPOWER on IntegriCloud