[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