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  
				
					
						
							
							
								 
						
							
								ed0881b2a6 
								
							 
						 
						
							
							
								
								Use the new script to sort the includes of every file under lib.  
							
							... 
							
							
							
							Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
llvm-svn: 169131 
							
						 
						
							2012-12-03 16:50:05 +00:00  
				
					
						
							
							
								 
						
							
								57ee5a5db7 
								
							 
						 
						
							
							
								
								remove postdom frontiers, because it is dead.  Forward dom frontiers are  
							
							... 
							
							
							
							still used by RegionInfo :(
llvm-svn: 128943 
							
						 
						
							2011-04-05 21:57:17 +00:00  
				
					
						
							
							
								 
						
							
								bf0aa927cc 
								
							 
						 
						
							
							
								
								split dom frontier handling stuff out to its own DominanceFrontier header,  
							
							... 
							
							
							
							so that Dominators.h is *just* domtree.  Also prune #includes a bit.
llvm-svn: 122714 
							
						 
						
							2011-01-02 22:09:33 +00:00  
				
					
						
							
							
								 
						
							
								8ac477ffb5 
								
							 
						 
						
							
							
								
								Begin adding static dependence information to passes, which will allow us to  
							
							... 
							
							
							
							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 
							
						 
						
							2010-10-12 19:48:12 +00:00  
				
					
						
							
							
								 
						
							
								df7a4f2515 
								
							 
						 
						
							
							
								
								Now with fewer extraneous semicolons!  
							
							... 
							
							
							
							llvm-svn: 115996 
							
						 
						
							2010-10-07 22:25:06 +00:00  
				
					
						
							
							
								 
						
							
								ac4a1ede17 
								
							 
						 
						
							
							
								
								Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.  
							
							... 
							
							
							
							llvm-svn: 109058 
							
						 
						
							2010-07-21 23:07:00 +00:00  
				
					
						
							
							
								 
						
							
								a57b97e7e7 
								
							 
						 
						
							
							
								
								Fix batch of converting RegisterPass<> to INTIALIZE_PASS().  
							
							... 
							
							
							
							llvm-svn: 109045 
							
						 
						
							2010-07-21 22:09:45 +00:00  
				
					
						
							
							
								 
						
							
								d9a0e80213 
								
							 
						 
						
							
							
								
								cache result of operator*  
							
							... 
							
							
							
							llvm-svn: 107977 
							
						 
						
							2010-07-09 15:52:36 +00:00  
				
					
						
							
							
								 
						
							
								4885db6f52 
								
							 
						 
						
							
							
								
								Remove unneeded debug in PostDominator runOnFunction()  
							
							... 
							
							
							
							The information is already available with "opt -analyze". The DominatorTree
does also not have this in its runOnFunction. So they behave now
more consistent.
llvm-svn: 101038 
							
						 
						
							2010-04-12 15:32:55 +00:00  
				
					
						
							
							
								 
						
							
								047ac4aa79 
								
							 
						 
						
							
							
								
								Convert debug messages to use dbgs().  Generally this means  
							
							... 
							
							
							
							s/errs/dbgs/g except for certain special cases.
llvm-svn: 92048 
							
						 
						
							2009-12-23 21:16:54 +00:00  
				
					
						
							
							
								 
						
							
								1362602eb2 
								
							 
						 
						
							
							
								
								Change Pass::print to take a raw ostream instead of std::ostream,  
							
							... 
							
							
							
							update all code that this affects.
llvm-svn: 79830 
							
						 
						
							2009-08-23 06:03:38 +00:00  
				
					
						
							
							
								 
						
							
								b1d782bec9 
								
							 
						 
						
							
							
								
								eliminate the std::ostream form of WriteAsOperand and update clients.  
							
							... 
							
							
							
							This also updates dominator related stuff.
llvm-svn: 79825 
							
						 
						
							2009-08-23 05:17:37 +00:00  
				
					
						
							
							
								 
						
							
								dd378c9ae0 
								
							 
						 
						
							
							
								
								Add newline at end of file.  
							
							... 
							
							
							
							llvm-svn: 51701 
							
						 
						
							2008-05-29 21:05:16 +00:00  
				
					
						
							
							
								 
						
							
								b1ba352efa 
								
							 
						 
						
							
							
								
								Force postdom to be linked into opt and bugpoint, even though it is no longer used by any passes.  
							
							... 
							
							
							
							llvm-svn: 51686 
							
						 
						
							2008-05-29 17:00:13 +00:00  
				
					
						
							
							
								 
						
							
								a8b7e78f54 
								
							 
						 
						
							
							
								
								Remove uses of llvm/System/IncludeFile.h that are no longer needed.  
							
							... 
							
							
							
							llvm-svn: 50695 
							
						 
						
							2008-05-06 01:32:53 +00:00  
				
					
						
							
							
								 
						
							
								2a45575c71 
								
							 
						 
						
							
							
								
								Implement destructor for PostDominatorTree to eliminate a memory leak.  
							
							... 
							
							
							
							llvm-svn: 50607 
							
						 
						
							2008-05-03 20:25:26 +00:00  
				
					
						
							
							
								 
						
							
								57236b58f7 
								
							 
						 
						
							
							
								
								Major repairs to the post-dominators implementation.  Patch from Florian Brandner!  
							
							... 
							
							
							
							llvm-svn: 49768 
							
						 
						
							2008-04-16 04:21:16 +00:00  
				
					
						
							
							
								 
						
							
								4d638f1a42 
								
							 
						 
						
							
							
								
								These passes preserve CFG.  
							
							... 
							
							
							
							This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester
llvm-svn: 48623 
							
						 
						
							2008-03-20 23:27:18 +00:00  
				
					
						
							
							
								 
						
							
								80e43fa744 
								
							 
						 
						
							
							
								
								Restore isCFGOnly property of various analysis passes.  
							
							... 
							
							
							
							llvm-svn: 48579 
							
						 
						
							2008-03-20 02:25:21 +00:00  
				
					
						
							
							
								 
						
							
								718da668ab 
								
							 
						 
						
							
							
								
								PassInfo keep tracks whether a pass is an analysis pass or not.  
							
							... 
							
							
							
							llvm-svn: 48554 
							
						 
						
							2008-03-19 21:56:59 +00:00  
				
					
						
							
							
								 
						
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
				
					
						
							
							
								 
						
							
								9c614117da 
								
							 
						 
						
							
							
								
								Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than inheriting from it.  
							
							... 
							
							
							
							llvm-svn: 43259 
							
						 
						
							2007-10-23 20:58:37 +00:00  
				
					
						
							
							
								 
						
							
								4187801f85 
								
							 
						 
						
							
							
								
								Template DominatorTreeBase by node type.  This is the next major step towards  
							
							... 
							
							
							
							having dominator information on MBB's.
llvm-svn: 43036 
							
						 
						
							2007-10-16 19:59:25 +00:00  
				
					
						
							
							
								 
						
							
								8313e75ea7 
								
							 
						 
						
							
							
								
								Completely merge the implementation details of DomTree and PostDomTree.  
							
							... 
							
							
							
							Also, add a FIXME for a bug in PostDomTree calculation I noticed while writing this,
llvm-svn: 42593 
							
						 
						
							2007-10-03 21:25:45 +00:00  
				
					
						
							
							
								 
						
							
								b60f254975 
								
							 
						 
						
							
							
								
								Factor some code from the DomTree and PostDomTree calculate methods up into  
							
							... 
							
							
							
							each one's runOnFunction method.
llvm-svn: 42563 
							
						 
						
							2007-10-03 03:20:17 +00:00  
				
					
						
							
							
								 
						
							
								0fbef94cd0 
								
							 
						 
						
							
							
								
								Have PostDomTree use the newly templated DFSPass.  
							
							... 
							
							
							
							llvm-svn: 42427 
							
						 
						
							2007-09-28 01:23:47 +00:00  
				
					
						
							
							
								 
						
							
								15efb43db7 
								
							 
						 
						
							
							
								
								Factor the calculation details for PostDomTree out of PostDominators.cpp and  
							
							... 
							
							
							
							into a separate header file.
Next step: merging PostDominatorCalculation.h with DominatorCalculation.h.
llvm-svn: 42251 
							
						 
						
							2007-09-23 22:21:00 +00:00  
				
					
						
							
							
								 
						
							
								c63d4c2e4e 
								
							 
						 
						
							
							
								
								reimplement dfs number computation to be significantly faster.  This speeds up  
							
							... 
							
							
							
							natural loop canonicalization (which does many cfg xforms) by 4.3x, for 
example.  This also fixes a bug in postdom dfnumber computation.
llvm-svn: 40920 
							
						 
						
							2007-08-08 05:51:24 +00:00  
				
					
						
							
							
								 
						
							
								d2eb0c9653 
								
							 
						 
						
							
							
								
								Fix an iterator invalidation bug I induced.  
							
							... 
							
							
							
							llvm-svn: 40830 
							
						 
						
							2007-08-05 00:24:30 +00:00  
				
					
						
							
							
								 
						
							
								0e8f85f87e 
								
							 
						 
						
							
							
								
								Switch some std::sets to SmallPtrSet.  This speeds up  
							
							... 
							
							
							
							domtree by 10% and postdomtree by 17%
llvm-svn: 40829 
							
						 
						
							2007-08-05 00:15:57 +00:00  
				
					
						
							
							
								 
						
							
								77e05fe20d 
								
							 
						 
						
							
							
								
								Switch the internal "Info" map from an std::map to a DenseMap.  This  
							
							... 
							
							
							
							speeds up idom by about 45% and postidom by about 33%.
Some extra precautions must be taken not to invalidate densemap iterators.
llvm-svn: 40827 
							
						 
						
							2007-08-05 00:02:00 +00:00  
				
					
						
							
							
								 
						
							
								bd0fe01daf 
								
							 
						 
						
							
							
								
								switch the DomTreeNodes and IDoms maps in idom/postidom to a  
							
							... 
							
							
							
							DenseMap instead of an std::map.  This speeds up postdomtree
by about 25% and domtree by about 23%.  It also speeds up clients,
for example, domfrontier by 11%, mem2reg by 4% and ADCE by 6%.
llvm-svn: 40826 
							
						 
						
							2007-08-04 23:48:07 +00:00  
				
					
						
							
							
								 
						
							
								13b25df0e9 
								
							 
						 
						
							
							
								
								Unreachable block is not a root node in post dominator tree.  
							
							... 
							
							
							
							llvm-svn: 40458 
							
						 
						
							2007-07-24 01:02:25 +00:00  
				
					
						
							
							
								 
						
							
								a6ff5bf9ba 
								
							 
						 
						
							
							
								
								Break DominatorTree from ETNode.  
							
							... 
							
							
							
							Remove unused PostETForest.
llvm-svn: 37551 
							
						 
						
							2007-06-12 00:54:38 +00:00  
				
					
						
							
							
								 
						
							
								af41e4a192 
								
							 
						 
						
							
							
								
								Maintain ETNode as part of DomTreeNode.  
							
							... 
							
							
							
							This adds redundancy for now.
llvm-svn: 37492 
							
						 
						
							2007-06-07 17:47:21 +00:00  
				
					
						
							
							
								 
						
							
								bdd1aaef10 
								
							 
						 
						
							
							
								
								s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g  
							
							... 
							
							
							
							llvm-svn: 37407 
							
						 
						
							2007-06-04 00:32:22 +00:00  
				
					
						
							
							
								 
						
							
								0e8aa7b69a 
								
							 
						 
						
							
							
								
								s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g  
							
							... 
							
							
							
							llvm-svn: 37403 
							
						 
						
							2007-06-03 06:26:14 +00:00  
				
					
						
							
							
								 
						
							
								8c78a0bff0 
								
							 
						 
						
							
							
								
								Drop 'const'  
							
							... 
							
							
							
							llvm-svn: 36662 
							
						 
						
							2007-05-03 01:11:54 +00:00  
				
					
						
							
							
								 
						
							
								e95c6ad802 
								
							 
						 
						
							
							
								
								Use 'static const char' instead of 'static const int'.  
							
							... 
							
							
							
							Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652 
							
						 
						
							2007-05-02 21:39:20 +00:00  
				
					
						
							
							
								 
						
							
								09f162ca6a 
								
							 
						 
						
							
							
								
								Do not use typeinfo to identify pass in pass manager.  
							
							... 
							
							
							
							llvm-svn: 36632 
							
						 
						
							2007-05-01 21:15:47 +00:00  
				
					
						
							
							
								 
						
							
								883ff07672 
								
							 
						 
						
							
							
								
								Cache DT[*SI] lookup.  
							
							... 
							
							
							
							llvm-svn: 36239 
							
						 
						
							2007-04-18 01:19:55 +00:00  
				
					
						
							
							
								 
						
							
								5976db0103 
								
							 
						 
						
							
							
								
								Fix  
							
							... 
							
							
							
							http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/047971.html 
llvm-svn: 36236 
						
							2007-04-18 00:53:01 +00:00  
				
					
						
							
							
								 
						
							
								f064c92298 
								
							 
						 
						
							
							
								
								Tabs -> Spaces  
							
							... 
							
							
							
							llvm-svn: 36094 
							
						 
						
							2007-04-15 23:14:18 +00:00  
				
					
						
							
							
								 
						
							
								f35a1dbc7a 
								
							 
						 
						
							
							
								
								Remove ImmediateDominator analysis.  The same information can be obtained from DomTree.  A lot of code for  
							
							... 
							
							
							
							constructing ImmediateDominator is now folded into DomTree construction.
This is part of the ongoing work for PR217.
llvm-svn: 36063 
							
						 
						
							2007-04-15 08:47:27 +00:00  
				
					
						
							
							
								 
						
							
								8763ba1b88 
								
							 
						 
						
							
							
								
								Completely purge DomSet.  This is the (hopefully) final patch for PR1171.  
							
							... 
							
							
							
							llvm-svn: 35731 
							
						 
						
							2007-04-07 07:17:27 +00:00  
				
					
						
							
							
								 
						
							
								3216551491 
								
							 
						 
						
							
							
								
								Removed unneeded <iostream> #include.  
							
							... 
							
							
							
							llvm-svn: 31810 
							
						 
						
							2006-11-17 07:10:51 +00:00  
				
					
						
							
							
								 
						
							
								0a79537341 
								
							 
						 
						
							
							
								
								Fix DFS walk.  
							
							... 
							
							
							
							Fix http://llvm.org/bugs/show_bug.cgi?id=923 
llvm-svn: 30630 
							
						 
						
							2006-09-27 17:18:05 +00:00  
				
					
						
							
							
								 
						
							
								0142cd129e 
								
							 
						 
						
							
							
								
								Untabify.  
							
							... 
							
							
							
							llvm-svn: 30168 
							
						 
						
							2006-09-07 23:29:19 +00:00  
				
					
						
							
							
								 
						
							
								b8164e6131 
								
							 
						 
						
							
							
								
								Use iterative do-while loop instead of recursive DFSPass calls to  
							
							... 
							
							
							
							reduce amount of stack space used at runtime.
llvm-svn: 30167 
							
						 
						
							2006-09-07 23:22:37 +00:00