- Oct 19, 2010
-
-
Owen Anderson authored
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
-
- Oct 18, 2010
-
-
Devang Patel authored
Patch by Alexander Herz! llvm-svn: 116733
-
- Oct 13, 2010
-
-
Rafael Espindola authored
llvm-svn: 116390
-
Rafael Espindola authored
llvm-svn: 116387
-
- Oct 12, 2010
-
-
Owen Anderson authored
perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334
-
- Oct 08, 2010
-
-
Owen Anderson authored
llvm-svn: 115996
-
- Oct 07, 2010
-
-
Owen Anderson authored
initialization functions that initialize the set of passes implemented in that library. Add C bindings for these functions as well. llvm-svn: 115927
-
Owen Anderson authored
a header declaring them all. This is also where we will declare per-library pass-set initializer functions down the road. llvm-svn: 115900
-
- Sep 29, 2010
-
-
Oscar Fuentes authored
llvm-svn: 114999
-
- Sep 24, 2010
-
-
Michael J. Spencer authored
llvm-svn: 114750
-
- Sep 14, 2010
-
-
Michael J. Spencer authored
This reverts commit r113632 Conflicts: cmake/modules/AddLLVM.cmake llvm-svn: 113819
-
- Sep 13, 2010
-
-
John Thompson authored
llvm-svn: 113766
-
- Sep 11, 2010
-
-
Gabor Greif authored
llvm-svn: 113647
-
- Sep 10, 2010
-
-
Michael J. Spencer authored
llvm-svn: 113632
-
- Sep 04, 2010
-
-
Dan Gohman authored
into an inner loop, as the new loop iteration may differ substantially. This fixes PR8078. llvm-svn: 113057
-
- Sep 02, 2010
-
-
Duncan Sands authored
I'm sure it is harmless. Original commit message: If PrototypeValue is erased in the middle of using the SSAUpdator then the SSAUpdator may access freed memory. Instead, simply pass in the type and name explicitly, which is all that was used anyway. llvm-svn: 112810
-
- Sep 01, 2010
-
-
Eric Christopher authored
self host errors on clang-x86-64. llvm-svn: 112719
-
Duncan Sands authored
then the SSAUpdator may access freed memory. Instead, simply pass in the type and name explicitly, which is all that was used anyway. llvm-svn: 112699
-
- Aug 29, 2010
-
-
Chris Lattner authored
llvm-svn: 112409
-
- Aug 28, 2010
-
-
Chris Lattner authored
I'm aware of, aren't maintained, and LVI will be replacing their value. nlewycky approved this on irc. llvm-svn: 112355
-
- Aug 26, 2010
-
-
Dan Gohman authored
fix: add a flag to MapValue and friends which indicates whether any module-level mappings are being made. In the common case of inlining, no module-level mappings are needed, so MapValue doesn't need to examine non-function-local metadata, which can be very expensive in the case of a large module with really deep metadata (e.g. a large C++ program compiled with -g). This flag is a little awkward; perhaps eventually it can be moved into the ClonedCodeInfo class. llvm-svn: 112190
-
Daniel Dunbar authored
except ...", it is causing *massive* performance regressions when building Clang with itself (-O3 -g). llvm-svn: 112158
-
Daniel Dunbar authored
individual ...", which depends on r111922, which I am reverting. llvm-svn: 112157
-
- Aug 25, 2010
-
-
Dan Gohman authored
instructions, not when remapping modules. llvm-svn: 112091
-
- Aug 24, 2010
-
-
Dan Gohman authored
which does the same thing. This eliminates redundant code and handles MDNodes better. MDNode linking still doesn't fully work yet though. llvm-svn: 111941
-
Dan Gohman authored
that it avoids a lot of unnecessary cloning by avoiding remapping MDNode cycles when none of the nodes in the cycle actually need to be remapped. Also it uses the new temporary MDNode mechanism. llvm-svn: 111922
-
- Aug 23, 2010
-
-
Owen Anderson authored
Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API. llvm-svn: 111815
-
- Aug 18, 2010
-
-
Chris Lattner authored
llvm-svn: 111348
-
Chris Lattner authored
llvm-svn: 111344
-
- Aug 17, 2010
-
-
Dan Gohman authored
what it does manually. llvm-svn: 111248
-
- Aug 16, 2010
-
-
Dan Gohman authored
actually use ScalarEvolution. llvm-svn: 111124
-
Dan Gohman authored
indirectbr destination lists. llvm-svn: 111122
-
- Aug 14, 2010
-
-
Dan Gohman authored
llvm-svn: 111061
-
Dan Gohman authored
- Eliminate redundant successors. - Convert an indirectbr with one successor into a direct branch. Also, generalize SimplifyCFG to be able to be run on a function entry block. It knows quite a few simplifications which are applicable to the entry block, and it only needs a few checks to avoid trouble with the entry block. llvm-svn: 111060
-
- Aug 06, 2010
-
-
Dan Gohman authored
instead, as an example of what this looks like. llvm-svn: 110478
-
Owen Anderson authored
llvm-svn: 110460
-
Owen Anderson authored
llvm-svn: 110410
-
Owen Anderson authored
ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
-
- Jul 28, 2010
-
-
Gabor Greif authored
llvm-svn: 109589
-
- Jul 27, 2010
-
-
Gabor Greif authored
llvm-svn: 109506
-