- Nov 04, 2009
-
-
Evan Cheng authored
llvm-svn: 86023
-
Evan Cheng authored
and extract_subreg as a "copy" that defines a valno. Also fixes a typo. These two issues prevent a simple subreg coalescing from happening before. llvm-svn: 86022
-
Chris Lattner authored
to EmitGEPOffset. Implement some new transforms for optimizing subtracts of two pointer to ints into the same vector. This happens for C++ iterator idioms for example, stringmap takes a const char* that points to the start and end of a string. Once inlined, we want the pointer difference to turn back into a length. This is rdar://7362831. llvm-svn: 86021
-
Chris Lattner authored
llvm-svn: 86020
-
Evan Cheng authored
llvm-svn: 86019
-
John McCall authored
through to indexing. llvm-svn: 86018
-
Douglas Gregor authored
expressions, keep track of whether we are immediately taking the address of the expression. Pass this flag when building a declaration name expression so that we handle pointer-to-member constants properly. llvm-svn: 86017
-
Daniel Dunbar authored
llvm-svn: 86016
-
Daniel Dunbar authored
llvm-svn: 86015
-
Daniel Dunbar authored
llvm-svn: 86014
-
Daniel Dunbar authored
llvm-svn: 86013
-
Daniel Dunbar authored
llvm-svn: 86011
-
Daniel Dunbar authored
llvm-svn: 86010
-
Nick Lewycky authored
When was it ever "llvm"? llvm-svn: 86009
-
Chris Lattner authored
during bitfield codegen and slows down -O0 compile times by making useless IR. rdar://7362516 llvm-svn: 86006
-
Daniel Dunbar authored
OPTIMIZE_OPTION. llvm-svn: 86005
-
Ted Kremenek authored
llvm-svn: 86004
-
Ted Kremenek authored
Catch uses of undefined values when they are used in assignment, thus catching such bugs closer to the source. llvm-svn: 86003
-
Ted Kremenek authored
llvm-svn: 86002
-
John McCall authored
varargs prototypes. llvm-svn: 86001
-
Evan Cheng authored
llvm-svn: 86000
-
John McCall authored
rdar://problem/7222956 llvm-svn: 85999
-
John McCall authored
appears in a deprecated context. In the new strategy, we emit the warnings as usual unless we're currently parsing a declaration, where "declaration" is restricted to mean a decl group or a few special cases in Objective C. If we *are* parsing a declaration, we queue up the deprecation warnings until the declaration has been completely parsed, and then emit them only if the decl is not deprecated. We also standardize the bookkeeping for deprecation so as to avoid special cases. llvm-svn: 85998
-
Lang Hames authored
llvm-svn: 85997
-
Zhongxing Xu authored
llvm-svn: 85996
-
Lang Hames authored
llvm-svn: 85995
-
Douglas Gregor authored
llvm-svn: 85994
-
Tanya Lattner authored
Merge constant array and structures. This will create a global variables for arrays and structs that are constant and their initializer is constant. It is on by default but can be disable with the flag -fno-merge-all-constants. llvm-svn: 85991
-
Mike Stump authored
llvm-svn: 85990
-
Douglas Gregor authored
overloaded operators, e.g., p->template operator+<T>() llvm-svn: 85989
-
Mike Stump authored
so the optimizer can tailcall into the return value adjustment thunk. This improves codesize for complex hierarchies. llvm-svn: 85988
-
Evan Cheng authored
llvm-svn: 85986
-
Daniel Dunbar authored
llvm-svn: 85985
-
Ted Kremenek authored
Refactor StoreManager::BindDecl() to take a VarRegion* instead of a VarDecl*, and modify GRExprEngine::EvalBind() to handle decl initialization as well. This paves the way for adding "checker" visitation in EvalBind(). llvm-svn: 85983
-
Evan Cheng authored
llvm-svn: 85980
-
Lang Hames authored
This introduces a new pass, SlotIndexes, which is responsible for numbering instructions for register allocation (and other clients). SlotIndexes numbering is designed to match the existing scheme, so this patch should not cause any changes in the generated code. For consistency, and to avoid naming confusion, LiveIndex has been renamed SlotIndex. The processImplicitDefs method of the LiveIntervals analysis has been moved into its own pass so that it can be run prior to SlotIndexes. This was necessary to match the existing numbering scheme. llvm-svn: 85979
-
Mike Stump authored
llvm-svn: 85978
-
Bob Wilson authored
an unconditional branch (possibly from tail merging), this code is trying to redirect all of its predecessors to go directly to the branch target, but that isn't feasible for indirect branches. The other predecessors (that don't end with indirect branches) could theoretically still be handled, but that is not easily done right now. The AnalyzeBranch interface doesn't currently let us distinguish jump table branches from indirect branches, and this code is currently handling jump tables. To avoid punting on address-taken blocks, we would have to give up handling jump tables. That seems like a bad tradeoff. llvm-svn: 85975
-
Chris Lattner authored
more aggressive an correct. This survives building llvm in 64-bit mode with optimizations and the built llvm passes make check. llvm-svn: 85973
-
Mike Stump authored
llvm-svn: 85972
-