| ; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s |
| |
| define i32 @bad1() !prof !0 { |
| ret i32 0 |
| } |
| |
| !0 = !{i32 123, i32 3} |
| ; CHECK: assembly parsed, but does not verify as correct! |
| ; CHECK-NEXT: expected string with name of the !prof annotation |
| ; CHECK-NEXT: !0 = !{i32 123, i32 3} |
| |
| define i32 @bad2() !prof !1 { |
| ret i32 0 |
| } |
| |
| !1 = !{!"function_entry_count"} |
| ; CHECK-NEXT: !prof annotations should have no less than 2 operands |
| ; CHECK-NEXT: !1 = !{!"function_entry_count"} |
| |
| |
| define i32 @bad3() !prof !2 { |
| ret i32 0 |
| } |
| |
| !2 = !{!"some_other_count", i64 200} |
| ; CHECK-NEXT: first operand should be 'function_entry_count' |
| ; CHECK-NEXT: !2 = !{!"some_other_count", i64 200} |
| |
| define i32 @bad4() !prof !3 { |
| ret i32 0 |
| } |
| |
| !3 = !{!"function_entry_count", !"string"} |
| ; CHECK-NEXT: expected integer argument to function_entry_count |
| ; CHECK-NEXT: !3 = !{!"function_entry_count", !"string"} |