summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Re-orging file.Jim Laskey2006-02-271-556/+357
| | | | llvm-svn: 26401
* remove some completed notesChris Lattner2006-02-271-4/+0
| | | | llvm-svn: 26390
* Print ConstantPoolSDNode offset field.Evan Cheng2006-02-261-0/+5
| | | | llvm-svn: 26381
* Added an offset field to ConstantPoolSDNode.Evan Cheng2006-02-252-9/+14
| | | | llvm-svn: 26371
* Fix a bug that Evan exposed with some changes he's making, and that wasChris Lattner2006-02-251-9/+23
| | | | | | | | | exposed with a fastcc problem (breaking pcompress2 on x86 with -enable-x86-fastcc). When reloading a reused reg, make sure to invalidate the reloaded reg, and check to see if there are any other pending uses of the same register. llvm-svn: 26369
* Remove debugging printout :)Chris Lattner2006-02-251-5/+6
| | | | | | Add a minor compile time win, no codegen change. llvm-svn: 26368
* Refactor some code from being inline to being out in a new class with methods.Chris Lattner2006-02-251-42/+97
| | | | | | | | This gets rid of two gotos, which is always nice, and also adds some comments. No functionality change, this is just a refactor. llvm-svn: 26367
* Use the PrintAsmMemoryOperand to print addressing modes.Chris Lattner2006-02-241-4/+19
| | | | llvm-svn: 26364
* Pass all the flags to the asm printer, not just the # operands.Chris Lattner2006-02-242-3/+5
| | | | llvm-svn: 26362
* rename NumOps -> NumVals to avoid shadowing a NumOps var in an outer scope.Chris Lattner2006-02-241-5/+11
| | | | | | Add support for addressing modes. llvm-svn: 26361
* Refactor operand adding out to a new AddOperand methodChris Lattner2006-02-241-66/+81
| | | | llvm-svn: 26358
* Add pointer and reference types. Added short-term code to ignore NULL typesJim Laskey2006-02-242-28/+51
| | | | | | (to allow llvm-gcc4 to build.) llvm-svn: 26355
* Get VC++ building again.Jeff Cohen2006-02-241-0/+1
| | | | llvm-svn: 26351
* Implement (most of) selection of inline asm memory operands.Chris Lattner2006-02-241-0/+42
| | | | llvm-svn: 26350
* Lower C_Memory operands.Chris Lattner2006-02-241-25/+44
| | | | llvm-svn: 26346
* Added basic support for typedefs.Jim Laskey2006-02-232-14/+55
| | | | llvm-svn: 26339
* Fix an endianness problem on big-endian targets with expanded operandsChris Lattner2006-02-231-9/+16
| | | | | | to inline asms. Mark some methods const. llvm-svn: 26334
* Record all of the expanded registers in the DAG and machine instr, fixingChris Lattner2006-02-233-79/+137
| | | | | | several bugs in inline asm expanded operands. llvm-svn: 26332
* DwarfWriter reading basic type information from llvm-gcc4 code.Jim Laskey2006-02-232-7/+126
| | | | llvm-svn: 26331
* Code cleanups, no functionality changeChris Lattner2006-02-231-23/+10
| | | | llvm-svn: 26328
* This fixes a couple of problems with expansionChris Lattner2006-02-221-9/+23
| | | | llvm-svn: 26318
* Change a whole bunch of code to be built around RegsForValue instead ofChris Lattner2006-02-221-124/+248
| | | | | | | a single register number. This fully implements promotion for inline asms, expand is close but not quite right yet. llvm-svn: 26316
* Coordinate activities with llvm-gcc4 and dwarf.Jim Laskey2006-02-222-194/+256
| | | | llvm-svn: 26314
* split register class handling from explicit physreg handling.Chris Lattner2006-02-221-34/+77
| | | | llvm-svn: 26308
* Adjust to changes in getRegForInlineAsmConstraint prototypeChris Lattner2006-02-211-18/+18
| | | | llvm-svn: 26306
* Added x86 integer vector types: 64-bit packed byte integer (v16i8), 64-bitEvan Cheng2006-02-201-0/+3
| | | | | | packed word integer (v8i16), and 64-bit packed doubleword integer (v2i32). llvm-svn: 26294
* Fix a problem Nate and Duraid reported where simplifying nodes can causeChris Lattner2006-02-201-4/+8
| | | | | | | them to get ressurected, in which case, deleting the undead nodes is unfriendly. llvm-svn: 26291
* Fix a problem on itanium with memset. The value to set has been promoted toChris Lattner2006-02-201-2/+6
| | | | | | i64 before this code, so zero_ext doesn't work. llvm-svn: 26290
* Add checks to make sure we don't create bogus extend nodes, and fix a bugNate Begeman2006-02-182-4/+14
| | | | | | | where we were doing exactly that which was causing failures on x86 and alpha. llvm-svn: 26284
* Fix a tricky issue in the SimplifyDemandedBits code where CombineTo wasn'tChris Lattner2006-02-172-9/+95
| | | | | | | exactly the API we wanted to call into. This fixes the crash on crafty last night. llvm-svn: 26269
* Clean up DemandedBitsAreZero interfaceNate Begeman2006-02-171-22/+26
| | | | | | | Make more use of the new mask helpers in valuetypes.h Combine (sra (srl x, c1), c1) -> sext_inreg if legal llvm-svn: 26263
* Don't expand sdiv by power of two before legalize, since it will likelyNate Begeman2006-02-171-2/+2
| | | | | | generate illegal nodes. llvm-svn: 26261
* kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBCNate Begeman2006-02-173-62/+47
| | | | | | | and SUBE nodes that actually expose what's going on and allow for significant simplifications in the targets. llvm-svn: 26255
* Fix another miscompilation exposed by lencode, where we lowered i64->f32Chris Lattner2006-02-171-1/+1
| | | | | | | conversions to __floatdidf instead of __floatdisf on targets that support f32 but not i64 (e.g. sparc). llvm-svn: 26254
* Dumb bug. Code sees a memcpy from X+c so it increments src offset. But itEvan Cheng2006-02-161-4/+10
| | | | | | | turns out not to point to a constant string but it forgot change the offset back. llvm-svn: 26242
* Rework the SelectionDAG-based implementations of SimplifyDemandedBitsNate Begeman2006-02-161-35/+17
| | | | | | | and ComputeMaskedBits to match the new improved versions in instcombine. Tested against all of multisource/benchmarks on ppc. llvm-svn: 26238
* If the false case is the current basic block, then this is a self loop.Evan Cheng2006-02-161-0/+9
| | | | | | | | | | We do not want to emit "Loop: ... brcond Out; br Loop", as it adds an extra instruction in the loop. Instead, invert the condition and emit "Loop: ... br!cond Loop; br Out. Generalize the fix by moving it from PPCDAGToDAGISel to SelectionDAGLowering. llvm-svn: 26231
* Lowering of sdiv X, pow2 was broken, this fixes it. This patch is writtenChris Lattner2006-02-161-6/+12
| | | | | | by Nate, I'm just committing it for him. llvm-svn: 26230
* Remove an unused function parameter.Evan Cheng2006-02-151-2/+2
| | | | llvm-svn: 26221
* Turn a memcpy from string constant into a series of stores of constant values.Evan Cheng2006-02-151-47/+69
| | | | llvm-svn: 26219
* Should not combine ISD::LOCATIONs until we have scheme to remove fromJim Laskey2006-02-152-36/+2
| | | | | | MachineDebugInfo tables. llvm-svn: 26216
* Lower memcpy with small constant size operand into a series of load / storeEvan Cheng2006-02-151-8/+34
| | | | | | ops. llvm-svn: 26195
* Doh again!Evan Cheng2006-02-141-1/+1
| | | | llvm-svn: 26188
* Using wrong DW_FORM.Jim Laskey2006-02-141-1/+1
| | | | llvm-svn: 26184
* Keep to < 80 colsEvan Cheng2006-02-141-6/+6
| | | | llvm-svn: 26177
* Missed a break so memcpy cases fell through to memset. Doh.Evan Cheng2006-02-141-1/+1
| | | | llvm-svn: 26176
* Fixed a build breakage.Evan Cheng2006-02-141-14/+23
| | | | llvm-svn: 26175
* Rename maxStoresPerMemSet to maxStoresPerMemset, etc.Evan Cheng2006-02-141-1/+1
| | | | llvm-svn: 26174
* Expand memset dst, c, size to a series of stores if size falls below theEvan Cheng2006-02-141-4/+127
| | | | | | target specific theshold, e.g. 16 for x86. llvm-svn: 26171
* now that libcalls don't suck, we can remove this hackChris Lattner2006-02-141-6/+2
| | | | llvm-svn: 26164
OpenPOWER on IntegriCloud