- Nov 26, 2008
-
-
Chris Lattner authored
-enable-smarter-addr-folding to llc) that gives CGP a better cost model for when to sink computations into addressing modes. The basic observation is that sinking increases register pressure when part of the addr computation has to be available for other reasons, such as having a use that is a non-memory operation. In cases where it works, it can substantially reduce register pressure. This code is currently an overall win on 403.gcc and 255.vortex (the two things I've been looking at), but there are several things I want to do before enabling it by default: 1. This isn't doing any caching of results, so it is much slower than it could be. It currently slows down release-asserts llc by 1.7% on 176.gcc: 27.12s -> 27.60s. 2. This doesn't think about inline asm memory operands yet. 3. The cost model botches the case when the needed value is live across the computation for other reasons. I'll continue poking at this, and eventually turn it on as llcbeta. llvm-svn: 60074
-
Evan Cheng authored
Revert r60042. IndVarSimplify should check if APFloat is PPCDoubleDouble first before trying to convert it to an integer. llvm-svn: 60072
-
Ted Kremenek authored
llvm-svn: 60071
-
Ted Kremenek authored
Add setter method PreprocessorLexer::setParsingPreprocessorDirective(). This will be used by the mechanism to generate cached tokens. llvm-svn: 60070
-
Nuno Lopes authored
llvm-svn: 60069
-
Chris Lattner authored
optimize addressing modes. This allows us to optimize things like isel-sink2.ll into: movl 4(%esp), %eax cmpb $0, 4(%eax) jne LBB1_2 ## F LBB1_1: ## TB movl $4, %eax ret LBB1_2: ## F movzbl 7(%eax), %eax ret instead of: _test: movl 4(%esp), %eax cmpb $0, 4(%eax) leal 4(%eax), %eax jne LBB1_2 ## F LBB1_1: ## TB movl $4, %eax ret LBB1_2: ## F movzbl 3(%eax), %eax ret This shrinks (e.g.) 403.gcc from 1133510 to 1128345 lines of .s. Note that the 2008-10-16-SpillerBug.ll testcase is dubious at best, I doubt it is really testing what it thinks it is. llvm-svn: 60068
-
Chris Lattner authored
llvm-svn: 60067
-
Chris Lattner authored
llvm-svn: 60066
-
Nuno Lopes authored
llvm-svn: 60065
-
Nuno Lopes authored
change AnnotationManager to use 'const char*' instead of std::string. this fixes the leakage of those strings and avoids the creation of such strings in static cosntructors (should result in a little improvement of startup time) llvm-svn: 60064
-
Daniel Dunbar authored
- This improves -parse-noop of Carbon.h by +2%, and I believe compensates for the majority of the performance regression in r58913. llvm-svn: 60063
-
- Nov 25, 2008
-
-
Anders Carlsson authored
llvm-svn: 60058
-
Sebastian Redl authored
Use RAII objects to ensure proper destruction of expression and statement AST nodes in the parser in most cases, even on error. llvm-svn: 60057
-
Oscar Fuentes authored
llvm-svn: 60054
-
Oscar Fuentes authored
llvm-svn: 60052
-
Daniel Dunbar authored
llvm-svn: 60051
-
Fariborz Jahanian authored
llvm-svn: 60050
-
Mikhail Glushenkov authored
llvm-svn: 60049
-
Mikhail Glushenkov authored
llvm-svn: 60048
-
Mikhail Glushenkov authored
llvm-svn: 60047
-
Mikhail Glushenkov authored
llvm-svn: 60046
-
Mikhail Glushenkov authored
llvm-svn: 60045
-
Mikhail Glushenkov authored
llvm-svn: 60044
-
Bill Wendling authored
llvm-svn: 60043
-
Evan Cheng authored
convertToSignExtendedInteger should return opInvalidOp instead of asserting if sematics of float does not allow arithmetics. llvm-svn: 60042
-
Dan Gohman authored
llvm-svn: 60041
-
Chris Lattner authored
llvm-svn: 60039
-
Fariborz Jahanian authored
a writable property in one of its category. llvm-svn: 60035
-
Scott Michel authored
(a) Remove conditionally removed code in SelectXAddr. Basically, hope for the best that the A-form and D-form address predicates catch everything before the code decides to emit a X-form address. (b) Expand vector store test cases to include the usual suspects. llvm-svn: 60034
-
Anders Carlsson authored
llvm-svn: 60033
-
Anders Carlsson authored
llvm-svn: 60032
-
Nuno Lopes authored
llvm-svn: 60030
-
Nuno Lopes authored
llvm-svn: 60029
-
Nuno Lopes authored
llvm-svn: 60018
-
Bill Wendling authored
llvm-svn: 60016
-
Bill Wendling authored
llvm-svn: 60015
-
Bill Wendling authored
if the operands have the same sign and the sum has sign opposite to that of the operands." llvm-svn: 60014
-
Chris Lattner authored
can recursively match things) and scales by 0 by ignoring them. This triggers once in 403.gcc, saving 1 (!!!!) instruction in the whole huge app. llvm-svn: 60013
-
Chris Lattner authored
into a new AddressingModeMatcher class. This makes it easier to reason about and reduces passing around of stuff, but has no functionality change. llvm-svn: 60012
-
Chris Lattner authored
new FindMaximalLegalAddressingModeForOperation helper method. llvm-svn: 60011
-