79d8d81226 
								
							 
						 
						
							
							
								
								Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer.  
							
							... 
							
							
							
							llvm-svn: 173647 
							
						 
						
							2013-01-28 01:35:51 +00:00  
				
					
						
							
							
								 
						
							
								1fe21fc0b5 
								
							 
						 
						
							
							
								
								Sort all of the includes. Several files got checked in with mis-sorted  
							
							... 
							
							
							
							includes.
llvm-svn: 172891 
							
						 
						
							2013-01-19 08:03:47 +00:00  
				
					
						
							
							
								 
						
							
								63e77d5ffa 
								
							 
						 
						
							
							
								
								Fix #includes after my last commit.  
							
							... 
							
							
							
							llvm-svn: 172114 
							
						 
						
							2013-01-10 21:56:40 +00:00  
				
					
						
							
							
								 
						
							
								9fb823bbd4 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							2013-01-02 11:36:10 +00:00  
				
					
						
							
							
								 
						
							
								4d88a1c233 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							2012-12-04 10:44:52 +00:00  
				
					
						
							
							
								 
						
							
								61f210b5c0 
								
							 
						 
						
							
							
								
								Allow bugpoint to recognize -bb-vectorize  
							
							... 
							
							
							
							llvm-svn: 150003 
							
						 
						
							2012-02-07 21:11:12 +00:00  
				
					
						
							
							
								 
						
							
								3ea478b7ac 
								
							 
						 
						
							
							
								
								Move methods in PassManagerBuilder offline.  
							
							... 
							
							
							
							llvm-svn: 136727 
							
						 
						
							2011-08-02 21:50:27 +00:00  
				
					
						
							
							
								 
						
							
								591eaa481e 
								
							 
						 
						
							
							
								
								move PassManagerBuilder.h to IPO. This is a non intuitive place to put it,  
							
							... 
							
							
							
							but it solves a layering violation since things in Support are not supposed to
use things in Transforms.
llvm-svn: 136726 
							
						 
						
							2011-08-02 21:50:24 +00:00  
				
					
						
							
							
								 
						
							
								2378cacae3 
								
							 
						 
						
							
							
								
								Add -O1/2/3 to bugpoint, so when you conclude opt -O2 reproduces an issue, you can just run bugpoint -O2. :)  My implementation isn't precisely equivalent to what opt does, but as far as I can tell, it's close enough.  
							
							... 
							
							
							
							llvm-svn: 132695 
							
						 
						
							2011-06-06 22:45:46 +00:00  
				
					
						
							
							
								 
						
							
								f200a0af58 
								
							 
						 
						
							
							
								
								switch bugpoint and liblto to PassManagerBuilder.  
							
							... 
							
							
							
							llvm-svn: 131821 
							
						 
						
							2011-05-22 00:20:07 +00:00  
				
					
						
							
							
								 
						
							
								610c41e7b0 
								
							 
						 
						
							
							
								
								Disable debug mode.  
							
							... 
							
							
							
							llvm-svn: 123443 
							
						 
						
							2011-01-14 15:55:50 +00:00  
				
					
						
							
							
								 
						
							
								331df548c3 
								
							 
						 
						
							
							
								
								Little help to debug the bugpoint itself.  
							
							... 
							
							
							
							Patch by Bob Wilson.
llvm-svn: 123390 
							
						 
						
							2011-01-13 19:48:54 +00:00  
				
					
						
							
							
								 
						
							
								447762da85 
								
							 
						 
						
							
							
								
								Merge System into Support.  
							
							... 
							
							
							
							llvm-svn: 120298 
							
						 
						
							2010-11-29 18:16:10 +00:00  
				
					
						
							
							
								 
						
							
								6c18d1aac0 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							2010-10-19 17:21:58 +00:00  
				
					
						
							
							
								 
						
							
								3bd97fec8f 
								
							 
						 
						
							
							
								
								Straighten out any triple strings passed on the command line before  
							
							... 
							
							
							
							they hit the rest of the system.
