summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Formatting.Duncan Sands2009-01-281-8/+5
| | | | llvm-svn: 63199
* Rename getAnalysisToUpdate to getAnalysisIfAvailable.Duncan Sands2009-01-2825-56/+56
| | | | llvm-svn: 63198
* Fix PR3415 (infinite loop in EscapeAnalysis) byDuncan Sands2009-01-282-159/+0
| | | | | | deleting the escape analysis pass. llvm-svn: 63197
* The memory alignment requirement on some of the mov{h|l}p{d|s} patterns are ↵Evan Cheng2009-01-282-18/+21
| | | | | | 16-byte. That is overly strict. These instructions read / write f64 memory locations without alignment requirement. llvm-svn: 63195
* Add shuffle splat pattern for x86 sse shifts.Mon P Wang2009-01-281-19/+23
| | | | llvm-svn: 63193
* Clarify comment.Mikhail Glushenkov2009-01-281-1/+6
| | | | llvm-svn: 63171
* Use ValueType::bitsLT to simplify some code.Dan Gohman2009-01-282-2/+2
| | | | llvm-svn: 63170
* Use ZERO_EXTEND instead of ANY_EXTEND when promotingDan Gohman2009-01-282-2/+2
| | | | | | | shift amounts, to avoid implicitly assuming that target architectures will ignore the high bits. llvm-svn: 63169
* Suppress a compile time warning.Evan Cheng2009-01-281-0/+2
| | | | llvm-svn: 63161
* Add type DIE into appropriate context DIE.Devang Patel2009-01-271-3/+17
| | | | llvm-svn: 63154
* Add a DebugLoc field and some simple accessors.Dale Johannesen2009-01-271-7/+46
| | | | llvm-svn: 63152
* Treat [1 x i8] zeroinitializer as a C string, placing such stuff intoAnton Korobeynikov2009-01-273-6/+24
| | | | | | | | | | | | mergeable string section. I don't see any bad impact of such decision (rather then placing it into mergeable const section, as it was before), but at least Darwin linker won't complain anymore. The problem in LLVM is that we don't have special type for string constants (like gcc does). Even more, we have two separate types: ConstatArray for non-null strings and ConstantAggregateZero for null stuff.... It's a bit weird :) llvm-svn: 63142
* Refine DebugLoc per review comments.Evan Cheng2009-01-271-6/+7
| | | | llvm-svn: 63132
* Add an assertion to the form of SelectionDAG::getConstant that takesDan Gohman2009-01-273-7/+13
| | | | | | | | a uint64_t to verify that the value is in range for the given type, to help catch accidental overflow. Fix a few places that relied on getConstant implicitly truncating the value. llvm-svn: 63128
* Reformat the allocation-order arrays to a more conventional style.Dan Gohman2009-01-271-44/+55
| | | | llvm-svn: 63121
* Delete redundant return statements.Dan Gohman2009-01-271-7/+0
| | | | llvm-svn: 63120
* Respect the DisableRedZone flag on PowerPC.Dan Gohman2009-01-271-1/+2
| | | | llvm-svn: 63119
* Simplify findNonImmUse; return the result using the return valueDan Gohman2009-01-271-16/+14
| | | | | | instead of via a by-reference argument. No functionality change. llvm-svn: 63118
* APInt's countLeadingOnes() was broken for negative i128 values,Torok Edwin2009-01-271-1/+7
| | | | | | | | | causing assertion failures in getSExtValue(). Fix it by making highWordBits actually contain what its name says, and add some more unit-tests for APInt. This fixes PR3419. llvm-svn: 63107
* Make the pre-split-limit option more useful by using a per-function counter.Owen Anderson2009-01-271-1/+7
| | | | llvm-svn: 63091
* Implement multiple with overflow by 2 with an add instruction.Evan Cheng2009-01-271-0/+11
| | | | llvm-svn: 63090
* Eliminate unnecessary operands-list traversals.Dan Gohman2009-01-271-6/+3
| | | | llvm-svn: 63088
* Enable the red zone on x86-64 by default.Dan Gohman2009-01-271-1/+1
| | | | llvm-svn: 63078
* Assorted debug info fixes.Devang Patel2009-01-271-17/+19
| | | | | | | | - DW_AT_bit_size is only suitable for bitfields. - Encode source location info for derived types. - Source location and type size info is not useful for subroutine_type (info is included in respective DISubprogram) and array_type. llvm-svn: 63077
* Fix the Red Zone calculation for functions with frame pointers.Dan Gohman2009-01-271-7/+10
| | | | | | | | Don't use the Red Zone when dynamic stack realignment is needed. This could be implemented, but most x86-64 ABIs don't require dynamic stack realignment so it isn't urgent. llvm-svn: 63074
* No need to keep size of DebugLocations vector separately.Evan Cheng2009-01-261-2/+3
| | | | llvm-svn: 63070
* CellSPU:Scott Michel2009-01-266-70/+75
| | | | | | - Update DWARF debugging support. llvm-svn: 63059
* Make the Dwarf macro information section optional; CellSPU's assemblerScott Michel2009-01-262-5/+10
| | | | | | | doesn't support it. The default is set to 'true', so this should not impact any other target backends. llvm-svn: 63058
* Implement Red Zone utilization on x86-64. This is currentlyDan Gohman2009-01-262-0/+19
| | | | | | | disabled by default; I'll enable it when I hook it up with the llvm-gcc flag which controls it. llvm-svn: 63056
* Reapply r63025 and r63026, with fixes for the failing testcases.Owen Anderson2009-01-261-356/+13
| | | | llvm-svn: 63049
* Fix PR3393, which amounts to a bug in the expensiveDuncan Sands2009-01-262-16/+37
| | | | | | | | | checking logic. Rather than make the checking more complicated, I've tweaked some logic to make things conform to how the checking thought things ought to be, since this results in a simpler "mental model". llvm-svn: 63048
* Add method raw_fd_ostream::seek() for random access within a file.Ted Kremenek2009-01-261-0/+6
| | | | llvm-svn: 63044
* Also revert r63206Bill Wendling2009-01-261-0/+321
| | | | llvm-svn: 63041
* Temporarily revert r63025 until the testsuite failures can be fixed.Bill Wendling2009-01-261-12/+34
| | | | llvm-svn: 63040
* During bittest switch lowering emit shift in the test block, which should ↵Anton Korobeynikov2009-01-261-11/+9
| | | | | | | | (theoretically) allow us to generate more efficient code. We don't do this now though :) llvm-svn: 63027
* Get rid of a bunch of dead code now that interval reconstruction is enabled.Owen Anderson2009-01-261-321/+0
| | | | llvm-svn: 63026
* Fix an issue where LiveIntervals was trying to be smart about removing killOwen Anderson2009-01-261-34/+12
| | | | | | | | | markers, and ended up foiling the interval reconstruction. This allows us to turn on reconstruction in the pre alloc splitter, which fixes a number of miscompilations. llvm-svn: 63025
* Enhance logic in X86DAGToDAGISel::PreprocessForRMW which move load inside ↵Evan Cheng2009-01-261-8/+27
| | | | | | callseq_start to allow it to be folded into a call. It was not considering the cases where a token factor is between the load and the callseq_start. llvm-svn: 63022
* Silence a bogus compiler warning.Evan Cheng2009-01-261-1/+1
| | | | llvm-svn: 63021
* Actually source file has already been uniquified into an id during isel. ↵Evan Cheng2009-01-261-15/+3
| | | | | | Eliminate the StringMap. llvm-svn: 63009
* Add data structure to define and track debug location during codegen.Evan Cheng2009-01-261-0/+27
| | | | llvm-svn: 63008
* Fixed optimization of combining two shuffles where the first shuffle inputsMon P Wang2009-01-261-1/+3
| | | | | | has a different number of elements than the output. llvm-svn: 62998
* Take the next steps in making SDUse more consistent with LLVM Use, andDan Gohman2009-01-264-88/+77
| | | | | | | | | | | | | | | | | tidy up SDUse and related code. - Replace the operator= member functions with a set method, like LLVM Use has, and variants setInitial and setNode, which take care up updating use lists, like LLVM Use's does. This simplifies code that calls these functions. - getSDValue() is renamed to get(), as in LLVM Use, though most places can either use the implicit conversion to SDValue or the convenience functions instead. - Fix some more node vs. value terminology issues. Also, eliminate the one remaining use of SDOperandPtr, and SDOperandPtr itself. llvm-svn: 62995
* Untabify code.Scott Michel2009-01-266-49/+49
| | | | llvm-svn: 62991
* CellSPU:Scott Michel2009-01-266-231/+468
| | | | | | | | | | | | | | | | - Rename fcmp.ll test to fcmp32.ll, start adding new double tests to fcmp64.ll - Fix select_bits.ll test - Capitulate to the DAGCombiner and move i64 constant loads to instruction selection (SPUISelDAGtoDAG.cpp). <rant>DAGCombiner will insert all kinds of 64-bit optimizations after operation legalization occurs and now we have to do most of the work that instruction selection should be doing twice (once to determine if v2i64 build_vector can be handled by SelectCode(), which then runs all of the predicates a second time to select the necessary instructions.) But, CellSPU is a good citizen.</rant> llvm-svn: 62990
* Fix a typoNate Begeman2009-01-261-3/+2
| | | | llvm-svn: 62989
* De-identifying per sabre reviewNate Begeman2009-01-261-56/+59
| | | | llvm-svn: 62988
* Handle single-entry phi nodes gracefully in condprop.Chris Lattner2009-01-261-0/+8
| | | | llvm-svn: 62985
* Fix PR3408 by making a non-obvious assumption very obvious, and Chris Lattner2009-01-261-2/+6
| | | | | | handling the flaw inherent in that assumption. :) llvm-svn: 62984
* More cleanups and simplifications, no functionality change.Chris Lattner2009-01-261-47/+23
| | | | llvm-svn: 62983
OpenPOWER on IntegriCloud