| Owen Anderson | fe9388c | 2009-02-04 05:16:46 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-as < %s | opt -basicaa -gvn | llvm-dis | grep load | count 1 |
| 2 | |||||
| 3 | @flag0 = internal global i32 zeroinitializer | ||||
| 4 | @turn = internal global i32 zeroinitializer | ||||
| 5 | |||||
| 6 | |||||
| 7 | define i32 @main() { | ||||
| 8 | %a = load i32* @flag0 | ||||
| 9 | %b = tail call i32 @llvm.atomic.swap.i32.p0i32(i32* @turn, i32 1) | ||||
| 10 | %c = load i32* @flag0 | ||||
| 11 | ret i32 %c | ||||
| 12 | } | ||||
| 13 | |||||
| 14 | declare i32 @llvm.atomic.swap.i32.p0i32(i32*, i32) nounwind | ||||