2 ; RUN: llvm-as -o %t.o %s
3 ; RUN: ld.lld -o %t0 -e main --lto-O0 %t.o
4 ; RUN: llvm-nm %t0 | FileCheck --check-prefix=CHECK-O0 %s
5 ; RUN: ld.lld -o %t0 -e main --plugin-opt=O0 %t.o
6 ; RUN: llvm-nm %t0 | FileCheck --check-prefix=CHECK-O0 %s
7 ; RUN: ld.lld -o %t2 -e main --lto-O2 %t.o
8 ; RUN: llvm-nm %t2 | FileCheck --check-prefix=CHECK-O2 %s
9 ; RUN: ld.lld -o %t2a -e main %t.o
10 ; RUN: llvm-nm %t2a | FileCheck --check-prefix=CHECK-O2 %s
11 ; RUN: ld.lld -o %t2 -e main %t.o --plugin-opt O2
12 ; RUN: llvm-nm %t2 | FileCheck --check-prefix=CHECK-O2 %s
14 ; Reject invalid optimization levels.
15 ; RUN: not ld.lld -o /dev/null -e main --lto-O6 %t.o 2>&1 | \
16 ; RUN: FileCheck --check-prefix=INVALID1 %s
17 ; INVALID1: invalid optimization level for LTO: 6
18 ; RUN: not ld.lld -o /dev/null -e main --plugin-opt=O6 %t.o 2>&1 | \
19 ; RUN: FileCheck --check-prefix=INVALID1 %s
20 ; RUN: not ld.lld -o /dev/null -e main --plugin-opt=Ofoo %t.o 2>&1 | \
21 ; RUN: FileCheck --check-prefix=INVALID2 %s
22 ; INVALID2: --plugin-opt=Ofoo: number expected, but got 'foo'
24 ; RUN: not ld.lld -o /dev/null -e main --lto-O-1 %t.o 2>&1 | \
25 ; RUN: FileCheck --check-prefix=INVALIDNEGATIVE1 %s
26 ; INVALIDNEGATIVE1: invalid optimization level for LTO: 4294967295
27 ; RUN: not ld.lld -o /dev/null -e main --plugin-opt=O-1 %t.o 2>&1 | \
28 ; RUN: FileCheck --check-prefix=INVALIDNEGATIVE2 %s
29 ; INVALIDNEGATIVE2: invalid optimization level for LTO: 4294967295
31 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
32 target triple = "x86_64-unknown-linux-gnu"
36 define internal void @foo() {