[lld] r265255 - [LTO] Reject invalid optimization levels.
Davide Italiano via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 2 19:41:16 PDT 2016
Author: davide
Date: Sat Apr 2 21:41:15 2016
New Revision: 265255
URL: http://llvm.org/viewvc/llvm-project?rev=265255&view=rev
Log:
[LTO] Reject invalid optimization levels.
Modified:
lld/trunk/ELF/Driver.cpp
lld/trunk/test/ELF/lto/opt-level.ll
Modified: lld/trunk/ELF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Driver.cpp?rev=265255&r1=265254&r2=265255&view=diff
==============================================================================
--- lld/trunk/ELF/Driver.cpp (original)
+++ lld/trunk/ELF/Driver.cpp Sat Apr 2 21:41:15 2016
@@ -301,6 +301,8 @@ void LinkerDriver::readConfigs(opt::Inpu
Config->Optimize = getInteger(Args, OPT_O, 0);
Config->LtoO = getInteger(Args, OPT_lto_O, 2);
+ if (Config->LtoO > 3)
+ error("invalid optimization level for LTO: " + getString(Args, OPT_lto_O));
Config->ZExecStack = hasZOption(Args, "execstack");
Config->ZNodelete = hasZOption(Args, "nodelete");
Modified: lld/trunk/test/ELF/lto/opt-level.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/lto/opt-level.ll?rev=265255&r1=265254&r2=265255&view=diff
==============================================================================
--- lld/trunk/test/ELF/lto/opt-level.ll (original)
+++ lld/trunk/test/ELF/lto/opt-level.ll Sat Apr 2 21:41:15 2016
@@ -6,6 +6,11 @@
; RUN: ld.lld -o %t2a -m elf_x86_64 -e main %t.o
; RUN: llvm-nm %t2a | FileCheck --check-prefix=CHECK-O2 %s
+; Reject invalid optimization levels.
+; RUN: not ld.lld -o %t3 -m elf_x86_64 -e main --lto-O6 %t.o 2>&1 | \
+; RUN: FileCheck --check-prefix=INVALID %s
+; INVALID: invalid optimization level for LTO: 6
+
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
More information about the llvm-commits
mailing list