| Reid Kleckner | 3a11503 | 2017-04-13 18:10:30 +0000 | [diff] [blame] | 1 | ; RUN: opt -argpromotion -mem2reg -S < %s | FileCheck %s | 
|  | 2 | target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128" | 
|  | 3 |  | 
|  | 4 | ; Checks if !prof metadata is corret in deadargelim. | 
|  | 5 |  | 
|  | 6 | define void @caller() #0 { | 
|  | 7 | %x = alloca i32 | 
|  | 8 | store i32 42, i32* %x | 
|  | 9 | call void @promote_i32_ptr(i32* %x), !prof !0 | 
|  | 10 | ; CHECK: call void @promote_i32_ptr(i32 42), !prof ![[PROF:[0-9]]] | 
|  | 11 | ret void | 
|  | 12 | } | 
|  | 13 |  | 
|  | 14 | define internal void @promote_i32_ptr(i32* %xp) { | 
|  | 15 | %x = load i32, i32* %xp | 
|  | 16 | call void @use_i32(i32 %x) | 
|  | 17 | ret void | 
|  | 18 | } | 
|  | 19 |  | 
|  | 20 | declare void @use_i32(i32) | 
|  | 21 |  | 
|  | 22 | ; CHECK: ![[PROF]] = !{!"branch_weights", i32 30} | 
|  | 23 | !0 = !{!"branch_weights", i32 30} |