- Aug 22, 2008
-
-
Dan Gohman authored
handled correctly, and change a few SmallVector uses to use size 0 to more clearly reflect their intent. llvm-svn: 55181
-
- Aug 15, 2008
-
-
Owen Anderson authored
Convert uses of std::vector in TargetInstrInfo to SmallVector. This change had to be propoagated down into all the targets and up into all clients of this API. llvm-svn: 54802
-
- Jul 29, 2008
-
-
Duncan Sands authored
to be marked invalid regardless of whether it is a debug, an exception handling or (hopefully) a GC label. llvm-svn: 54172
-
- Jul 08, 2008
-
-
Dan Gohman authored
MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. llvm-svn: 53212
-
- Jul 01, 2008
-
-
Dale Johannesen authored
predessors of exit blocks from tail merging consideration. llvm-svn: 52985
-
Dan Gohman authored
the need for a flavor operand, and add a new SDNode subclass, LabelSDNode, for use with them to eliminate the need for a label id operand. Change instruction selection to let these label nodes through unmodified instead of creating copies of them. Teach the MachineInstr emitter how to emit a MachineInstr directly from an ISD label node. This avoids the need for allocating SDNodes for the label id and flavor value, as well as SDNodes for each of the post-isel label, label id, and label flavor. llvm-svn: 52943
-
- Jun 19, 2008
-
-
Dan Gohman authored
llvm-svn: 52495
-
- May 23, 2008
-
-
Dale Johannesen authored
elements that have been erased. Based on a patch by Nicolas Capens. llvm-svn: 51485
-
- May 13, 2008
-
-
Dan Gohman authored
several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
-
Dale Johannesen authored
if those blocks consist entirely of common instructions; merging will not add an extra branch in this case. llvm-svn: 51006
-
- May 12, 2008
-
-
Dale Johannesen authored
semantically identical, but little difference in either results or execution speed; but it's much easier to read, at least IMO. llvm-svn: 50999
-
- May 10, 2008
-
-
Dale Johannesen authored
no functional change. llvm-svn: 50921
-
- May 09, 2008
-
-
Dale Johannesen authored
case where there are multiple blocks with a large number of common tail instructions more efficiently (compile time optimization). llvm-svn: 50916
-
- May 06, 2008
-
-
Dan Gohman authored
llvm-svn: 50696
-
- Apr 10, 2008
-
-
Evan Cheng authored
Teach branch folding pass about implicit_def instructions. Unfortunately we can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses. Carefully removing some implicit def's which enable more blocks to be optimized away. llvm-svn: 49461
-
- Feb 28, 2008
-
-
Evan Cheng authored
llvm-svn: 47703
-
- Feb 19, 2008
-
-
Evan Cheng authored
PR1909: Tail merging pass ran wild. It makes no sense to merge blocks in order to save a single instruction since a branch will be inserted for each BB. llvm-svn: 47301
-
- Feb 10, 2008
-
-
Dan Gohman authored
llvm-svn: 46930
-
- Jan 29, 2008
-
-
Dan Gohman authored
llvm-svn: 46514
-
- Jan 07, 2008
-
-
Chris Lattner authored
Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. llvm-svn: 45695
-
Chris Lattner authored
that it is cheap and efficient to get. Move a variety of predicates from TargetInstrInfo into TargetInstrDescriptor, which makes it much easier to query a predicate when you don't have TII around. Now you can use MI->getDesc()->isBranch() instead of going through TII, and this is much more efficient anyway. Not all of the predicates have been moved over yet. Update old code that used MI->getInstrDescriptor()->Flags to use the new predicates in many places. llvm-svn: 45674
-
Chris Lattner authored
llvm-svn: 45667
-
- Jan 06, 2008
-
-
Chris Lattner authored
llvm-svn: 45656
-
- Dec 31, 2007
-
-
Chris Lattner authored
e.g. MO.isMBB() instead of MO.isMachineBasicBlock(). I don't plan on switching everything over, so new clients should just start using the shorter names. Remove old long accessors, switching everything over to use the short accessor: getMachineBasicBlock() -> getMBB(), getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc. llvm-svn: 45464
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Dec 10, 2007
-
-
Christopher Lamb authored
Improve branch folding by recgonizing that explict successor relationships impact the value of fall-through choices. llvm-svn: 44785
-
- Oct 25, 2007
-
-
Bill Wendling authored
llvm-svn: 43359
-
Bill Wendling authored
llvm-svn: 43353
-
- Oct 19, 2007
-
-
Bill Wendling authored
llvm-svn: 43191
-
- Aug 02, 2007
-
-
Dan Gohman authored
llvm-svn: 40757
-
- Jul 11, 2007
-
-
Duncan Sands authored
llvm-svn: 38535
-
David Greene authored
llvm-svn: 38516
-
- Jun 29, 2007
-
-
David Greene authored
_GLIBCXX_DEBUG. llvm-svn: 37793
-
- Jun 19, 2007
-
-
Evan Cheng authored
llvm-svn: 37633
-
- Jun 08, 2007
-
-
Dale Johannesen authored
llvm-svn: 37511
-
Dale Johannesen authored
is too slow. llvm-svn: 37509
-
- Jun 05, 2007
-
-
Dale Johannesen authored
llvm-svn: 37427
-
- Jun 04, 2007
-
-
Evan Cheng authored
llvm-svn: 37408
-
- Jun 02, 2007
-
-
Dale Johannesen authored
llvm-svn: 37394
-
Dale Johannesen authored
See test/CodeGen/X86/test-pic-jtbl.ll for a case where it works well; shaves another 10K off our favorite benchmark. I was hesitant about this because of compile speed, but seems to do OK on a bootstrap. llvm-svn: 37392
-