summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Move the include of MachineLocation.h into MachineModuleInfo.hDan Gohman2008-10-161-1/+0
| | | | | | | | because it declares a std::vector<MachineMove>, and strict concept checking requires the definition of MachineMove to be available. llvm-svn: 57617
* Fix a subtle bug in DeadMachineInstructionElim's livenessDan Gohman2008-10-161-1/+4
| | | | | | | computation. A def of a register doesn't necessarily kill live super-registers. llvm-svn: 57614
* Adjust whitespace in debug messages to be more consistentDan Gohman2008-10-152-5/+5
| | | | | | with other debug messages. llvm-svn: 57543
* - Add target lowering hooks that specify which setcc conditions are illegal,Evan Cheng2008-10-152-5/+55
| | | | | | | | | | | i.e. conditions that cannot be checked with a single instruction. For example, SETONE and SETUEQ on x86. - Teach legalizer to implement *illegal* setcc as a and / or of a number of legal setcc nodes. For now, only implement FP conditions. e.g. SETONE is implemented as SETO & SETNE, SETUEQ is SETUO | SETEQ. - Move x86 target over. llvm-svn: 57542
* FastISel support for exception-handling constructs.Dan Gohman2008-10-142-48/+119
| | | | | | | | | - Move the EH landing-pad code and adjust it so that it works with FastISel as well as with SDISel. - Add FastISel support for @llvm.eh.exception and @llvm.eh.selector. llvm-svn: 57539
* Rename LoadX to LoadExt.Evan Cheng2008-10-143-16/+16
| | | | llvm-svn: 57526
* Fix command-line option printing to print two spaces where needed,Dan Gohman2008-10-1410-12/+12
| | | | | | | | | instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. llvm-svn: 57521
* FIX PR2794. Make sure SIGN_EXTEND_INREG nodes introduced by ↵Evan Cheng2008-10-131-1/+4
| | | | | | LegalizeSetCCOperands are leglized. Patch by Richard Pennington. llvm-svn: 57460
* Also update sub-register intervals after a trivial computation is rematt'ed ↵Evan Cheng2008-10-131-0/+10
| | | | | | for a copy instruction. PR2775. llvm-svn: 57458
* * Make TargetLowering not crash when TargetMachine::getTargetAsmInfo() returnsMatthijs Kooijman2008-10-131-1/+2
| | | | | | | null. This assumes that any target that does not have AsmInfo, does not support "LocAndDot". llvm-svn: 57438
* Make MachineFunction not crash when TargetMachine::getRegisterInfo() returnsMatthijs Kooijman2008-10-131-5/+9
| | | | | | NULL, but just hide some debug output then. llvm-svn: 57437
* calls can be supported.Chris Lattner2008-10-131-9/+9
| | | | llvm-svn: 57428
* Fix a bug in live-in detection that caused lost-copy problems to show up.Owen Anderson2008-10-121-1/+1
| | | | llvm-svn: 57424
* fix typoChris Lattner2008-10-111-1/+1
| | | | llvm-svn: 57388
* Change CALLSEQ_BEGIN and CALLSEQ_END to take TargetConstant's asChris Lattner2008-10-111-7/+3
| | | | | | | parameters instead of raw Constants. This prevents the constants from being selected by the isel pass, fixing PR2735. llvm-svn: 57385
* simplify comparisonChris Lattner2008-10-111-1/+1
| | | | llvm-svn: 57371
* Remove some overzealous checks that were rejectingDale Johannesen2008-10-101-12/+8
| | | | | | | valid comments in inline assembly. gcc.target/i386/20011009-1.c llvm-svn: 57365
* Added missing print functions that take a raw_ostreamMon P Wang2008-10-101-2/+11
| | | | llvm-svn: 57339
* Add a "loses information" return value to APFloat::convertDale Johannesen2008-10-093-14/+26
| | | | | | | and APFloat::convertToInteger. Restore return value to IEEE754. Adjust all users accordingly. llvm-svn: 57329
* Rename APFloat::convertToAPInt to bitcastToAPInt toDale Johannesen2008-10-095-16/+16
| | | | | | | make it clearer what the function does. No functional change. llvm-svn: 57325
* Align EH tables before label is emitted, not after,Dale Johannesen2008-10-081-1/+1
| | | | | | thus aligning the label. llvm-svn: 57310
* Fix the case where an instruction is not properly marked as using all ↵Owen Anderson2008-10-081-1/+19
| | | | | | registers that alias its inputs. llvm-svn: 57286
* Remove -disable-fast-isel. Use cl::boolOrDefault with -fast-iselDan Gohman2008-10-071-8/+3
| | | | | | | | | | instead. So now: -fast-isel or -fast-isel=true enable fast-isel, and -fast-isel=false disables it. Fast-isel is also on by default with -fast, and off by default otherwise. llvm-svn: 57270
* Avoid emitting redundant materializations of integer constantsDan Gohman2008-10-071-3/+4
| | | | | | | for things like null pointers, which at this level aren't different from regular integer constants. llvm-svn: 57265
* Add an option to enable StrongPHIElimination, for ease of testing.Owen Anderson2008-10-074-4/+20
| | | | llvm-svn: 57259
* Use Dan's supperior checkAndrew Lenharth2008-10-071-13/+9
| | | | llvm-svn: 57255
* No need for |=Andrew Lenharth2008-10-071-3/+3
| | | | llvm-svn: 57249
* Use ADDC if it is valid at any smaller size. Do it right this timeAndrew Lenharth2008-10-071-3/+6
| | | | llvm-svn: 57248
* Use ADDC if it is valid at any smaller size. fixes ↵Andrew Lenharth2008-10-071-3/+18
| | | | | | test/Codegen/Generic/i128-addsub.ll on x86 llvm-svn: 57247
* Expand arith on machines without carry flagsAndrew Lenharth2008-10-071-9/+33
| | | | llvm-svn: 57243
* Correctly handle calls with no return values. This fixesDan Gohman2008-10-071-1/+1
| | | | | | 2006-01-23-UnionInit on x86-64 when inlining is not enabled. llvm-svn: 57223
* Don't dereference the end() iterator. Thanks toDan Gohman2008-10-061-1/+1
| | | | | | ENABLE_EXPENSIVE_CHECKS for finding this. llvm-svn: 57181
* Remove unncessary isDeclaration() checks.Devang Patel2008-10-061-1/+1
| | | | llvm-svn: 57179
* reorder #include order, patch by Kenneth Boyd!Chris Lattner2008-10-061-4/+2
| | | | llvm-svn: 57148
* Add #include to get alloca, patch by Kenneth Boyd!Chris Lattner2008-10-061-0/+1
| | | | llvm-svn: 57147
* wrap some long lines and expand i32 mul's to libcalls, inspired by aChris Lattner2008-10-041-4/+12
| | | | | | patch by Mikael Lepisto! llvm-svn: 57077
* CMake: Reflected changes on source file structure. New plugin supportOscar Fuentes2008-10-041-0/+2
| | | | | | for llvmc2 incomplete. llvm-svn: 57076
* Fix compilation error on MSVC.Argyrios Kyrtzidis2008-10-041-1/+1
| | | | llvm-svn: 57046
* Fix fast-isel's handling of atomic instructions. They mayDan Gohman2008-10-041-1/+4
| | | | | | | | expand to multiple basic blocks, in which case fast-isel needs to informed of which block to use as it resumes inserting instructions. llvm-svn: 57040
* Fix a bug in the local allocator's liveness computation where itDan Gohman2008-10-041-3/+5
| | | | | | | | was setting kill flags on tied uses in two-address instructions. The kill flags were causing the allocator to think it could allocate the use and its tied def in different registers. llvm-svn: 57039
* Pass MemOperand through for 64-bit atomics on 32-bit,Dale Johannesen2008-10-031-5/+18
| | | | | | | incidentally making the case where the memop is a pointer deref work. Fix cmp-and-swap regression. llvm-svn: 57027
* Use -1ULL instead of uint64_t(-1), at Anton's suggestion.Dan Gohman2008-10-031-2/+2
| | | | llvm-svn: 57021
* Fix typos pointed out by Duncan. Also untabify these files.Evan Cheng2008-10-033-15/+15
| | | | llvm-svn: 57018
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-0324-132/+132
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* The result of getSetCCResultType (eg: i32) may be largerDuncan Sands2008-10-031-4/+8
| | | | | | | | | than the type an i1 is promoted to (eg: i8). Account for this. Noticed by Tilmann Scheller on CellSPU; he will hopefully take care of fixing this in LegalizeDAG and adding a testcase! llvm-svn: 56997
* Implement fast-isel support for zero-extending from i1.Dan Gohman2008-10-031-1/+12
| | | | | | | It turns out that this is a fairly common operation, and it's easy enough to handle. llvm-svn: 56990
* Optimize conditional branches in X86FastISel. This replacesDan Gohman2008-10-021-10/+18
| | | | | | | | | | | sequences like this: sete %al testb %al, %al jne LBB11_1 with this: je LBB11_1 llvm-svn: 56969
* Add a new MachineBasicBlock utility function, isLayoutSuccessor, thatDan Gohman2008-10-021-0/+5
| | | | | | | can be used when deciding if a block can transfer control to another via a fall-through instead of a branch. llvm-svn: 56968
* fix build gcc 4.3Andrew Lenharth2008-10-021-0/+1
| | | | llvm-svn: 56965
* Use a multimap rather than a map for holding the list of copies to insert, ↵Owen Anderson2008-10-021-12/+19
| | | | | | | | | | so we don't lose copies when two of them have the same source. I don't know what I was thinking when I wrote this originally. Note: There's probably a more efficient way to do this, but I need to think about it some more, and about what determinism guarantees need to be present. llvm-svn: 56964
OpenPOWER on IntegriCloud