summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Move the Asm->EOL() call for EmitDebugARanges outside the #ifdef forDan Gohman2007-09-241-1/+1
| | | | | | consistency with the other currently empty sections. llvm-svn: 42276
* Add support for emitting .file directives to set up file numbers forDan Gohman2007-09-241-0/+14
| | | | | | use with .loc directives. llvm-svn: 42275
* Merge hasDotLoc and hasDotFile into hasDotLocAndDotFile since .loc and .fileDan Gohman2007-09-241-2/+1
| | | | | | aren't really usable without each other. llvm-svn: 42274
* float->int conversion rounds toward 0. Duh.Dale Johannesen2007-09-241-1/+1
| | | | | | Fixes PR1698. llvm-svn: 42273
* Add a routine for emitting .file directives, for setting upDan Gohman2007-09-241-0/+11
| | | | | | file numbers to use with .loc directives. llvm-svn: 42272
* Added "LoadEffective" pattern to handle stack locations.Bruno Cardoso Lopes2007-09-243-6/+25
| | | | | | Fixed some comments llvm-svn: 42271
* Do not promote null values because it may be unsafe to do so.Devang Patel2007-09-241-0/+4
| | | | llvm-svn: 42270
* Implement offline variable substitution in order to reduce memoryDaniel Berlin2007-09-241-91/+926
| | | | | | | | and time usage. Fixup operator == to make this work, and add a resize method to DenseMap so we can resize our hashtable once we know how big it should be. llvm-svn: 42269
* Fix the syntax for the .loc directive in preparation for using it.Dan Gohman2007-09-241-1/+1
| | | | llvm-svn: 42268
* The code that used the StartLabelId label was removed, so remove theDan Gohman2007-09-241-7/+1
| | | | | | code that creates the label too. llvm-svn: 42265
* Use the correct result value type instead of using getValueType(0)Dan Gohman2007-09-241-4/+3
| | | | | | | in ExpandEXTRACT_VECTOR_ELT and SplitVectorOp. This fixes an abort in the included testcase. llvm-svn: 42264
* explicit keywords.Dan Gohman2007-09-241-1/+1
| | | | llvm-svn: 42262
* claim that "st" is from the 80-bit register file. This causes x87-using inlineChris Lattner2007-09-241-1/+1
| | | | | | | | | | | | | asm to die with: ScheduleDAG.cpp:269: failed assertion `false && "Couldn't find the register class"' instead of: failed assertion `RegMap->getRegClass(VReg) == RC && "Register class of operand and regclass of use don't agree!"' yay. llvm-svn: 42259
* When emitting .set directives, make sure the EH and Debug labels can't conflict.Chris Lattner2007-09-241-10/+20
| | | | llvm-svn: 42257
* Merge significant portions of the DomTree and PostDomTree implementations.Owen Anderson2007-09-243-145/+151
| | | | | | The two remaining unmerged parts are DFSPass, and the Calculate(). llvm-svn: 42255
* Just use APFloat for const / const. FixesDale Johannesen2007-09-241-17/+0
| | | | | | -1. / -0. llvm-svn: 42254
* Factor the calculation details for PostDomTree out of PostDominators.cpp andOwen Anderson2007-09-232-142/+149
| | | | | | | | into a separate header file. Next step: merging PostDominatorCalculation.h with DominatorCalculation.h. llvm-svn: 42251
* Move DFSPass back down into DominatorTree. I need to figure out what the ↵Owen Anderson2007-09-231-1/+1
| | | | | | | | difference is between it and the PostDomTree version first. llvm-svn: 42250
* Fix header.Owen Anderson2007-09-231-1/+1
| | | | llvm-svn: 42249
* Factor the dominator tree calculation details out into ↵Owen Anderson2007-09-232-267/+294
| | | | | | | | | | | | | DominatorCalculation.h. This change is not useful in and of itself, but it lays the groundwork for combining the dominator and postdominator implementations. Also, factor a few methods that are common to DominatorTree and PostDominatorTree into DominatorTreeBase. Again, this will make merging the two calculation methods simpler in the future. llvm-svn: 42248
* Fix PR 1681. When X86 target uses +sse -sse2,Dale Johannesen2007-09-237-87/+164
| | | | | | | | | | keep f32 in SSE registers and f64 in x87. This is effectively a new codegen mode. Change addLegalFPImmediate to permit float and double variants to do different things. Adjust callers. llvm-svn: 42246
* Fix PR1679, by printing GEP indices as signed values instead of unsigned.Chris Lattner2007-09-221-1/+2
| | | | llvm-svn: 42239
* initialize isstore/isload fields in ctor, fixing PR1695Chris Lattner2007-09-221-0/+2
| | | | llvm-svn: 42222
* Handle storage complications of float->float conversions.Neil Booth2007-09-221-18/+23
| | | | llvm-svn: 42220
* Change APFloat::convertFromInteger to take the incomingDale Johannesen2007-09-215-23/+31
| | | | | | | | | | bit width instead of number of words allocated, which makes it actually work for int->APF conversions. Adjust callers. Add const to one of the APInt constructors to prevent surprising match when called with const argument. llvm-svn: 42210
* Fix PR1692Devang Patel2007-09-211-3/+5
| | | | llvm-svn: 42209
* #ifdef out unsafe tracing code, which fixes PR1689Chris Lattner2007-09-211-15/+17
| | | | llvm-svn: 42205
* don't read Block after it is freed. This fixes PR1684Chris Lattner2007-09-211-0/+2
| | | | llvm-svn: 42204
* initialize SetCCResultContents, fixing PR1693Chris Lattner2007-09-211-0/+1
| | | | llvm-svn: 42193
* Don't add a default STACK_ALIGN (use the generic ABI alignment)Rafael Espindola2007-09-212-8/+6
| | | | | | Implement calls to functions with byval arguments on X86 llvm-svn: 42192
* small cleanup: use LowerMemArgument in LowerFastCCArguments alsoRafael Espindola2007-09-211-6/+1
| | | | llvm-svn: 42189
* Add partial caching of non-local memory dependence queries. This provides a ↵Owen Anderson2007-09-212-3/+34
| | | | | | | | modest speedup for GVN. llvm-svn: 42185
* Honor user-defined section specification of a global, ignores whether its ↵Evan Cheng2007-09-213-8/+7
| | | | | | initializer is null. llvm-svn: 42182
OpenPOWER on IntegriCloud