| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 106444
|
| |
|
|
| |
llvm-svn: 101438
|
| |
|
|
| |
llvm-svn: 101375
|
| |
|
|
|
|
|
| |
use case where someone wants to resurrect LLVM after calling llvm_shutdown,
but I'm not aware of any clients that are affected by this.
llvm-svn: 100519
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
source addition. Apparently the buildbots were wrong about failures.
---
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100249
|
| |
|
|
|
|
| |
are run during codegen.
llvm-svn: 100207
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<string> include. For some reason the buildbot choked on this while my
builds did not. It's probably due to a difference in system headers.
---
Add some switches helpful for debugging:
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100204
|
| |
|
|
| |
llvm-svn: 100146
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-print-before=<Pass Name>
Dump IR before running pass <Pass Name>.
-print-before-all
Dump IR before running each pass.
-print-after-all
Dump IR after running each pass.
These are helpful when tracking down a miscompilation. It is easy to
get IR dumps and do diffs on them, etc.
To make this work well, add a new getPrinterPass API to Pass so that
each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
suitable for dumping out the kind of object the Pass works on.
llvm-svn: 100143
|
| |
|
|
|
|
| |
separate LLVMContexts.
llvm-svn: 96051
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.
Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods. The bindings to
other languages still use the ModuleProvider concept. It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.
Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.
llvm-svn: 94686
|
| |
|
|
| |
llvm-svn: 94162
|
| |
|
|
| |
llvm-svn: 92661
|
| |
|
|
| |
llvm-svn: 91319
|
| |
|
|
| |
llvm-svn: 86251
|
| |
|
|
| |
llvm-svn: 84886
|
| |
|
|
|
|
|
|
| |
to declare that they preserve other passes without needing to pull in
additional header file or library dependencies. Convert MachineFunctionPass
and CodeGenLICM to make use of this.
llvm-svn: 83555
|
| |
|
|
| |
llvm-svn: 80450
|
| |
|
|
|
|
| |
update all code that this affects.
llvm-svn: 79830
|
| |
|
|
| |
llvm-svn: 74931
|
| |
|
|
|
|
|
| |
than a managed static because other managed statics can (and do) access this
list in their destructors. Yes, I know it's horrible.
llvm-svn: 74029
|
| |
|
|
| |
llvm-svn: 73775
|
| |
|
|
| |
llvm-svn: 73707
|
| |
|
|
|
|
| |
double-checked locking pattern here.
llvm-svn: 73701
|
| |
|
|
| |
llvm-svn: 73673
|
| |
|
|
|
|
| |
when running multithreaded.
llvm-svn: 73636
|
| |
|
|
| |
llvm-svn: 63198
|
| |
|
|
| |
llvm-svn: 54515
|
| |
|
|
| |
llvm-svn: 52587
|
| |
|
|
| |
llvm-svn: 51496
|
| |
|
|
|
|
|
|
|
|
|
| |
address of the PassInfo directly instead of calling getPassInfo.
This eliminates a bunch of dynamic initializations of static data.
Also, fold RegisterPassBase into PassInfo, make a bunch of its
data members const, and rearrange some code to initialize data
members in constructors instead of using setter member functions.
llvm-svn: 51022
|
| |
|
|
|
|
| |
adding <map> to many files that actually do need it.
llvm-svn: 48667
|
| |
|
|
| |
llvm-svn: 48369
|
| |
|
|
| |
llvm-svn: 48044
|
| |
|
|
| |
llvm-svn: 46510
|
| |
|
|
| |
llvm-svn: 45418
|
| |
|
|
| |
llvm-svn: 43130
|
| |
|
|
|
|
|
| |
I am preparing another patch to address the failure that prompted
Chris to revert this patch earlier.
llvm-svn: 36649
|
| |
|
|
| |
llvm-svn: 36638
|
| |
|
|
| |
llvm-svn: 36637
|
| |
|
|
| |
llvm-svn: 36632
|
| |
|
|
| |
llvm-svn: 36498
|
| |
|
|
|
|
|
| |
Pass info objects are initialized by static ctors, so deleting them at
llvm_shutdown time prevents resurrection from working.
llvm-svn: 36292
|
| |
|
|
| |
llvm-svn: 34917
|
| |
|
|
|
|
| |
confusion with external linkage types.
llvm-svn: 33663
|
| |
|
|
|
|
| |
2) Rename AnalysisResolver_New as AnalysisResolver
llvm-svn: 32938
|
| |
|
|
| |
llvm-svn: 32927
|
| |
|
|
| |
llvm-svn: 32748
|
| |
|
|
|
|
| |
Fix it.
llvm-svn: 32562
|
| |
|
|
|
|
|
| |
Use PDL as the prefix for these enums.
Define and use PassDebugging_New in new PassManager.
llvm-svn: 32554
|