- Feb 20, 2009
-
-
Owen Anderson authored
Add a quick pass to the stack slot colorer to eliminate some trivially redundant spills after coloring. Ideally these would never get created in the first place, but until we enhance the spiller to have a more global picture of what's happening, this is necessary for code quality in some circumstances. llvm-svn: 65120
-
Daniel Dunbar authored
llvm-svn: 65119
-
Daniel Dunbar authored
options (i.e., -mno-red-zone, -msoft-float, -mno-sse, etc.) - Also, make sure unwind tables default to on Darwin/x86_64. - PR3604. llvm-svn: 65118
-
Chris Lattner authored
llvm-svn: 65117
-
Daniel Dunbar authored
llvm-svn: 65116
-
Daniel Dunbar authored
llvm-svn: 65115
-
Chris Lattner authored
llvm-svn: 65114
-
Chris Lattner authored
llvm-svn: 65113
-
Chris Lattner authored
llvm-svn: 65112
-
Chris Lattner authored
llvm-svn: 65111
-
Zhongxing Xu authored
llvm-svn: 65110
-
Ted Kremenek authored
llvm-svn: 65109
-
Dan Gohman authored
reduction of address calculations down to basic pointer arithmetic. This is currently off by default, as it needs a few other features before it becomes generally useful. And even when enabled, full strength reduction is only performed when it doesn't increase register pressure, and when several other conditions are true. This also factors out a bunch of exisiting LSR code out of StrengthReduceStridedIVUsers into separate functions, and tidies up IV insertion. This actually decreases register pressure even in non-superhero mode. The change in iv-users-in-other-loops.ll is an example of this; there are two more adds because there are two fewer leas, and there is less spilling. llvm-svn: 65108
-
Eli Friedman authored
isn't getting used by Sema or CodeGen at the moment...) llvm-svn: 65107
-
Eli Friedman authored
llvm-svn: 65106
-
Eli Friedman authored
llvm-svn: 65105
-
Daniel Dunbar authored
argument; the toolchain should always know the arch. - Fixes: <rdar://problem/6582911> -ccc-clang-archs doesn't work for excluding ppc llvm-svn: 65104
-
Chris Lattner authored
exactly one decl with a specific name in a specific context. This avoids a bunch of malloc traffic and shrinks StoredDeclsMap to hold one pointer instead of 3 words (for a std::vector). This speeds up -fsyntax-only on cocoa.h with PTH by ~7.3%. llvm-svn: 65103
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 65102
-
Eli Friedman authored
This prevents emitting diagnostics which are almost certainly useless. (Note that the test is checking that we emit only one diagnostic.) llvm-svn: 65101
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 65100
-
Eli Friedman authored
error, so we don't crash. llvm-svn: 65099
-
Eli Friedman authored
from the testsuite. llvm-svn: 65098
-
Fariborz Jahanian authored
llvm-svn: 65097
-
Chris Lattner authored
where there is exactly one existing declaration. This is common. this speeds up clang about 3% on cocoa.h for me 0.165 -> 0.160s llvm-svn: 65096
-
Chris Lattner authored
llvm-svn: 65095
-
Chris Lattner authored
llvm-svn: 65094
-
Mike Stump authored
llvm-svn: 65093
-
Bill Wendling authored
llvm-svn: 65092
-
Bill Wendling authored
Add a default debug location object to the Machine Function. It's used to emit a default debugging label at the beginning of a function. llvm-svn: 65091
-
Chris Lattner authored
t.m:5:2: error: invalid operands to binary expression ('typeof(P)' (aka 'struct mystruct') and 'typeof(F)' (aka 'float')) MAX(P, F); ^~~~~~~~~ t.m:1:78: note: instantiated from: #define MAX(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; }) ^ (no ranges on the second diagnostics) After: t.m:5:2: error: invalid operands to binary expression ('typeof(P)' (aka 'struct mystruct') and 'typeof(F)' (aka 'float')) MAX(P, F); ^~~~~~~~~ t.m:1:78: note: instantiated from: #define MAX(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; }) ~~~ ^ ~~~ (ranges!) llvm-svn: 65090
-
Mike Stump authored
llvm-svn: 65089
-
Chris Lattner authored
DiagnosticInfo. llvm-svn: 65088
-
-
rdar://problem/6562655Ted Kremenek authored
Fix crash from <rdar://problem/6562655>: 'init' method only return a receiver alias if the return type is a location. llvm-svn: 65084
-
Chris Lattner authored
use Blocks for our callbacks ;-) llvm-svn: 65083
-
Ted Kremenek authored
transitions and then generate a subsequent node that removes the dead symbol bindings. This should drastically improve caching in the simulation graph when retain-counted objects are being tracked. llvm-svn: 65082
-
Chris Lattner authored
information about types. We often print diagnostics where we say "foo_t" is bad, but the user doesn't know how foo_t is declared (because it is a typedef). Fix this by expanding sugar when present in a diagnostic (and not one of a few special cases, like vectors). Before: t.m:5:2: error: invalid operands to binary expression ('typeof(P)' and 'typeof(F)') MAX(P, F); ^~~~~~~~~ t.m:1:78: note: instantiated from: #define MAX(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; }) ^ After: t.m:5:2: error: invalid operands to binary expression ('typeof(P)' (aka 'struct mystruct') and 'typeof(F)' (aka 'float')) MAX(P, F); ^~~~~~~~~ t.m:1:78: note: instantiated from: #define MAX(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __b : __a; }) ^ llvm-svn: 65081
-
Ted Kremenek authored
PostStmt program point. This allows clients to pass in PostStmtCustom program points. llvm-svn: 65080
-
Ted Kremenek authored
ProgramPoint::Profile now specially handles PostStmtCustom (hashes on tag and data) so that clients don't need a unique address for the pair itself. llvm-svn: 65079
-