You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			197 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
		
		
			
		
	
	
			197 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
|   | ; RUN: opt < %s -postdomtree -analyze | FileCheck %s
 | ||
|  | define internal void @f() { | ||
|  | entry: | ||
|  |   br i1 undef, label %bb35, label %bb3.i | ||
|  | 
 | ||
|  | bb3.i: | ||
|  |   br label %bb3.i | ||
|  | 
 | ||
|  | bb: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb.i: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | _float32_unpack.exit: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb.i5: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | _float32_unpack.exit8: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb32.preheader: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb3: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb3.split.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb.i4.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb7.i.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb.i4.us.backedge: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb1.i.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb6.i.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb4.i.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb8.i.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb3.i.loopexit.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb.nph21: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb4: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb5: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb14.preheader: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb.nph18: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb8.us.preheader: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb8.preheader: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb8.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb8: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb15.loopexit: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb15.loopexit2: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb15: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb16: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb17.loopexit.split: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb.nph14: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb19: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb20: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb29.preheader: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb.nph: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb23.us.preheader: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb23.preheader: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb23.us: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb23: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb30.loopexit: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb30.loopexit1: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb30: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb31: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb35.loopexit: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb35.loopexit3: | ||
|  |   br label %bb35 | ||
|  | 
 | ||
|  | bb35: | ||
|  |   ret void | ||
|  | } | ||
|  | ; CHECK: Inorder PostDominator Tree:
 | ||
|  | ; CHECK-NEXT:   [1]  <<exit node>>
 | ||
|  | ; CHECK-NEXT:     [2] %bb35
 | ||
|  | ; CHECK-NEXT:       [3] %bb
 | ||
|  | ; CHECK-NEXT:       [3] %bb.i
 | ||
|  | ; CHECK-NEXT:       [3] %_float32_unpack.exit
 | ||
|  | ; CHECK-NEXT:       [3] %bb.i5
 | ||
|  | ; CHECK-NEXT:       [3] %_float32_unpack.exit8
 | ||
|  | ; CHECK-NEXT:       [3] %bb32.preheader
 | ||
|  | ; CHECK-NEXT:       [3] %bb3
 | ||
|  | ; CHECK-NEXT:       [3] %bb3.split.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb.i4.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb7.i.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb.i4.us.backedge
 | ||
|  | ; CHECK-NEXT:       [3] %bb1.i.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb6.i.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb4.i.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb8.i.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb3.i.loopexit.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb.nph21
 | ||
|  | ; CHECK-NEXT:       [3] %bb4
 | ||
|  | ; CHECK-NEXT:       [3] %bb5
 | ||
|  | ; CHECK-NEXT:       [3] %bb14.preheader
 | ||
|  | ; CHECK-NEXT:       [3] %bb.nph18
 | ||
|  | ; CHECK-NEXT:       [3] %bb8.us.preheader
 | ||
|  | ; CHECK-NEXT:       [3] %bb8.preheader
 | ||
|  | ; CHECK-NEXT:       [3] %bb8.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb8
 | ||
|  | ; CHECK-NEXT:       [3] %bb15.loopexit
 | ||
|  | ; CHECK-NEXT:       [3] %bb15.loopexit2
 | ||
|  | ; CHECK-NEXT:       [3] %bb15
 | ||
|  | ; CHECK-NEXT:       [3] %bb16
 | ||
|  | ; CHECK-NEXT:       [3] %bb17.loopexit.split
 | ||
|  | ; CHECK-NEXT:       [3] %bb.nph14
 | ||
|  | ; CHECK-NEXT:       [3] %bb19
 | ||
|  | ; CHECK-NEXT:       [3] %bb20
 | ||
|  | ; CHECK-NEXT:       [3] %bb29.preheader
 | ||
|  | ; CHECK-NEXT:       [3] %bb.nph
 | ||
|  | ; CHECK-NEXT:       [3] %bb23.us.preheader
 | ||
|  | ; CHECK-NEXT:       [3] %bb23.preheader
 | ||
|  | ; CHECK-NEXT:       [3] %bb23.us
 | ||
|  | ; CHECK-NEXT:       [3] %bb23
 | ||
|  | ; CHECK-NEXT:       [3] %bb30.loopexit
 | ||
|  | ; CHECK-NEXT:       [3] %bb30.loopexit1
 | ||
|  | ; CHECK-NEXT:       [3] %bb30
 | ||
|  | ; CHECK-NEXT:       [3] %bb31
 | ||
|  | ; CHECK-NEXT:       [3] %bb35.loopexit
 | ||
|  | ; CHECK-NEXT:       [3] %bb35.loopexit3
 | ||
|  | ; CHECK-NEXT:     [2] %entry
 | ||
|  | ; CHECK-NEXT:     [2] %bb3.i
 | ||
|  | ; CHECK-NEXT: Roots: %bb35 %bb3.i
 |