Commits

Show all
Author Commit Message Labels Comments Date
Ted Kremenek
Added static methods to APSInt: getMinValue and getMaxValue.
Tags
2 tags
Evan Cheng
Re-materalized definition instructions may be dead. Whack them.
Gabor Greif
backing out my last commit, it was not intended to go on the trunk
Gabor Greif
first shot at removing Use::Val untested, Use::swap() is definitely not done yet
Duncan Sands
Turn on the AddReadAttrs pass.
Duncan Sands
Add test for improvement of readonly to readnone, and non-demotion of readnone to readonly.
Duncan Sands
Turn on these tests!
Duncan Sands
Remove the MarkModRef pass (use AddReadAttrs instead). Unfortunately this means removing one regression test of GlobalsModRef because I couldn't work out how to perform it without MarkModRef.
Duncan Sands
Add a new pass AddReadAttrs which works out which functions 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.
Duncan Sands
Test the callgraph directly for the missing edge.
Tags
2 tags
Duncan Sands
Teach -callgraph to always print the callgraph (as the description says it does), not just when -analyze is used as well. This means printing to stderr, so adjust some tests.
Dale Johannesen
Remove AsmThatEarlyClobber etc. from LiveIntervalAnalysis and redo as linked list walk. Logic moved into RA. Per review feedback.
Tags
2 tags
Devang Patel
splitLoop does not handle split condition EQ. Fixes PR 2805
Dan Gohman
Address-mode folding for X86FastISel. It's pretty basic, but it 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.
Bill Wendling
Decrementing the iterator here could be wrong if the worklist is empty after the "erase". Thanks to Ji Young Park for the patch!
Devang Patel
Try to place hoisted instructions befoe icmp instruction.
Evan Cheng
Somehow RegAllocLinearScan is keeping two pointers to MachineRegisterInfo.
Dan Gohman
Simplify this code. The FastISel class has its own TD member.
Dan Gohman
Don't consider instructions with implicit physical register defs to be necessarily live.
Tanya Lattner (Tanya Brethour)
Upgrade doxygen.
Dan Gohman
Add a new "fast" scheduler. This is currently basically just a 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.
Evan Cheng
Preliminary support for systems which require changing JIT memory regions privilege from read / write to read / executable.
Evan Cheng
Duh. Default to ARMCC::AL (always).
Evan Cheng
Clean up.
Evan Cheng
Cosmetic.
Dan Gohman
FastISel: For calls, prefer using the callee's address as a constant 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.
Dale Johannesen
Add a bit to mark operands of asm's that conflict 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.
Evan Cheng
Unallocatable registers do not have live intervals.
Devang Patel
Do not hoist instruction above branch condition. The instruction may use branch condition.
Devang Patel
Do not ignore iv uses outside the loop. This one slipped through cracks very well.
  1. Prev
  2. Next