llvm-svn: 112344 
							
						 
						
							2010-08-28 01:30:02 +00:00  
				
					
						
							
							
								 
						
							
								33e81a8221 
								
							 
						 
						
							
							
								
								Most of bugpoint now only needs to know the pass names.  
							
							... 
							
							
							
							llvm-svn: 110534 
							
						 
						
							2010-08-08 03:55:08 +00:00  
				
					
						
							
							
								 
						
							
								bbdce49c2a 
								
							 
						 
						
							
							
								
								Run opt instead of bugpoint itself.  
							
							... 
							
							
							
							llvm-svn: 110524 
							
						 
						
							2010-08-07 23:03:21 +00:00  
				
					
						
							
							
								 
						
							
								a7aed18624 
								
							 
						 
						
							
							
								
								Reapply r110396, with fixes to appease the Linux buildbot gods.  
							
							... 
							
							
							
							llvm-svn: 110460 
							
						 
						
							2010-08-06 18:33:48 +00:00  
				
					
						
							
							
								 
						
							
								bda59bd247 
								
							 
						 
						
							
							
								
								Revert r110396 to fix buildbots.  
							
							... 
							
							
							
							llvm-svn: 110410 
							
						 
						
							2010-08-06 00:23:35 +00:00  
				
					
						
							
							
								 
						
							
								755aceb5d0 
								
							 
						 
						
							
							
								
								Don't use PassInfo* as a type identifier for passes.  Instead, use the address of the static  
							
							... 
							
							
							
							ID member as the sole unique type identifier.  Clean up APIs related to this change.
llvm-svn: 110396 
							
						 
						
							2010-08-05 23:42:04 +00:00  
				
					
						
							
							
								 
						
							
								824edeb842 
								
							 
						 
						
							
							
								
								Revert bugpoint change due to buildbot breakage.  
							
							... 
							
							
							
							--- Reverse-merging r110333 into '.':
U    tools/bugpoint/BugDriver.h
U    tools/bugpoint/OptimizerDriver.cpp
U    tools/bugpoint/bugpoint.cpp
U    tools/bugpoint/BugDriver.cpp
llvm-svn: 110341 
							
						 
						
							2010-08-05 16:26:32 +00:00  
				
					
						
							
							
								 
						
							
								86d7095eac 
								
							 
						 
						
							
							
								
								Run opt instead of bugpoint itself.  
							
							... 
							
							
							
							Fixes PR753.
llvm-svn: 110333 
							
						 
						
							2010-08-05 15:25:38 +00:00  
				
					
						
							
							
								 
						
							
								81781220d2 
								
							 
						 
						
							
							
								
								Speculatively revert r108813, in an attempt to get the self-host buildbots working again.  I don't see why this patch  
							
							... 
							
							
							
							would cause them to fail the way they are, but none of the other intervening patches seem likely either.
llvm-svn: 108818 
							
						 
						
							2010-07-20 08:26:15 +00:00  
				
					
						
							
							
								 
						
							
								8dc129325f 
								
							 
						 
						
							
							
								
								Reapply r108794, a fix for the failing test from last time.  
							
							... 
							
							
							
							llvm-svn: 108813 
							
						 
						
							2010-07-20 06:52:42 +00:00  
				
					
						
							
							
								 
						
							
								4a35d6f8cd 
								
							 
						 
						
							
							
								
								Revert r108794, "Separate PassInfo into two classes: a constructor-free  
							
							... 
							
							
							
							superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.
llvm-svn: 108805 
							
						 
						
							2010-07-20 03:06:07 +00:00  
				
					
						
							
							
								 
						
							
								e7c5fe586a 
								
							 
						 
						
							
							
								
								Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).  
							
							... 
							
							
							
							llvm-svn: 108794 
							
						 
						
							2010-07-20 01:19:58 +00:00  
				
					
						
							
							
								 
						
							
								6ba630b077 
								
							 
						 
						
							
							
								
								Remove use of exceptions from bugpoint. No deliberate functionality change!  
							
							... 
							
							
							
							llvm-svn: 101013 
							
						 
						
							2010-04-12 05:08:25 +00:00  
				
					
						
							
							
								 
						
							
								71bd0f4eda 
								
							 
						 
						
							
							
								
								Bugpoint's default memory limit (100MB) was too low for valgrind, so  
							
							... 
							
							
							
							this patch raises the default to 800MB when valgrind's active.  800
