|  | // RUN: %clang_cc1 -triple i386-unknown-unknown -O1 -emit-llvm -o - %s | FileCheck %s | 
|  | // CHECK-LABEL: define i32 @f0 | 
|  | // CHECK:   ret i32 1 | 
|  | // CHECK-LABEL: define i32 @f1 | 
|  | // CHECK:   ret i32 1 | 
|  | // CHECK-LABEL: define i32 @f2 | 
|  | // CHECK:   ret i32 1 | 
|  | // <rdr://6115726> | 
|  |  | 
|  | int f0() { | 
|  | int x; | 
|  | unsigned short n = 1; | 
|  | int *a = &x; | 
|  | int *b = &x; | 
|  | a = a - n; | 
|  | b -= n; | 
|  | return a == b; | 
|  | } | 
|  |  | 
|  | int f1(int *a) { | 
|  | long b = a - (int*) 1; | 
|  | a -= (int*) 1; | 
|  | return b == (long) a; | 
|  | } | 
|  |  | 
|  | int f2(long n) { | 
|  | int *b = n + (int*) 1; | 
|  | n += (int*) 1; | 
|  | return b == (int*) n; | 
|  | } | 
|  |  |