aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Exit with nice warnings when register allocator run out of registers.Evan Cheng2009-01-295-41/+124
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63267 91177308-0d34-0410-b5e6-96231b3b80d8
* Make x86's BT instruction matching more thorough, and add someDan Gohman2009-01-296-40/+562
| | | | | | | | | | dagcombines that help it match in several more cases. Add several more cases to test/CodeGen/X86/bt.ll. This doesn't yet include matching for BT with an immediate operand, it just covers more register+register cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63266 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the code that starts printing the Select_* functionsDan Gohman2009-01-291-3/+3
| | | | | | | | | after the code that sorts the patterns. This doesn't affect the output, but it makes the code a little easier to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63265 91177308-0d34-0410-b5e6-96231b3b80d8
* A slight compile time optimization. If the caller knows there isn't a free ↵Evan Cheng2009-01-291-6/+6
| | | | | | register getReg() should not call getFreeReg(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63263 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugLoc-sensitive versions of many node creationDale Johannesen2009-01-292-0/+547
| | | | | | | | functions. Currently omitted: memcpy, memmove, memset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63259 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comment about removeRange.Evan Cheng2009-01-292-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63255 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed lowering of v816 shuffles.Mon P Wang2009-01-282-1/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63252 91177308-0d34-0410-b5e6-96231b3b80d8
* Make test platform agnostic.Bill Wendling2009-01-281-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63247 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugLoc to the getNode() methods.Bill Wendling2009-01-282-51/+177
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63245 91177308-0d34-0410-b5e6-96231b3b80d8
* Give this test an explicit target, to make it host-independent.Dan Gohman2009-01-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63244 91177308-0d34-0410-b5e6-96231b3b80d8
* SDOperand has been renamed to SDValue. SDNode::Val is nowDan Gohman2009-01-281-14/+14
| | | | | | | accessed via SDNode::getNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63240 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more comments describing SDNode operator codes.Dan Gohman2009-01-281-8/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63239 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugLoc-aware constructors for SDNode derivedDale Johannesen2009-01-282-0/+107
| | | | | | | | | classes (those that reasonably have a DebugLoc associated with them). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63236 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some comments on ISD::NodeType.Dan Gohman2009-01-281-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63234 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not forget to derived type while constructing an array type.Devang Patel2009-01-282-0/+95
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63233 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some issues with volatility, move "CanConvertToScalar" check Chris Lattner2009-01-282-21/+45
| | | | | | | after the others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63227 91177308-0d34-0410-b5e6-96231b3b80d8
* strengthen this test.Chris Lattner2009-01-281-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63222 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed extract element when the result needs to be promoted and the input ↵Mon P Wang2009-01-281-0/+2
| | | | | | widened. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63217 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete unnecessary elses.Dan Gohman2009-01-281-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63214 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable PACKAGE_VERSION in cmake builds, this unbreaks the clang build with ↵Chris Lattner2009-01-282-2/+3
| | | | | | | | | cmake. Patch by Piotr Rak! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63213 91177308-0d34-0410-b5e6-96231b3b80d8
* Make isOperationLegal do what its name suggests, and introduce aDan Gohman2009-01-286-57/+72
| | | | | | | | | | | | | | | | new isOperationLegalOrCustom, which does what isOperationLegal previously did. Update a bunch of callers to use isOperationLegalOrCustom instead of isOperationLegal. In some case it wasn't obvious which behavior is desired; when in doubt I changed then to isOperationLegalOrCustom as that preserves their previous behavior. This is for the second half of PR3376. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63212 91177308-0d34-0410-b5e6-96231b3b80d8
* Formatting.Duncan Sands2009-01-281-8/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63199 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename getAnalysisToUpdate to getAnalysisIfAvailable.Duncan Sands2009-01-2829-85/+87
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63198 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR3415 (infinite loop in EscapeAnalysis) byDuncan Sands2009-01-285-220/+0
| | | | | | | deleting the escape analysis pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63197 91177308-0d34-0410-b5e6-96231b3b80d8
* The memory alignment requirement on some of the mov{h|l}p{d|s} patterns are ↵Evan Cheng2009-01-283-18/+40
| | | | | | 16-byte. That is overly strict. These instructions read / write f64 memory locations without alignment requirement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63195 91177308-0d34-0410-b5e6-96231b3b80d8
* Added sse test patterns for r62979 and r63193.Mon P Wang2009-01-284-0/+254
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63194 91177308-0d34-0410-b5e6-96231b3b80d8
* Add shuffle splat pattern for x86 sse shifts.Mon P Wang2009-01-281-19/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63193 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo.Mikhail Glushenkov2009-01-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63174 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the generated docs.Mikhail Glushenkov2009-01-281-28/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63173 91177308-0d34-0410-b5e6-96231b3b80d8
* Add three new option properties.Mikhail Glushenkov2009-01-286-55/+201
| | | | | | Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63172 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify comment.Mikhail Glushenkov2009-01-281-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63171 91177308-0d34-0410-b5e6-96231b3b80d8
* Use ValueType::bitsLT to simplify some code.Dan Gohman2009-01-282-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63170 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63169 91177308-0d34-0410-b5e6-96231b3b80d8
* Comment fixes.Bill Wendling2009-01-281-9/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63164 91177308-0d34-0410-b5e6-96231b3b80d8
* Suppress a compile time warning.Evan Cheng2009-01-281-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63161 91177308-0d34-0410-b5e6-96231b3b80d8
* Embalm my ideas of how things should work. Not thatDale Johannesen2009-01-272-1/+3
| | | | | | | | anyone will pay attention. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63155 91177308-0d34-0410-b5e6-96231b3b80d8
* Add type DIE into appropriate context DIE.Devang Patel2009-01-271-3/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63154 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a DebugLoc field and some simple accessors.Dale Johannesen2009-01-272-9/+75
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63152 91177308-0d34-0410-b5e6-96231b3b80d8
* Reorder args, constify.Dale Johannesen2009-01-271-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63151 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testcase for r63142.Bill Wendling2009-01-271-0/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63149 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63142 91177308-0d34-0410-b5e6-96231b3b80d8
* Use .empty() instead of comparing .size() with 0.Dan Gohman2009-01-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63139 91177308-0d34-0410-b5e6-96231b3b80d8
* Update to latest spelling.Dale Johannesen2009-01-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63138 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DebugLoc field and simple accessors.Dale Johannesen2009-01-271-3/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63136 91177308-0d34-0410-b5e6-96231b3b80d8
* Refine DebugLoc per review comments.Evan Cheng2009-01-273-19/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63132 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an assertion to the form of SelectionDAG::getConstant that takesDan Gohman2009-01-274-9/+18
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63128 91177308-0d34-0410-b5e6-96231b3b80d8
* Reformat the allocation-order arrays to a more conventional style.Dan Gohman2009-01-271-44/+55
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63121 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete redundant return statements.Dan Gohman2009-01-271-7/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63120 91177308-0d34-0410-b5e6-96231b3b80d8
* Respect the DisableRedZone flag on PowerPC.Dan Gohman2009-01-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63119 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify findNonImmUse; return the result using the return valueDan Gohman2009-01-271-16/+14
| | | | | | | instead of via a by-reference argument. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63118 91177308-0d34-0410-b5e6-96231b3b80d8