57 lines
		
	
	
		
			989 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			989 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: opt < %s -lcssa -verify -S -o /dev/null
 | |
| 
 | |
| ; This bugpoint reduced test case used to assert when removing unused PHI nodes.
 | |
| ; Just verify that we do not assert/crash.
 | |
| 
 | |
| define void @test() {
 | |
| entry:
 | |
|   br label %gazank
 | |
| 
 | |
| gazank:
 | |
|   %value = phi i16 [ 0, %entry ], [ undef, %gazonk ]
 | |
|   br i1 undef, label %gazink, label %qqq
 | |
| 
 | |
| gazink:
 | |
|   br i1 undef, label %gazonk, label %infinite.loop.pred
 | |
| 
 | |
| gazonk:
 | |
|   br i1 undef, label %exit1, label %gazank
 | |
| 
 | |
| qqq:
 | |
|   br i1 undef, label %www, label %exit2
 | |
| 
 | |
| www:
 | |
|   br i1 undef, label %qqq, label %foo.pred
 | |
| 
 | |
| foo.pred:
 | |
|   br label %foo
 | |
| 
 | |
| foo:
 | |
|   br i1 undef, label %bar, label %exit1.pred
 | |
| 
 | |
| bar:
 | |
|   br i1 undef, label %foo, label %exit2.pred
 | |
| 
 | |
| unreachable1:
 | |
|   br i1 undef, label %foo, label %exit2.pred
 | |
| 
 | |
| exit1.pred:
 | |
|   br label %exit1
 | |
| 
 | |
| exit1:
 | |
|   ret void
 | |
| 
 | |
| exit2.pred:
 | |
|   br label %exit2
 | |
| 
 | |
| exit2:
 | |
|   ret void
 | |
| 
 | |
| infinite.loop.pred:
 | |
|   br label %infinite.loop
 | |
| 
 | |
| infinite.loop:
 | |
|   %dead = phi i16 [ %value, %infinite.loop.pred ], [ 0, %infinite.loop ]
 | |
|   br label %infinite.loop
 | |
| }
 |