summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Update VS projects.Cedric Venet2008-09-206-8/+22
| | | | | | Change some class to struct for coherency. llvm-svn: 56389
* Shorten and rearrange data fields to save a word of memory.Dale Johannesen2008-09-201-6/+7
| | | | | | Per review feedback. llvm-svn: 56388
* Implement review feedback from Devang: make useDuncan Sands2008-09-201-26/+11
| | | | | | of mayReadFromMemory and mayWriteToMemory. llvm-svn: 56387
* Teach coalescer about earlyclobber bits.Dale Johannesen2008-09-202-2/+17
| | | | | | Check bits for preferred register. llvm-svn: 56384
* Fix PR2808. When regalloc runs out of register, it spill a physical register ↵Evan Cheng2008-09-202-1/+26
| | | | | | around the live interval being allocated. Do not continue to try to spill another register, just grab the physical register and move on. llvm-svn: 56381
* Clean up the test.Evan Cheng2008-09-201-4/+4
| | | | llvm-svn: 56380
* No need to print function stubs for Mac OS X 10.5 and up. Linker will handle it.Evan Cheng2008-09-202-3/+22
| | | | llvm-svn: 56378
* 80 column violation.Evan Cheng2008-09-201-4/+8
| | | | llvm-svn: 56377
* Fix a FastISel GlobalVariable CSE bug.Dan Gohman2008-09-191-2/+4
| | | | llvm-svn: 56376
* Continue after removing the current MI.Evan Cheng2008-09-191-0/+1
| | | | llvm-svn: 56372
* Refactor X86SelectConstAddr, folding it into X86SelectAddress. ThisDan Gohman2008-09-193-102/+82
| | | | | | | results in better code for globals. Also, unbreak the local CSE for GlobalValue stub loads. llvm-svn: 56371
* Make earlyclobber stuff work when virtual regsDale Johannesen2008-09-191-8/+26
| | | | | | have previously been assigned conflicting physreg. llvm-svn: 56364
* Prevent warning about conversion from 64-bit to 32-bit by (yuck) casting...Bill Wendling2008-09-191-1/+1
| | | | llvm-svn: 56359
* Now that ConstantSDNode doesn't hold an APInt,Dan Gohman2008-09-191-1/+1
| | | | | | | | use ARG_FLAGSSDNode as the most aligned node type, as it contains an int64_t, which is 8-byte aligned on mingw. llvm-svn: 56358
* Added static methods to APSInt: getMinValue and getMaxValue.Ted Kremenek2008-09-191-0/+14
| | | | llvm-svn: 56355
* Re-materalized definition instructions may be dead. Whack them.Evan Cheng2008-09-193-7/+48
| | | | llvm-svn: 56352
* backing out my last commit, it was not intended to go on the trunkGabor Greif2008-09-195-574/+36
| | | | llvm-svn: 56349
* first shot at removing Use::ValGabor Greif2008-09-195-36/+574
| | | | | | untested, Use::swap() is definitely not done yet llvm-svn: 56348
* Turn on the AddReadAttrs pass.Duncan Sands2008-09-191-1/+4
| | | | llvm-svn: 56345
* Add test for improvement of readonly to readnone,Duncan Sands2008-09-191-3/+12
| | | | | | and non-demotion of readnone to readonly. llvm-svn: 56344
* Turn on these tests!Duncan Sands2008-09-191-0/+3
| | | | llvm-svn: 56343
* Remove the MarkModRef pass (use AddReadAttrs instead).Duncan Sands2008-09-195-1184/+0
| | | | | | | | Unfortunately this means removing one regression test of GlobalsModRef because I couldn't work out how to perform it without MarkModRef. llvm-svn: 56342
* Add a new pass AddReadAttrs which works out which functionsDuncan Sands2008-09-197-4/+146
| | | | | | | | | can get the readnone/readonly attributes, and gives them it. The plan is to remove markmodref (which did the same thing by querying GlobalsModRef) and delete the analogous functionality from GlobalsModRef. llvm-svn: 56341
* Test the callgraph directly for the missing edge.Duncan Sands2008-09-191-1/+2
| | | | llvm-svn: 56338
* Teach -callgraph to always print the callgraph (as theDuncan Sands2008-09-194-9/+8
| | | | | | | | description says it does), not just when -analyze is used as well. This means printing to stderr, so adjust some tests. llvm-svn: 56337
* Remove AsmThatEarlyClobber etc. from LiveIntervalAnalysisDale Johannesen2008-09-195-96/+86
| | | | | | | and redo as linked list walk. Logic moved into RA. Per review feedback. llvm-svn: 56326
* splitLoop does not handle split condition EQ.Devang Patel2008-09-182-0/+44
| | | | | | Fixes PR 2805 llvm-svn: 56321
* Address-mode folding for X86FastISel. It's pretty basic, but itDan Gohman2008-09-181-18/+95
| | | | | | | | catches a fair number of common cases. Note that this currently causes Fast-ISel to leave behind lots of dead instructions. Those will be dealt with in subsequent commits. llvm-svn: 56320
* Decrementing the iterator here could be wrong if the worklist is empty after ↵Bill Wendling2008-09-181-4/+5
| | | | | | | | the "erase". Thanks to Ji Young Park for the patch! llvm-svn: 56316
* Try to place hoisted instructions befoe icmp instruction.Devang Patel2008-09-181-2/+23
| | | | llvm-svn: 56315
* Somehow RegAllocLinearScan is keeping two pointers to MachineRegisterInfo.Evan Cheng2008-09-181-8/+6
| | | | llvm-svn: 56314
* Simplify this code. The FastISel class has its own TD member.Dan Gohman2008-09-181-4/+3
| | | | llvm-svn: 56311
* Don't consider instructions with implicit physical registerDan Gohman2008-09-181-1/+2
| | | | | | defs to be necessarily live. llvm-svn: 56310
* Upgrade doxygen.Tanya Lattner2008-09-181-76/+265
| | | | llvm-svn: 56308
* Add a new "fast" scheduler. This is currently basically just aDan Gohman2008-09-183-0/+662
| | | | | | | | | | | | | | | | copy of the BURRList scheduler, but with several parts ripped out, such as backtracking, online topological sort maintenance (needed by backtracking), the priority queue, and Sethi-Ullman number computation and maintenance (needed by the priority queue). As a result of all this, it generates somewhat lower quality code, but that's its tradeoff for running about 30% faster than list-burr in -fast mode in many cases. This is somewhat experimental. Moving forward, major pieces of this can be refactored with pieces in common with ScheduleDAGRRList.cpp. llvm-svn: 56307
* Preliminary support for systems which require changing JIT memory regions ↵Evan Cheng2008-09-186-1/+54
| | | | | | privilege from read / write to read / executable. llvm-svn: 56303
* Duh. Default to ARMCC::AL (always).Evan Cheng2008-09-181-23/+63
| | | | llvm-svn: 56301
* Clean up.Evan Cheng2008-09-181-4/+8
| | | | llvm-svn: 56300
* Cosmetic.Evan Cheng2008-09-181-3/+5
| | | | llvm-svn: 56299
* FastISel: For calls, prefer using the callee's address as a constantDan Gohman2008-09-171-10/+13
| | | | | | | | | | | | over having it in a register. And wait until after checking type legality before requesting that the callee address be placed in a register. Also, fix support for calls with void return type. This speeds up fast-isel isel time by about 15% and reduces instruction counts by about 3% overall on certain testcases. It also changes many indirect calls to direct calls. llvm-svn: 56292
* Add a bit to mark operands of asm's that conflictDale Johannesen2008-09-1711-28/+208
| | | | | | | | | with an earlyclobber operand elsewhere. Propagate this bit and the earlyclobber bit through SDISel. Change linear-scan RA not to allocate regs in a way that conflicts with an earlyclobber. See also comments. llvm-svn: 56290
* Unallocatable registers do not have live intervals.Evan Cheng2008-09-172-1/+20
| | | | llvm-svn: 56287
* Do not hoist instruction above branch condition. The instruction may use ↵Devang Patel2008-09-172-9/+20
| | | | | | branch condition. llvm-svn: 56286
* Do not ignore iv uses outside the loop.Devang Patel2008-09-174-5/+101
| | | | | | This one slipped through cracks very well. llvm-svn: 56284
* Fix comments, help messages.Devang Patel2008-09-171-4/+2
| | | | llvm-svn: 56282
* Don't worry about clobbering physical register defs that aren't used.Dan Gohman2008-09-171-0/+2
| | | | llvm-svn: 56281
* Fix addrmode1 instruction encodings; fix bx_ret encoding.Evan Cheng2008-09-173-37/+49
| | | | llvm-svn: 56277
* Specify instruction encoding using range list to avoid endianess issues.Evan Cheng2008-09-171-25/+26
| | | | llvm-svn: 56276
* Add instruction names as comments to InstBits entries.Evan Cheng2008-09-171-5/+3
| | | | llvm-svn: 56275
* Simplify and generalize X86DAGToDAGISel::CanBeFoldedBy, and drawDan Gohman2008-09-171-56/+48
| | | | | | | up some new ascii art to illustrate what it does. This change currently has no effect on generated code. llvm-svn: 56270
OpenPOWER on IntegriCloud