summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Propagate debug info when building SelectionDAG.Dale Johannesen2009-01-301-399/+519
| | | | llvm-svn: 63359
* Remove dead code, again.Devang Patel2009-01-301-14/+0
| | | | llvm-svn: 63358
* Remove dead code.Devang Patel2009-01-301-10/+0
| | | | llvm-svn: 63357
* Add DW_AT_declaration for class methods.Devang Patel2009-01-301-2/+5
| | | | llvm-svn: 63356
* Propagate debug location info for the token factor.Bill Wendling2009-01-301-5/+5
| | | | llvm-svn: 63355
* Add DebugLoc propagation to some of the methods in DAG combiner.Bill Wendling2009-01-301-27/+34
| | | | llvm-svn: 63350
* Correct the algorithms for choosing spill and restore points so that we ↵Owen Anderson2009-01-291-2/+23
| | | | | | | | don't try to insert loads/stores between call frame setup and the actual call. This fixes the last known failure for the pre-alloc-splitter. llvm-svn: 63339
* Explicitly add PseudoSourceValue information when loweringDan Gohman2009-01-291-10/+11
| | | | | | BUILD_VECTOR and conversions to stack operations. llvm-svn: 63333
* Make a few things const, fix some comments, and simplifyDan Gohman2009-01-291-16/+8
| | | | | | some assertions. llvm-svn: 63328
* Local register allocator shouldn't assume only the entry and landing pad ↵Evan Cheng2009-01-291-16/+13
| | | | | | basic blocks have live-ins. llvm-svn: 63323
* Fix two typos that Duncan spotted in a comment.Dan Gohman2009-01-291-1/+1
| | | | llvm-svn: 63312
* In the case of an extractelement on an insertelement value,Dan Gohman2009-01-291-1/+5
| | | | | | | the element indices may be equal if either one is not a constant. llvm-svn: 63311
* Revert r63273. This was already implemented by Dale. There's no need for myBill Wendling2009-01-291-72/+101
| | | | | | change. llvm-svn: 63301
* Fix an issue where restores could be inserted after a terminator instruction,Owen Anderson2009-01-291-4/+12
| | | | | | | | and an iterator invalidation issue. FreeBench/pifft no longer miscompiles with these fixes! llvm-svn: 63293
* Comments are good. :-)Owen Anderson2009-01-291-3/+30
| | | | llvm-svn: 63276
* Add support for aggressive load-use-store folding. This takes care of the Owen Anderson2009-01-291-19/+85
| | | | | | vast majority of code size regressions introduced by pre-alloc-splitting. llvm-svn: 63274
* - Add DebugLoc to getTargetNode(). Bill Wendling2009-01-291-101/+72
| | | | | | | | | - Modify TableGen to add the DebugLoc when calling getTargetNode. (The light-weight wrappers are only temporary. The non-DebugLoc version will be removed once the whole debug info stuff is finished with.) llvm-svn: 63273
* Exit with nice warnings when register allocator run out of registers.Evan Cheng2009-01-293-41/+88
| | | | llvm-svn: 63267
* Make x86's BT instruction matching more thorough, and add someDan Gohman2009-01-292-20/+73
| | | | | | | | | 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. llvm-svn: 63266
* 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(). llvm-svn: 63263
* Add DebugLoc-sensitive versions of many node creationDale Johannesen2009-01-291-0/+458
| | | | | | functions. Currently omitted: memcpy, memmove, memset. llvm-svn: 63259
* Fix comment about removeRange.Evan Cheng2009-01-291-1/+1
| | | | llvm-svn: 63255
* Add DebugLoc to the getNode() methods.Bill Wendling2009-01-281-41/+134
| | | | llvm-svn: 63245
* Add DebugLoc-aware constructors for SDNode derivedDale Johannesen2009-01-281-0/+23
| | | | | | | classes (those that reasonably have a DebugLoc associated with them). llvm-svn: 63236
* Do not forget to derived type while constructing an array type.Devang Patel2009-01-281-0/+2
| | | | llvm-svn: 63233
* Fixed extract element when the result needs to be promoted and the input ↵Mon P Wang2009-01-281-0/+2
| | | | | | widened. llvm-svn: 63217
* Make isOperationLegal do what its name suggests, and introduce aDan Gohman2009-01-285-55/+62
| | | | | | | | | | | | | | | 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. llvm-svn: 63212
* Formatting.Duncan Sands2009-01-281-8/+5
| | | | llvm-svn: 63199
* Rename getAnalysisToUpdate to getAnalysisIfAvailable.Duncan Sands2009-01-2810-14/+14
| | | | llvm-svn: 63198
* 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
* 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
* 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
* Delete redundant return statements.Dan Gohman2009-01-271-7/+0
| | | | llvm-svn: 63120
* Make the pre-split-limit option more useful by using a per-function counter.Owen Anderson2009-01-271-1/+7
| | | | llvm-svn: 63091
* 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
* No need to keep size of DebugLocations vector separately.Evan Cheng2009-01-261-2/+3
| | | | llvm-svn: 63070
* Make the Dwarf macro information section optional; CellSPU's assemblerScott Michel2009-01-261-5/+9
| | | | | | | doesn't support it. The default is set to 'true', so this should not impact any other target backends. llvm-svn: 63058
* 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
* 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
* 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
OpenPOWER on IntegriCloud