- Mar 10, 2010
-
-
Ted Kremenek authored
llvm-svn: 98161
-
Ted Kremenek authored
llvm-svn: 98160
-
Ted Kremenek authored
Really apply (unnoticed weird git-svn merge conflict in 98144): Refactor RegionStore::RemoveDeadBindings to use the same core cluster analysis algorithm as RegionStore::InvalidateRegions(). Beyond simplifying the algorithm significantly, we no longer need to build subregion maps in RemoveDeadBindings(). This and other changes cause a significant speedup: the time to analyze sqlite3.c (single core) drops by 14%. llvm-svn: 98159
-
Richard Osborne authored
llvm-svn: 98158
-
Richard Osborne authored
results are unused elsewhere. llvm-svn: 98157
-
Benjamin Kramer authored
llvm-svn: 98156
-
Dale Johannesen authored
I'll get this loop right yet. llvm-svn: 98155
-
Rafael Espindola authored
llvm-svn: 98154
-
Richard Osborne authored
llvm-svn: 98153
-
Richard Osborne authored
llvm-svn: 98152
-
Richard Osborne authored
llvm-svn: 98151
-
Richard Osborne authored
directly to the maccu / maccs instructions. We handle this in ExpandADDSUB since after type legalisation it is messy to recognise these operations. llvm-svn: 98150
-
John McCall authored
therefore not creating ElaboratedTypes, which are still pretty-printed with the written tag). Most of these testcase changes were done by script, so don't feel too sorry for my fingers. llvm-svn: 98149
-
Richard Osborne authored
llvm-svn: 98148
-
Chris Lattner authored
semantic instead of syntactic. This completes MCization of darwin/x86[-64]! llvm-svn: 98145
-
Ted Kremenek authored
cluster analysis algorithm as RegionStore::InvalidateRegions(). Beyond simplifying the algorithm significantly, we no longer need to build subregion maps in RemoveDeadBindings(). This and other changes cause a significant speedup: the time to analyze sqlite3.c (single core) drops by 14%. llvm-svn: 98144
-
Ted Kremenek authored
into a 'ClusterAnalysis' parent class. The idea is to potentially reuse this for reworking RemoveDeadBindings. llvm-svn: 98143
-
Evan Cheng authored
llvm-svn: 98142
-
Evan Cheng authored
llvm-svn: 98141
-
Anders Carlsson authored
llvm-svn: 98140
-
Anders Carlsson authored
Don't accidentally mark some functions in construction vtables as unused. Also land the test for a previous checkin, now that it's correct. llvm-svn: 98139
-
John McCall authored
llvm-svn: 98138
-
Dale Johannesen authored
llvm-svn: 98137
-
Zhongxing Xu authored
llvm-svn: 98136
-
Douglas Gregor authored
llvm-svn: 98135
-
John McCall authored
injected class name of a class template or class template partial specialization. This is a non-canonical type; the canonical type is still a template specialization type. This becomes the TypeForDecl of the pattern declaration, which cleans up some amount of code (and complicates some other parts, but whatever). Fixes PR6326 and probably a few others, primarily by re-establishing a few invariants about TypeLoc sizes. llvm-svn: 98134
-
Evan Cheng authored
llvm-svn: 98132
-
Anders Carlsson authored
When building construction vtables, we need to check if a primary virtual base is actually a primary virtual base in the layout class. llvm-svn: 98131
-
Chris Lattner authored
for darwin/x86 to be completely mcized. llvm-svn: 98130
-
Rafael Espindola authored
llvm-svn: 98129
-
Anders Carlsson authored
Improve vcall offset handling in construction vtables. With this we layout the construction vtables from the ABI examples correctly. llvm-svn: 98127
-
Chris Lattner authored
llvm-svn: 98125
-
Chris Lattner authored
llvm-svn: 98124
-
Rafael Espindola authored
This fixes PR6474. llvm-svn: 98123
-
Dan Gohman authored
llvm-svn: 98122
-
Evan Cheng authored
1. Be careful with cse "cheap" expressions. e.g. constant materialization. Only cse them when the common expression is local or in a direct predecessor. We don't want cse of cheap instruction causing other expressions to be spilled. 2. Watch out for the case where the expression doesn't itself uses a virtual register. e.g. lea of frame object. If the common expression itself is used by copies (common for passing addresses to function calls), don't perform the cse. Since these expressions do not use a register, it creates a live range but doesn't close any, we want to be very careful with increasing register pressure. Note these are heuristics so machine cse doesn't make register allocator unhappy. Once we have proper live range splitting and re-materialization support in place, these should be evaluated again. Now machine cse is almost always a win on llvm nightly tests on x86 and x86_64. llvm-svn: 98121
-
Daniel Dunbar authored
llvm-svn: 98120
-
Dan Gohman authored
llvm-svn: 98119
-
Chris Lattner authored
Add a new GetOrCreateTemporarySymbol method and a version that takes a twine. llvm-svn: 98118
-
Chris Lattner authored
dead IsPCRel argument. llvm-svn: 98117
-