was chosen semi-arbitrarily.
llvm-svn: 98905 
							
						 
						
							2010-03-19 00:09:28 +00:00  
				
					
						
							
							
								 
						
							
								edcbfe8529 
								
							 
						 
						
							
							
								
								only print the override triple if it exists!  
							
							... 
							
							
							
							llvm-svn: 80534 
							
						 
						
							2009-08-31 03:22:35 +00:00  
				
					
						
							
							
								 
						
							
								8575a60d33 
								
							 
						 
						
							
							
								
								Change bugpoint to use Triple to make runtime decisions.  
							
							... 
							
							
							
							- This is cleaner, and makes bugpoint match the host instead of the build
   architecture.
 - Patch by Sandeep Patel!
llvm-svn: 79309 
							
						 
						
							2009-08-18 03:35:57 +00:00  
				
					
						
							
							
								 
						
							
								86ec7bae4f 
								
							 
						 
						
							
							
								
								MSVC warning fixes; patch by Stein Roger!  
							
							... 
							
							
							
							llvm-svn: 78405 
							
						 
						
							2009-08-07 20:50:09 +00:00  
				
					
						
							
							
								 
						
							
								a30c0a1b3e 
								
							 
						 
						
							
							
								
								Pass true to the Internalize parameter of createStandardLTOPasses,  
							
							... 
							
							
							
							to match llvm-ld's default behavior.
llvm-svn: 77273 
							
						 
						
							2009-07-27 23:23:47 +00:00  
				
					
						
							
							
								 
						
							
								7369951bfe 
								
							 
						 
						
							
							
								
								Add -std-{compile,link}-opts to bugpoint.  
							
							... 
							
							
							
							- Sheesh.
llvm-svn: 76402 
							
						 
						
							2009-07-20 07:01:01 +00:00  
				
					
						
							
							
								 
						
							
								ee05152cfa 
								
							 
						 
						
							
							
								
								Convert more tools code from cerr and cout to errs() and outs().  
							
							... 
							
							
							
							llvm-svn: 76070 
							
						 
						
							2009-07-16 15:30:09 +00:00  
				
					
						
							
							
								 
						
							
								19251ec836 
								
							 
						 
						
							
							
								
								To simplify the upcoming context-on-type change, switch all command line tools to using the default global context for now.  
							
							... 
							
							
							
							This will let us to hardwire stuff to the global context in the short term while the API is sorted out.
llvm-svn: 75846 
							
						 
						
							2009-07-15 22:16:10 +00:00  
				
					
						
							
							
								 
						
							
								d8db376071 
								
							 
						 
						
							
							
								
								Use errs() instead of std::cerr.  
							
							... 
							
							
							
							llvm-svn: 75791 
							
						 
						
							2009-07-15 16:35:29 +00:00  
				
					
						
							
							
								 
						
							
								1cf085d558 
								
							 
						 
						
							
							
								
								Hold the LLVMContext by reference rather than by pointer.  
							
							... 
							
							
							
							llvm-svn: 74640 
							
						 
						
							2009-07-01 21:22:36 +00:00  
				
					
						
							
							
								 
						
							
								6773d388aa 
								
							 
						 
						
							
							
								
								Add a pointer to the owning LLVMContext to Module.  This requires threading LLVMContext through a lot  
							
							... 
							
							
							
							of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.
Patches for Clang and LLVM-GCC to follow.
llvm-svn: 74614 
							
						 
						
							2009-07-01 16:58:40 +00:00  
				
					
						
							
							
								 
						
							
								6019e07b3b 
								
							 
						 
						
							
							
								
								Improve bugpoint's error messages when it runs out of memory,  
							
							... 
							
							
							
							or when some other std::exception is thrown.
