[ARM] Generate ABI_optimization_goals build attribute, as described in the ARM ARM.
[oota-llvm.git] / test / CodeGen / ARM / build-attributes-optimization.ll
1 ; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 | FileCheck %s --check-prefix=NONE
2 ; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 | FileCheck %s --check-prefix=SPEED
3 ; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 | FileCheck %s --check-prefix=MAXSPEED
4
5 ; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O0 -filetype obj -o - | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=NONE-OBJ
6 ; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O1 -filetype obj -o - | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=SPEED-OBJ
7 ; RUN: llc < %s -mtriple=arm-none-none-eabi -mcpu=cortex-a7 -O3 -filetype obj -o - | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=MAXSPEED-OBJ
8
9 ; NONE:     .eabi_attribute 30, 5       @ Tag_ABI_optimization_goals
10 ; SPEED:    .eabi_attribute 30, 1       @ Tag_ABI_optimization_goals
11 ; MAXSPEED: .eabi_attribute 30, 2       @ Tag_ABI_optimization_goals
12
13 ; NONE-OBJ:          TagName: ABI_optimization_goals
14 ; NONE-OBJ-NEXT:     Description: Debugging
15 ; SPEED-OBJ:         TagName: ABI_optimization_goals
16 ; SPEED-OBJ-NEXT:    Description: Speed
17 ; MAXSPEED-OBJ:      TagName: ABI_optimization_goals
18 ; MAXSPEED-OBJ-NEXT: Description: Aggressive Speed
19
20 define i32 @f(i64 %z) {
21     ret i32 0
22 }
23