Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
#
b5e1e6cc |
| 19-Sep-2013 |
Andrew Trick <atrick@apple.com> |
Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit."
Working on a better solution to this.
This reverts commit 7d4e9934e7ca83094c5cf41346966c8350179ff2.
llvm-svn: 190990
|
#
f33d6df8 |
| 18-Sep-2013 |
Andrew Trick <atrick@apple.com> |
Encapsulate PassManager debug flags to avoid static init and cxa_exit.
This puts all the global PassManager debugging flags, like -print-after-all and -time-passes, behind a managed static. This eli
Encapsulate PassManager debug flags to avoid static init and cxa_exit.
This puts all the global PassManager debugging flags, like -print-after-all and -time-passes, behind a managed static. This eliminates their static initializers and, more importantly, exit-time destructors.
The only behavioral change I anticipate is that tools need to initialize the PassManager before parsing the command line in order to export these options, which makes sense. Tools that already initialize the standard passes (opt/llc) don't need to do anything new.
llvm-svn: 190974
show more ...
|
#
dc073add |
| 18-Sep-2013 |
Andrew Trick <atrick@apple.com> |
whitespace
llvm-svn: 190973
|
#
6d35481c |
| 16-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a wrapper for open.
This centralizes the handling of O_BINARY and opens the way for hiding more differences (like how open behaves with directories).
llvm-svn: 186447
|
Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
#
95777550 |
| 12-Apr-2013 |
Andy Gibbs <andyg1001@hotmail.co.uk> |
Replace uses of the deprecated std::auto_ptr with OwningPtr.
llvm-svn: 179373
|
#
e60e57be |
| 26-Mar-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Split out the IRReader header and the utility functions it provides into its own library. These functions are bridging between the bitcode reader and the ll parser which are in different libraries. P
Split out the IRReader header and the utility functions it provides into its own library. These functions are bridging between the bitcode reader and the ll parser which are in different libraries. Previously we didn't have any good library to do this, and instead played fast and loose with a "header only" set of interfaces in the Support library. This really doesn't work well as evidenced by the recent attempt to add timing logic to the these routines.
As part of this, make them normal functions rather than weird inline functions, and sink the implementation into the library. Also clean up the header to be nice and minimal.
This requires updating lots of build system dependencies to specify that the IRReader library is needed, and several source files to not implicitly rely upon the header file to transitively include all manner of other headers.
If you are using IRReader.h, this commit will break you (the header moved) and you'll need to also update your library usage to include 'irreader'. I will commit the corresponding change to Clang momentarily.
llvm-svn: 177971
show more ...
|
#
9fb823bb |
| 02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM.
There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier.
The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today.
I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something).
I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily.
llvm-svn: 171366
show more ...
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3 |
|
#
4d88a1c2 |
| 04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort the #include lines for tools/...
Again, tools are trickier to pick the main module header for than library source files. I've started to follow the pattern of using LLVMContext.h when it is inc
Sort the #include lines for tools/...
Again, tools are trickier to pick the main module header for than library source files. I've started to follow the pattern of using LLVMContext.h when it is included as a stub for program source files.
llvm-svn: 169252
show more ...
|
Revision tags: llvmorg-3.2.0-rc2 |
|
#
d6b092bb |
| 29-Nov-2012 |
Pedro Artigas <partigas@apple.com> |
One more step towards making doInitialization and doFinalization useful for start up and clean up module passes, now that ASAN and TSAN are fixed the tests pass
llvm-svn: 168905
|
#
1db12f51 |
| 27-Nov-2012 |
Owen Anderson <resistor@mac.com> |
Revert r168635 "Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed
Revert r168635 "Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model". It appears to have broken at least one buildbot.
llvm-svn: 168654
show more ...
|
#
336368c4 |
| 26-Nov-2012 |
Owen Anderson <resistor@mac.com> |
Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass c
Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model
Patch by Pedro Artigas, with feedback from by Chandler Carruth.
llvm-svn: 168635
show more ...
|
#
1aa27512 |
| 15-Nov-2012 |
Owen Anderson <resistor@mac.com> |
Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's.
Patch by Pedro Artigas.
llvm-svn: 168008
|
Revision tags: llvmorg-3.2.0-rc1 |
|
#
7043858a |
| 29-Oct-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add -alias and -ralias options to match what we have for functions and globals.
llvm-svn: 166909
|
#
9cfc13d4 |
| 08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout.
llvm-svn: 165403
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
5079e4dd |
| 30-Dec-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Remove extraneous ".get()->" which is just "->". No functionality change.
llvm-svn: 147379
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
#
a3a06810 |
| 16-Oct-2011 |
Chris Lattner <sabre@nondot.org> |
Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance the X86 asmparser to produce ranges in the one case that was annoying me, for example:
test.s:10:15: error: in
Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance the X86 asmparser to produce ranges in the one case that was annoying me, for example:
test.s:10:15: error: invalid operand for instruction movl 0(%rax), 0(%edx) ^~~~~~~
It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use ranges where appropriate if someone is interested.
llvm-svn: 142106
show more ...
|
#
f0d37869 |
| 16-Sep-2011 |
Chad Rosier <mcrosier@apple.com> |
Add -rfunc and -rglob options to llvm-extract to support regular expression matching.
llvm-svn: 139945
|
#
b1ed91f3 |
| 09-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
Land the long talked about "type system rewrite" patch. This patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deleti
Land the long talked about "type system rewrite" patch. This patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-)
Removing almost 3K lines of code is a good thing. Other advantages include:
1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere.
Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this.
There are still some cleanups pending after this, this patch is large enough as-is.
llvm-svn: 134829
show more ...
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
#
447762da |
| 29-Nov-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Merge System into Support.
llvm-svn: 120298
|
#
0df7ea4c |
| 07-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Move tool_output_file into its own file.
llvm-svn: 115973
|
Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3 |
|
#
0d2c07cf |
| 23-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Fix llvm-extract -delete's lazy loading to materialize the functions that will not be deleted, rather than the ones that will.
llvm-svn: 114614
|
Revision tags: llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
#
a2233f28 |
| 01-Sep-2010 |
Dan Gohman <gohman@apple.com> |
Make tool_output_file's raw_ostream instance a member variable instead of a base class.
This makes it possible to unregister the file from FilesToRemove when the file is done. Also, this eliminates
Make tool_output_file's raw_ostream instance a member variable instead of a base class.
This makes it possible to unregister the file from FilesToRemove when the file is done. Also, this eliminates the need for formatted_tool_output_file.
llvm-svn: 112706
show more ...
|
#
8f292e7a |
| 26-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Rewrite ExtractGV, removing a bunch of stuff that didn't fully work, and was over-complicated, and replacing it with a simple implementation.
llvm-svn: 112120
|
#
bf154593 |
| 25-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Convert llvm-extract to use lazy loading. This makes it substantially faster on large modules.
llvm-svn: 112110
|
#
4cc73ba3 |
| 20-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Use tool_output_file in llvm-extract and llvm-link too.
llvm-svn: 111604
|