llvm-svn: 70175 
							
						 
						
							2009-04-27 01:30:37 +00:00  
				
					
						
							
							
								 
						
							
								e3fc2d13be 
								
							 
						 
						
							
							
								
								Change various llvm utilities to use PrettyStackTraceProgram in  
							
							... 
							
							
							
							their main routines.  This makes the tools print their argc/argv
commands if they crash.
llvm-svn: 66248 
							
						 
						
							2009-03-06 05:34:10 +00:00  
				
					
						
							
							
								 
						
							
								c3aa8f7bab 
								
							 
						 
						
							
							
								
								fix bugpoint url, patch by Pieter de Bie!  
							
							... 
							
							
							
							llvm-svn: 64022 
							
						 
						
							2009-02-07 18:56:30 +00:00  
				
					
						
							
							
								 
						
							
								02d2bc8d3e 
								
							 
						 
						
							
							
								
								Fix a missing space in the description of the find-bugs option.  
							
							... 
							
							
							
							llvm-svn: 47271 
							
						 
						
							2008-02-18 17:15:45 +00:00  
				
					
						
							
							
								 
						
							
								345353d6b4 
								
							 
						 
						
							
							
								
								remove attributions from tools.  
							
							... 
							
							
							
							llvm-svn: 45421 
							
						 
						
							2007-12-29 20:44:31 +00:00  
				
					
						
							
							
								 
						
							
								2c6a821fd7 
								
							 
						 
						
							
							
								
								Move the space in overview output for commands out of each of the  
							
							... 
							
							
							
							commands and into the common code.
llvm-svn: 42752 
							
						 
						
							2007-10-08 15:45:12 +00:00  
				
					
						
							
							
								 
						
							
								d01defedf6 
								
							 
						 
						
							
							
								
								Add possibility to set memory limit for binaries run via libSystem. This  
							
							... 
							
							
							
							is especially needed for bugpoint. This partly implements PR688
llvm-svn: 34349 
							
						 
						
							2007-02-16 19:11:07 +00:00  
				
					
						
							
							
								 
						
							
								76d4632d92 
								
							 
						 
						
							
							
								
								make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.  
							
							... 
							
							
							
							With this change, I can now move -stats to print when llvm_shutdown is called.
llvm-svn: 32250 
							
						 
						
							2006-12-06 01:18:01 +00:00  
				
					
						
							
							
								 
						
							
								0d630c33b2 
								
							 
						 
						
							
							
								
								Need <iostream> for the time being.  
							
							... 
							
							
							
							llvm-svn: 31821 
							
						 
						
							2006-11-17 10:09:22 +00:00  
				
					
						
							
							
								 
						
							
								a322366501 
								
							 
						 
						
							
							
								
								For PR885:  
							
							... 
							
							
							
							Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.
llvm-svn: 29787 
							
						 
						
							2006-08-21 05:34:03 +00:00  
				
					
						
							
							
								 
						
							
								c46c03834c 
								
							 
						 
						
							
							
								
								This commit adds a new feature called find-bugs. The find-bugs option can be invoked on a .bc file from the command like with -find-bugs and a list of passes you wish to test. This procedure takes the set of optimization passes the user specifies, randomizes the passes, runs the passes on the specified .bc file, compiles the program, and finally runs the program checking its output vs the .bc file with no optimizations. This process repeats until either the user kills bugpoint or an error occurs in the optimizations, program complitation, or the running of the program. If an error occurs, bugpoint attempts to diagnose the error by eliminating passes that are not at fault and code that is not needed.  
							
							... 
							
							
							
							llvm-svn: 29703 
							
						 
						
							2006-08-15 16:40:49 +00:00  
				
					
						
							
							
								 
						
							
								20ec1654b1 
								
							 
						 
						
							
							
								
								Teach bugpoint to kill optimization passes that run over the timeout limit,  
							
							... 
							
							
							
							which allows it to debug optimizer infinite loops.  This patch is contributed
by Nick Lewycky, thanks!
llvm-svn: 28763 
							
						 
						
							2006-06-13 03:10:48 +00:00