Commits

Show all
Author Commit Message Labels Comments Date
Roman Levenstein
Use a linked data structure for the uses lists of an SDNode, just like LLVM Value/Use does and MachineRegisterInfo/MachineOperand does. This allows constant time for all uses list maintenance operations. The idea was suggested by Chris. Reviewed by Evan and Dan. Patch is tested and approved by Dan. On normal use-cases compilation speed is not affected. On very big basic blocks there are compilation speedups in the range of 15-20% or even better.
Tags
2 tags
Roman Levenstein
Fixed some spelling errors. Thanks, Duncan!
Roman Levenstein
Some improvements related to the computation of isReachable. This fixes Bugzilla #1835 (http://llvm.org/bugs/show_bug.cgi?id=1835). This patched is reviewed by Tanya and Dan. Dan tested and approved it. The reason for the bad performance of the old algorithm is that it is very naive and scans every time all nodes of the DAG in the worst case. This patch introduces a new algorithm based on the paper "Online algorithms for maintaining the topological order of a directed acyclic graph" by David J.Pearce and Paul H.J.Kelly. This is the MNR algorithm. It has a linear time worst-case and performs muc…
Evan Cheng
Fix some SSE4.1 instruction encoding bugs.
Owen Anderson
Dead PHI instructions need to be handled specially.
Erick Tryzelaar
Test commit (removed trailing whitespace)
Dale Johannesen
Use ## for comment delimiter on darwin x86-32, so llvm's output .s files will go through gcc -std=c99 without triggering preprocesser errors. Approach suggested by Daveed Vandevoorde.
Evan Cheng
Smaller function alignment when optimizing for size.
Evan Cheng
Rename option -optimizefor-size to -optimize-size.
Owen Anderson
Remove some debugging code.
Owen Anderson
StrongPHIElimination doesn't support swapping live intervals like the coalescer does.
Dan Gohman
Add explicit keywords.
Dan Gohman
A quick nm audit turned up several fixed tables and objects that were marked read-write. Use const so that they can be allocated in a read-only segment.
Dan Gohman
Avoid outputing spaces at the ends of lines.
Tags
2 tags
Devang Patel
Do not align loops if optimizing for size.
Devang Patel
Add optimize-for-size knob.
Evan Cheng
Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it.
Evan Cheng
Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it.
Anton Korobeynikov
Fix the Cygwin/Mingw-On-Cygwin build. Patch by Alain Frisch!
Bill Wendling
De-constify the input to the "operator >>" method as it is modified. Patch by dekruijf@cs.wisc.edu!
Dan Gohman
Fix typos.
Dan Gohman
Add CMP32mr and friends to the load-unfolding table. Among other things, this allows the scheduler to unfold a load operand in the 2008-01-08-SchedulerCrash.ll testcase, so it now successfully clones the comparison to avoid a pushf+popf.
Gordon Henriksen
Tests for the instruction iterator bindings.
Gordon Henriksen
Extend the builder interface to use the new instruction positioning code. This adds support for instruction iterators, as well as rewriting the builder code to use these new functions. This lets us eliminate the C bindings for moving around the builder. Patch by Erick Tryzelaar!
Bill Wendling
Fix PR2062: Don't build Intrinsics.gen in the source directory. Do it in the object directory.
Tanya Lattner (Tanya Brethour)
Disable building llvm-upgrade.
Sam Bishop
Make a note of the fact that EmitOwnedPtr() has nothing to do with the OwningPtr<> class.
Tanya Lattner (Tanya Brethour)
Byebye llvm-upgrade!
Evan Cheng
lastRegisterUse() should ignore identity copies. Those will be erased.
Devang Patel
check struct layout
  1. Prev
  2. Next