- Dec 20, 2005
-
-
Evan Cheng authored
llvm-svn: 24884
-
Evan Cheng authored
llvm-svn: 24883
-
Chris Lattner authored
use too much stack space, overflowing the stack for large functions. Instead of emitting new SDOperands in each match block, we emit some common ones at the top of SelectCode then reuse them when possible. This reduces the stack size of SelectCode from 28K to 21K. Note that GCC compiles it to 512 bytes :-/ I've filed GCC PR 25505 to track this. llvm-svn: 24882
-
Chris Lattner authored
Only run lower-allocations and lower-select for the simple isel llvm-svn: 24881
-
Chris Lattner authored
For example, instead of emitting this: test: save -40112, %o6, %o6 ;; imm too large add %i6, -40016, %o0 ;; imm too large call caller nop restore %g0, %g0, %g0 retl nop emit this: test: sethi 4194264, %g1 or %g1, 848, %g1 save %o6, %g1, %o6 sethi 4194264, %g1 add %g1, %i6, %g1 add %i1, 944, %o0 call caller nop restore %g0, %g0, %g0 retl nop which doesn't cause the assembler to barf. llvm-svn: 24880
-
Evan Cheng authored
llvm-svn: 24879
-
Evan Cheng authored
llvm-svn: 24878
-
Evan Cheng authored
llvm-svn: 24877
-
Patrick Meredith authored
Added a break that I meant to include originally, for efficiency. Basically it keeps it from trying to add the same node to the node set over and over if it matches multiple given patterns. Also in cases where there are a lot of patterns to be matched, and it matches an early one, this will make the script run slightly faster. It's more there because it logically should be, than anything else, I mean, Python is never going to be fast ;-) llvm-svn: 24876
-
Chris Lattner authored
last night, breaking crafty and twolf. Make sure that the newly found legal nodes are themselves not re-legalized until the next iteration. Also, since this functionality exists now, we can reduce number of legalizer iterations by depending on this behavior instead of having to misuse 'do another iteration' to get the same effect. llvm-svn: 24875
-
Nate Begeman authored
llvm-svn: 24874
-
Evan Cheng authored
llvm-svn: 24873
-
Nate Begeman authored
us to load and store vectors directly at a pointer (offset of zero) by using r0 as the base register. This also requires some asm printer work to satisfy the darwin assembler. For void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = add <4 x float> %tmp1, %tmp1 store <4 x float> %tmp2, <4 x float> *%a ret void } We now produce: _foo: lvx v0, 0, r3 vaddfp v0, v0, v0 stvx v0, 0, r3 blr Instead of: _foo: li r2, 0 lvx v0, r2, r3 vaddfp v0, v0, v0 stvx v0, r2, r3 blr llvm-svn: 24872
-
Nate Begeman authored
llvm-svn: 24871
-
Evan Cheng authored
llvm-svn: 24870
-
Evan Cheng authored
llvm-svn: 24869
-
- Dec 19, 2005
-
-
Evan Cheng authored
llvm-svn: 24868
-
Evan Cheng authored
llvm-svn: 24867
-
Chris Lattner authored
creating graphs that cannot be scheduled. llvm-svn: 24866
-
John Criswell authored
projects. llvm-svn: 24865
-
John Criswell authored
Make the dsa-alloc-list and dsa-free-list options hidden. llvm-svn: 24864
-
John Criswell authored
llvm-svn: 24863
-
John Criswell authored
functions that allocate memory. llvm-svn: 24862
-
Jim Laskey authored
llvm-svn: 24861
-
Jim Laskey authored
latency period between the two. llvm-svn: 24860
-
Chris Lattner authored
we were storing into [FP+88] instead of [FP+92]. Improve codegen by emitting [FP+92], instead of emitting a copy of FP into another GPR which wouldn't be coallesced because FP isn't register allocated. llvm-svn: 24859
-
Evan Cheng authored
may not all have ResNo == 0. llvm-svn: 24858
-
Chris Lattner authored
llvm-svn: 24857
-
Chris Lattner authored
llvm-svn: 24856
-
Chris Lattner authored
llvm-svn: 24855
-
Chris Lattner authored
llvm-svn: 24854
-
Chris Lattner authored
llvm-svn: 24853
-
Chris Lattner authored
llvm-svn: 24852
-
Patrick Meredith authored
This is a script to extract nodes and edges associated with those nodes from a dot file that is the output of DSA. Nodes to extract are specified by giving the name of the node seen in the graphical representation, i.e. in the .ps if the node is specified %xyz asking for just x, xy, or xyz will retain it in the output file. Because it operates on substrings underspecifying may result in additional unexpected nodes. Be as specific as possible. Obviously, however, if you ask for %xyz and there is a getelementptr of %xyz you will get both nodes. Some manual editing may still be necessary because of this, but this script can pare down 10,000 line files to 20 line files, making like easier. llvm-svn: 24851
-
Chris Lattner authored
llvm-svn: 24850
-
Chris Lattner authored
llvm-svn: 24849
-
Chris Lattner authored
llvm-svn: 24848
-
Chris Lattner authored
llvm-svn: 24847
-
Chris Lattner authored
llvm-svn: 24846
-
Chris Lattner authored
llvm-svn: 24845
-