- Aug 14, 2010
-
-
Jim Grosbach authored
experimental pass that allocates locals relative to one another before register allocation and then assigns them to actual stack slots as a block later in PEI. This will eventually allow targets with limited index offset range to allocate additional base registers (not just FP and SP) to more efficiently reference locals, as well as handle situations where locals cannot be referenced via SP or FP at all (dynamic stack realignment together with variable sized objects, for example). It's currently incomplete and almost certainly buggy. Work in progress. Disabled by default and gated via the -enable-local-stack-alloc command line option. rdar://8277890 llvm-svn: 111059
-
Dan Gohman authored
had its address taken. llvm-svn: 111058
-
Bob Wilson authored
This fixes another part of PR7792. llvm-svn: 111057
-
Johnny Chen authored
LLDB_TESTSUITE_FORCE_FINISH and, if defined, kill the test suite. llvm-svn: 111056
-
Jakob Stoklund Olesen authored
The earliestStart argument is entirely specific to linear scan allocation, and can be easily calculated by RegAllocLinearScan. Replace std::vector with SmallVector. llvm-svn: 111055
-
Sean Callanan authored
cleaned up its API slightly. llvm-svn: 111053
-
Douglas Gregor authored
when the CXTranslationUnit_CacheCompletionResults option is given to clang_parseTranslationUnit(). Essentially, we compute code-completion results for macro definitions after we have parsed the file, then store an ASTContext-agnostic version of those results (completion string, cursor kind, priority, and active contexts) in the ASTUnit. When performing code completion in that ASTUnit, we splice the macro definition results into the results provided by the actual code-completion (which has had macros turned off) before libclang gets those results. We use completion context information to only splice in those results that make sense for that context. With a completion involving all of the macros from Cocoa.h and a few other system libraries (totally ~8500 macro definitions) living in a precompiled header, we get about a 9% performance improvement from code completion, since we no longer have to deserialize all of the macro definitions from the precompiled header. Note that macro definitions are merely the canary; the cache is designed to also support other top-level declarations, which should be a bigger performance win. That optimization will be next. Note also that there is no mechanism for determining when to throw away the cache and recompute its contents. llvm-svn: 111051
-
Bob Wilson authored
llvm-svn: 111050
-
Sean Callanan authored
Also cleaned up its API a tiny bit (but not the extensive amount that is actually needed. That's still coming.) llvm-svn: 111049
-
- Aug 13, 2010
-
-
Bob Wilson authored
instruction opcode. This fixes part of PR7792. llvm-svn: 111047
-
Dan Gohman authored
when they are the same loop. Don't compare two instructions' loop depths when they are in the same block. llvm-svn: 111045
-
John McCall authored
Not yet complete or used. llvm-svn: 111044
-
Jakob Stoklund Olesen authored
When a live range is contained a single block, we can split it around instruction clusters. The current approach is very primitive, splitting before and after the largest gap between uses. llvm-svn: 111043
-
Dan Gohman authored
ScalarEvolution::getAddExpr, which can be pretty expensive, when nothing has changed, which is pretty common. llvm-svn: 111042
-
Bruno Cardoso Lopes authored
llvm-svn: 111041
-
Jim Grosbach authored
llvm-svn: 111040
-
Dan Gohman authored
rather than testing whether the loop contains the other's header. llvm-svn: 111039
-
Dan Gohman authored
llvm-svn: 111038
-
Dan Gohman authored
the constant operand on the left, as that's where ScalarEvolution will end up canonicalizing to. llvm-svn: 111037
-
Argyrios Kyrtzidis authored
llvm-svn: 111036
-
Johnny Chen authored
llvm-svn: 111035
-
Dan Gohman authored
associated loop. This avoids potentially expensive traversals of the add recurrence's operands. llvm-svn: 111034
-
Jim Grosbach authored
llvm-svn: 111033
-
Mikhail Glushenkov authored
Apparently, this is now fixed in Clang. llvm-svn: 111032
-
Dan Gohman authored
since they can support trivial implementations. This avoids potentially expensive traversals of the operands. llvm-svn: 111031
-
Bob Wilson authored
same lines as the change I made for ARM saturate instructions. llvm-svn: 111029
-
Dale Johannesen authored
misanalysis and is undesirable. llvm-svn: 111028
-
Argyrios Kyrtzidis authored
-static variables -variables in anonymous namespace (fixes rdar://7794535) -static data members in anonymous namespace -static data members specializations in anonymous namespace llvm-svn: 111027
-
Argyrios Kyrtzidis authored
-static function declarations -functions in anonymous namespace -class methods in anonymous namespace -class method specializations in anonymous namespace -function specializations in anonymous namespace llvm-svn: 111026
-
Argyrios Kyrtzidis authored
Change Sema's UnusedStaticFuncs to UnusedFileScopedDecls to allow also keeping track of unused file scoped variables. This is only preparation, currently only static function definitions are tracked, as before. llvm-svn: 111025
-
Howard Hinnant authored
llvm-svn: 111024
-
Fariborz Jahanian authored
(nonfragile-abi2), do not consider 'ivar' access in class methods. Also, improve on diagnostics. Radar 8304561. llvm-svn: 111023
-
Bruno Cardoso Lopes authored
llvm-svn: 111022
-
Bruno Cardoso Lopes authored
llvm-svn: 111021
-
Nick Lewycky authored
will apply all fixes even when there were other errors in the file. llvm-svn: 111020
-
Jim Grosbach authored
llvm-svn: 111019
-
Douglas Gregor authored
llvm-svn: 111016
-
Abramo Bagnara authored
llvm-svn: 111013
-
John McCall authored
instantiated with unique-external parameters. llvm-svn: 111012
-
John McCall authored
llvm-svn: 111011
-