summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Use GR64 in 64-bit mode.Evan Cheng2007-09-271-1/+4
| | | | llvm-svn: 42417
* My previous Registry.h header, as well as Collectors.h, which is theGordon Henriksen2007-09-271-0/+21
| | | | | | registry for dynamically-loaded garbage collection compiler plugins. llvm-svn: 42415
* Doh. Calls clobber EFLAGS.Evan Cheng2007-09-271-1/+1
| | | | llvm-svn: 42413
* Avoid inserting a live register more than once.Evan Cheng2007-09-271-8/+18
| | | | llvm-svn: 42410
* Ignore redundant constraintsDaniel Berlin2007-09-271-2/+20
| | | | llvm-svn: 42397
* Build the correct range for loops with unusual bounds. Fix from Jay Foad.Nick Lewycky2007-09-271-1/+1
| | | | llvm-svn: 42394
* Silence a compiler warning.Evan Cheng2007-09-271-1/+1
| | | | llvm-svn: 42389
* Boogs.Evan Cheng2007-09-271-10/+10
| | | | llvm-svn: 42388
* Be smarter about which node to force schedule. Reduce # of duplications + ↵Evan Cheng2007-09-271-84/+120
| | | | | | copies; Added statistics. llvm-svn: 42387
* Backtracking only when it won't create a cycle.Evan Cheng2007-09-271-23/+35
| | | | llvm-svn: 42384
* Make temporaries explicit to avoid prematureDale Johannesen2007-09-264-5/+14
| | | | | | destruction of compiler-created ones. llvm-svn: 42383
* - Move getPhysicalRegisterRegClass() from ScheduleDAG to MRegisterInfo.Evan Cheng2007-09-263-89/+206
| | | | | | | - Added ability to emit cross class register copies to the BBRU scheduler. - More aggressive backtracking. llvm-svn: 42375
* Whitespace and compiler warning cleanup.Neil Booth2007-09-261-76/+91
| | | | llvm-svn: 42373
* - Added MRegisterInfo::getCrossCopyRegClass() hook. For register classes ↵Evan Cheng2007-09-262-0/+33
| | | | | | | | where reg to reg copies are not possible, this returns another register class which registers in the specified register class can be copied to (and copy back from). - X86 copyRegToReg() now supports copying between EFLAGS and GR32 / GR64 registers. llvm-svn: 42372
* Some assemblers do not recognize aliases pushfd, pushfq, popfd, and popfq. ↵Evan Cheng2007-09-262-4/+4
| | | | | | Just emit them as pushf and popf. llvm-svn: 42371
* Enable codegen for long double abs, sin, cosDale Johannesen2007-09-262-3/+10
| | | | llvm-svn: 42368
* Added C and Ocaml bindings for functions, basic blocks, and Gordon Henriksen2007-09-261-9/+453
| | | | | | | | | instruction creation. No support yet for instruction introspection. Also eliminated allocas from the Ocaml bindings for portability, and avoided unnecessary casts. llvm-svn: 42367
* Fix f80 UNDEF.Dale Johannesen2007-09-261-1/+2
| | | | llvm-svn: 42359
* Typos: POPQ -> POPFQ, POPD -> POPFD.Evan Cheng2007-09-262-2/+2
| | | | llvm-svn: 42348
* move PR1160 here.Chris Lattner2007-09-261-0/+31
| | | | llvm-svn: 42347
* Allow copyRegToReg to emit cross register classes copies.Evan Cheng2007-09-2620-60/+113
| | | | | | Tested with "make check"! llvm-svn: 42346
* move PR1264 here.Chris Lattner2007-09-261-1/+28
| | | | llvm-svn: 42345
* Add pushf{d|q}, popf{d|q} to push and pop EFLAGS register.Evan Cheng2007-09-262-4/+12
| | | | llvm-svn: 42335
* translateX86CC updates the last two operands.Evan Cheng2007-09-261-2/+5
| | | | llvm-svn: 42333
* Correctly restore stack pointer after realignment in main() on Cygwin/Mingw32Anton Korobeynikov2007-09-261-1/+8
| | | | llvm-svn: 42332
* Remove no-longer-used variable.Dale Johannesen2007-09-251-3/+2
| | | | llvm-svn: 42329
* Make APFloat->int conversions deterministic even inDale Johannesen2007-09-252-7/+33
| | | | | | cases with undefined behavior. llvm-svn: 42328
* Missing load / store folding entries.Evan Cheng2007-09-251-0/+8
| | | | llvm-svn: 42323
* Partly revert invalid r41774Anton Korobeynikov2007-09-251-0/+20
| | | | llvm-svn: 42322
* More explicit keywords.Dan Gohman2007-09-257-9/+9
| | | | llvm-svn: 42316
* Add a newline to the end of this file.Duncan Sands2007-09-251-1/+1
| | | | llvm-svn: 42314
* Fix a typo in a comment.Dan Gohman2007-09-251-1/+1
| | | | llvm-svn: 42313
* New style x87 cmp instructions.Evan Cheng2007-09-252-0/+24
| | | | llvm-svn: 42312
* Handle multiple induction variables.Devang Patel2007-09-251-7/+14
| | | | | | This fixes PR714. llvm-svn: 42309
* When both x/y and x%y are needed (x and y both scalar integer), computeDan Gohman2007-09-253-25/+88
| | | | | | | | | both results with a single div or idiv instruction. This uses new X86ISD nodes for DIV and IDIV which are introduced during the legalize phase so that the SelectionDAG's CSE can automatically eliminate redundant computations. llvm-svn: 42308
* Do not reserve DOM check for GetElementPtrInst.Devang Patel2007-09-251-21/+22
| | | | llvm-svn: 42306
* doh.. Devang Patel2007-09-251-1/+1
| | | | llvm-svn: 42300
* Add transformation to update loop interation space. Now,Devang Patel2007-09-251-7/+148
| | | | | | | | | | | | | | | for (i=A; i<N; i++) { if (i < X && i > Y) do_something(); } is transformed into U=min(N,X); L=max(A,Y); for (i=L;i<U;i++) do_somethihg(); llvm-svn: 42299
* Fix long double<->shorter FP type conversionsDale Johannesen2007-09-251-12/+29
| | | | | | of zero, infinity, and NaNs. llvm-svn: 42298
* Move the setOperationAction(ISD::DEBUG_LOC, MVT::Other, Expand) andDan Gohman2007-09-252-7/+6
| | | | | | | the check to see if the assembler supports .loc from X86TargetLowering into the superclass TargetLowering. llvm-svn: 42297
* Add missing end-of-file newlines.Duncan Sands2007-09-252-2/+2
| | | | llvm-svn: 42294
* Added support for new condition code modeling scheme (i.e. physical register ↵Evan Cheng2007-09-259-45/+1409
| | | | | | | | dependency). These are a bunch of instructions that are duplicated so the x86 backend can support both the old and new schemes at the same time. They will be deleted after all the kinks are worked out. llvm-svn: 42285
* Added major new capabilities to scheduler (only BURR for now) to support ↵Evan Cheng2007-09-255-150/+559
| | | | | | physical register dependency. The BURR scheduler can now backtrace and duplicate instructions in order to avoid "expensive / impossible to copy" values (e.g. status flag EFLAGS for x86) from being clobbered. llvm-svn: 42284
* New temporary option -new-cc-modeling-scheme to test the new cc modeling scheme.Evan Cheng2007-09-251-0/+6
| | | | llvm-svn: 42283
* Rename keyword "modify" -> "implicit".Evan Cheng2007-09-251-1/+1
| | | | llvm-svn: 42282
* When mixing SSE and x87 codegen, it's possible toDale Johannesen2007-09-241-29/+31
| | | | | | | | | | | | have situations where an SSE instruction turns into multiple blocks, with the live range of an x87 register crossing them. To do this correctly make sure we examine all blocks when inserting FP_REG_KILL. PR 1697. (This was exposed by my fix for PR 1681, but the same thing could happen mixing x87 long double with SSE.) llvm-svn: 42281
* Don't execute dump unless NDEBUG isn't defined.Bill Wendling2007-09-241-0/+2
| | | | llvm-svn: 42280
* Comment fixupsDaniel Berlin2007-09-241-12/+11
| | | | llvm-svn: 42279
* Add support on x86 for having Legalize lower ISD::LOCATION to ISD::DEBUG_LOCDan Gohman2007-09-241-2/+7
| | | | | | | instead of ISD::LABEL with a manual .debug_line entry when the assembler supports .file and .loc directives. llvm-svn: 42278
* Don't emit .debug_line header data if there aren't any lines to put in it,Dan Gohman2007-09-241-0/+5
| | | | | | such as will happen when .loc directives are used. llvm-svn: 42277
OpenPOWER on IntegriCloud