Eric Christopher 
							
						 
					 
					
						
						
							
						
						c723eb1aef 
					 
					
						
						
							
							Revert "IntRange:" as it appears to be breaking self hosting.  
						
						... 
						
						
						
						This reverts commit b2833d9dcbhttps://llvm.org/svn/llvm-project/llvm/trunk@159618  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-02 23:22:21 +00:00 
						 
				 
			
				
					
						
							
							
								Stepan Dyatkovskiy 
							
						 
					 
					
						
						
							
						
						b2833d9dcb 
					 
					
						
						
							
							IntRange:  
						
						... 
						
						
						
						- Changed isSingleNumber method behaviour. Now this flag is calculated on demand.
IntegersSubsetMapping
  - Optimized diff operation.
  - Replaced type of Items field from std::list with std::map.
  - Added new methods:
    bool isOverlapped(self &RHS)
    void add(self& RHS, SuccessorClass *S)
    void detachCase(self& NewMapping, SuccessorClass *Succ)
    void removeCase(SuccessorClass *Succ)
    SuccessorClass *findSuccessor(const IntTy& Val)
    const IntTy* getCaseSingleNumber(SuccessorClass *Succ)
IntegersSubsetTest
  - DiffTest: Added checks for successors.
SimplifyCFG
  Updated SwitchInst usage (now it is case-ragnes compatible) for
    - SimplifyEqualityComparisonWithOnlyPredecessor
    - FoldValueComparisonIntoPredecessors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159527  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-02 13:02:18 +00:00 
						 
				 
			
				
					
						
							
							
								Stepan Dyatkovskiy 
							
						 
					 
					
						
						
							
						
						0e20eb496e 
					 
					
						
						
							
							IntegersSubsetTest: Due to compilation failure with -std=c11, replaced -1UL with NOT_A_NUMBER constant (0xffff).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159207  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-26 16:08:20 +00:00 
						 
				 
			
				
					
						
							
							
								Stepan Dyatkovskiy 
							
						 
					 
					
						
						
							
						
						b787d41959 
					 
					
						
						
							
							IntegersSubsetMapping: implemented "diff" operation. Operation allows at the same time perform up to three operations:  
						
						... 
						
						
						
						- LHS exclude RHS
- LHS intersect RHS (LHS successors will keeped)
- RHS exclude LHS
The complexity is N+M, where
  N is size of LHS
  M is size of RHS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159201  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-26 11:57:43 +00:00 
						 
				 
			
				
					
						
							
							
								Stepan Dyatkovskiy 
							
						 
					 
					
						
						
							
						
						0f7a7bcd48 
					 
					
						
						
							
							IntegersSubsetMapping: removed exclude operation, it will replaced with more universal "diff" operation in next commit.  
						
						... 
						
						
						
						Changes was separated onto two commits for better readability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159200  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-26 11:41:47 +00:00 
						 
				 
			
				
					
						
							
							
								Stepan Dyatkovskiy 
							
						 
					 
					
						
						
							
						
						5d59b0b38e 
					 
					
						
						
							
							IntegersSubsetMapping: added exclude operation, that allows to exclude subset of integers from current mapping.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157989  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-05 07:57:36 +00:00 
						 
				 
			
				
					
						
							
							
								Stepan Dyatkovskiy 
							
						 
					 
					
						
						
							
						
						20cb4919cd 
					 
					
						
						
							
							IntegersSubsetMapping:  
						
						... 
						
						
						
						Changed type of Items collection: from std::vector to std::list.
Also some small fixes made in IntegersSubset.h, IntegersSubsetMapping.h and IntegersSubsetTest.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157987  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-05 07:43:08 +00:00 
						 
				 
			
				
					
						
							
							
								Stepan Dyatkovskiy 
							
						 
					 
					
						
						
							
						
						31219d2cec 
					 
					
						
						
							
							Added unittests for IntegersSubset and IntegersSubsetMapping.  
						
						... 
						
						
						
						- Fixed IntegersSubsetGeneric copy/assignment behaviour. 
- Fixed IntegersSubsetGeneric::getSize/getSingleValue methods.
- Fixed IntegersSubsetGeneric::verify method.
Also IntegersSubset.h and IntegersSubsetMapping.h headers was fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157887  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-02 13:47:12 +00:00