summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Skip functions that return multiple values.Devang Patel2008-03-111-0/+3
| | | | llvm-svn: 48233
* Become multiple return value aware.Devang Patel2008-03-111-1/+5
| | | | | | | Right now, the pass does not optimize tail recursions involving multiple return values. llvm-svn: 48228
* Add TODO reminder.Devang Patel2008-03-111-0/+1
| | | | llvm-svn: 48227
* Give PassManager and FunctionPassManager a common base class, withDan Gohman2008-03-111-1/+1
| | | | | | | | add(Pass *) as a pure virtual member function. This will allow all the various addPassesTo* functions in LLVM to avoid hard-coding what type of PassManager is used. llvm-svn: 48226
* Fix typos in comments.Dan Gohman2008-03-111-2/+2
| | | | llvm-svn: 48225
* Missed part of recommit.Christopher Lamb2008-03-111-4/+7
| | | | llvm-svn: 48224
* Recommitting parts of r48130. These do not appear to cause the observed ↵Christopher Lamb2008-03-118-47/+68
| | | | | | failures. llvm-svn: 48223
* Use TargetRegisterInfo::getPhysicalRegisterRegClass. Remove duplicated code.Evan Cheng2008-03-111-21/+6
| | | | llvm-svn: 48221
* If there are multiple register classes that a register belongs to, return ↵Evan Cheng2008-03-111-4/+27
| | | | | | the super-class (e.g. on x86, returns GR32, not GR32_). llvm-svn: 48220
* When the register allocator runs out of registers, spill a physical register ↵Evan Cheng2008-03-117-14/+192
| | | | | | around the def's and use's of the interval being allocated to make it possible for the interval to target a register and spill it right away and restore a register for uses. This likely generates terrible code but is before than aborting. llvm-svn: 48218
* In 32-bit mode, mark 64-bit GPR's as unallocatable.Evan Cheng2008-03-111-0/+3
| | | | llvm-svn: 48217
* Some LegalizeTypes code factorization and minorDuncan Sands2008-03-115-56/+113
| | | | | | enhancements. llvm-svn: 48215
* compile: double test() {}Chris Lattner2008-03-111-1/+3
| | | | | | | | | | | | | | | | | | | | into: _test: fldz ret instead of: _test: subl $12, %esp #IMPLICIT_DEF %xmm0 movsd %xmm0, (%esp) fldl (%esp) addl $12, %esp ret llvm-svn: 48213
* Fix the build on gcc 4.2.Nick Lewycky2008-03-111-1/+1
| | | | llvm-svn: 48212
* Initial multiple return values support.Devang Patel2008-03-111-19/+95
| | | | llvm-svn: 48210
* Change the model for FP Stack return to use fp operands on the Chris Lattner2008-03-114-34/+162
| | | | | | | RET instruction instead of using FpSET_ST0_32. This also generalizes the code to handling returning of multiple FP results. llvm-svn: 48209
* variadic instructions don't have operand info for variadic arguments.Chris Lattner2008-03-111-1/+2
| | | | llvm-svn: 48208
* Generalize ExpandIntToFP to handle the case where the operand is legalDan Gohman2008-03-112-11/+26
| | | | | | | | and it's the result that requires expansion. This code is a little confusing because the TargetLoweringInfo tables for [US]INT_TO_FP use the operand type (the integer type) rather than the result type. llvm-svn: 48206
* If a register operand comes from the variadic part of a node, don'tChris Lattner2008-03-111-4/+6
| | | | | | verify the register constraint matches what the instruction expects. llvm-svn: 48205
* Temporarily revert 48175.Evan Cheng2008-03-111-7/+1
| | | | llvm-svn: 48204
* Fix thinko: alias always defines new symbol. Even is aliasee itself is ↵Anton Korobeynikov2008-03-112-11/+4
| | | | | | undefined. llvm-svn: 48203
* More APInt-ification.Dan Gohman2008-03-111-7/+7
| | | | llvm-svn: 48201
* abort with an assert instead of a cerr to get line#Chris Lattner2008-03-101-1/+1
| | | | llvm-svn: 48199
* Use utostr instead of a stringstream.Dan Gohman2008-03-101-4/+2
| | | | llvm-svn: 48198
* - Style cleanup in IA64ISelLowering.h: add 'virtual' keyword for consistency.Scott Michel2008-03-102-10/+10
| | | | | | | - Add test pattern matching in CellSPU's icmp32.ll test harness - Fix CellSPU fcmp.ll-generated assert. llvm-svn: 48197
* Correctly clone FlaggedNodes.Dan Gohman2008-03-101-2/+1
| | | | llvm-svn: 48196
* Initialize ArgTypes directly instead of manually copying in the elements.Dan Gohman2008-03-101-4/+1
| | | | llvm-svn: 48195
* APInt-ify this.Dan Gohman2008-03-101-3/+4
| | | | llvm-svn: 48194
* Remove an unnecessary #includeDan Gohman2008-03-101-1/+0
| | | | llvm-svn: 48193
* Don't emit FP_REG_KILL into a block that just returns. NothingChris Lattner2008-03-101-6/+19
| | | | | | can be live out of the block anyway, so it isn't needed. llvm-svn: 48192
* Implement more support for fp-to-i128 and i128-to-fp conversions. Dan Gohman2008-03-102-80/+133
| | | | llvm-svn: 48189
* Disable prolog code that aligns the stack when aDale Johannesen2008-03-101-7/+17
| | | | | | | | | | | | | | local object of >16 byte alignment exists. It does not work and getting it to work is not trivial, as explained in the comment. This fixes all the remaining ppc32 failures in the struct-layout-1 part of the gcc testsuite. (gcc does not support this either, and the only way to get such an object is with __attribute__((aligned)) or generic vectors; it can't be done in a standard-conforming program, or with Altivec. So I think disabling it is OK.) llvm-svn: 48188
* Change the "enable/disable" mechanism so that we can enable PPC registerBill Wendling2008-03-103-58/+77
| | | | | | scavenging for 32-bit and 64-bit separately. llvm-svn: 48186
* Add sanity checksAnton Korobeynikov2008-03-101-0/+10
| | | | llvm-svn: 48184
* Typo: 'function' => 'alias'Anton Korobeynikov2008-03-101-3/+2
| | | | llvm-svn: 48183
* Syntactic sugar'ify stuff :)Anton Korobeynikov2008-03-101-15/+15
| | | | llvm-svn: 48182
* Always run 'make check' :) Fix fallout from prev. commit: query for possibleAnton Korobeynikov2008-03-101-1/+1
| | | | | | alias destination only if we don't have anything to link to llvm-svn: 48181
* Make error messages to have common styleAnton Korobeynikov2008-03-101-18/+12
| | | | llvm-svn: 48180
* Properly link globals with aliasesAnton Korobeynikov2008-03-101-20/+41
| | | | llvm-svn: 48179
* Remove the LinkGlobal weirderness in common linking phase.Anton Korobeynikov2008-03-101-33/+44
| | | | llvm-svn: 48177
* TypoAnton Korobeynikov2008-03-101-1/+1
| | | | llvm-svn: 48176
* If the register allocator ran out of registers, just abort for now.Evan Cheng2008-03-101-1/+7
| | | | llvm-svn: 48175
* Eliminate the FP_GET_ST0/FP_SET_ST0 target-specific dag nodes, just lower to Chris Lattner2008-03-104-84/+42
| | | | | | copyfromreg/copytoreg instead. llvm-svn: 48174
* Fix mul expansion to check the correct number of bits forDan Gohman2008-03-101-4/+3
| | | | | | | zero extension when checking if an unsigned multiply is safe. llvm-svn: 48171
* Somewhat better solution.Evan Cheng2008-03-101-3/+4
| | | | llvm-svn: 48170
* Default ISD::PREFETCH to expand.Evan Cheng2008-03-109-9/+5
| | | | llvm-svn: 48169
* Revert 48125, 48126, and 48130 for now to unbreak some x86-64 tests.Evan Cheng2008-03-1010-82/+56
| | | | llvm-svn: 48167
* fix 80 col violations.Chris Lattner2008-03-101-8/+8
| | | | llvm-svn: 48166
* Restore optimization that merges blocks when inline function Devang Patel2008-03-101-6/+24
| | | | | | has single return value. llvm-svn: 48162
* SimplifyDevang Patel2008-03-101-18/+15
| | | | llvm-svn: 48161
OpenPOWER on IntegriCloud