r189149 - Don't imply -flto with -O4.

Hal Finkel hfinkel at anl.gov
Wed Sep 11 13:51:47 PDT 2013


I just noticed that the http://llvm.org/docs/GoldPlugin.html page still says that, "or the -O4 flag which is synonymous with -O3 -flto."

 -Hal

----- Original Message -----
> Author: rafael
> Date: Fri Aug 23 16:49:00 2013
> New Revision: 189149
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=189149&view=rev
> Log:
> Don't imply -flto with -O4.
> 
> We now saturate at -O3.
> 
> Removed:
>     cfe/trunk/test/Driver/emit-llvm.c
> Modified:
>     cfe/trunk/docs/ReleaseNotes.rst
>     cfe/trunk/lib/Driver/Driver.cpp
>     cfe/trunk/test/Driver/clang_f_opts.c
>     cfe/trunk/test/Driver/lto.c
> 
> Modified: cfe/trunk/docs/ReleaseNotes.rst
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=189149&r1=189148&r2=189149&view=diff
> ==============================================================================
> --- cfe/trunk/docs/ReleaseNotes.rst (original)
> +++ cfe/trunk/docs/ReleaseNotes.rst Fri Aug 23 16:49:00 2013
> @@ -59,6 +59,8 @@ about them. The improvements since the 3
>  New Compiler Flags
>  ------------------
>  
> +- Clang no longer special cases -O4 to enable lto. Explicitly pass
> -flto to
> +  enable it.
>  -  ...
>  
>  C Language Changes in Clang
> 
> Modified: cfe/trunk/lib/Driver/Driver.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=189149&r1=189148&r2=189149&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/Driver.cpp (original)
> +++ cfe/trunk/lib/Driver/Driver.cpp Fri Aug 23 16:49:00 2013
> @@ -1359,10 +1359,6 @@ bool Driver::IsUsingLTO(const ArgList &A
>    if (Args.hasFlag(options::OPT_flto, options::OPT_fno_lto, false))
>      return true;
>  
> -  // Check for -O4.
> -  if (const Arg *A = Args.getLastArg(options::OPT_O_Group))
> -      return A->getOption().matches(options::OPT_O4);
> -
>    return false;
>  }
>  
> 
> Modified: cfe/trunk/test/Driver/clang_f_opts.c
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/clang_f_opts.c?rev=189149&r1=189148&r2=189149&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/clang_f_opts.c (original)
> +++ cfe/trunk/test/Driver/clang_f_opts.c Fri Aug 23 16:49:00 2013
> @@ -56,7 +56,6 @@
>  // RUN: %clang -### -S -O2 %s 2>&1 | FileCheck
>  -check-prefix=CHECK-VECTORIZE %s
>  // RUN: %clang -### -S -Os %s 2>&1 | FileCheck
>  -check-prefix=CHECK-VECTORIZE %s
>  // RUN: %clang -### -S -O3 %s 2>&1 | FileCheck
>  -check-prefix=CHECK-VECTORIZE %s
> -// RUN: %clang -### -S -O4 %s 2>&1 | FileCheck
> -check-prefix=CHECK-VECTORIZE %s
>  // RUN: %clang -### -S -fno-vectorize -O3 %s 2>&1 | FileCheck
>  -check-prefix=CHECK-VECTORIZE %s
>  // RUN: %clang -### -S -O1 -fvectorize %s 2>&1 | FileCheck
>  -check-prefix=CHECK-VECTORIZE %s
>  // RUN: %clang -### -S -Ofast %s 2>&1 | FileCheck
>  -check-prefix=CHECK-VECTORIZE %s
> @@ -96,3 +95,6 @@
>  
>  // RUN: %clang -### -S -fpascal-strings -mno-pascal-strings %s 2>&1
>  | FileCheck -check-prefix=CHECK-NO-M-PASCAL-STRINGS %s
>  // CHECK-NO-M-PASCAL-STRINGS-NOT: "-fpascal-strings"
> +
> +// RUN: %clang -### -S -O4 %s 2>&1 | FileCheck
> -check-prefix=CHECK-MAX-O %s
> +// CHECK-MAX-O: -O3
> 
> Removed: cfe/trunk/test/Driver/emit-llvm.c
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/emit-llvm.c?rev=189148&view=auto
> ==============================================================================
> --- cfe/trunk/test/Driver/emit-llvm.c (original)
> +++ cfe/trunk/test/Driver/emit-llvm.c (removed)
> @@ -1,10 +0,0 @@
> -// Check that -O4 is only honored as the effective -O option.
> -// <rdar://problem/7046672> clang/loader problem
> -
> -// RUN: %clang -ccc-print-phases -c -O4 -O0 %s 2> %t
> -// RUN: FileCheck --check-prefix=O4_AND_O0 %s < %t
> -
> -// O4_AND_O0: 0: input, "{{.*}}", c
> -// O4_AND_O0: 1: preprocessor, {0}, cpp-output
> -// O4_AND_O0: 2: compiler, {1}, assembler
> -// O4_AND_O0: 3: assembler, {2}, object
> 
> Modified: cfe/trunk/test/Driver/lto.c
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/lto.c?rev=189149&r1=189148&r2=189149&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/lto.c (original)
> +++ cfe/trunk/test/Driver/lto.c Fri Aug 23 16:49:00 2013
> @@ -1,8 +1,6 @@
> -// -flto and -O4 both cause a switch to llvm-bc object files.
> +// -flto causes a switch to llvm-bc object files.
>  // RUN: %clang -ccc-print-phases -c %s -flto 2> %t.log
>  // RUN: grep '2: compiler, {1}, lto-bc' %t.log
> -// RUN: %clang -ccc-print-phases -c %s -O4 2> %t.log
> -// RUN: grep '2: compiler, {1}, lto-bc' %t.log
>  
>  // RUN: %clang -ccc-print-phases %s -flto 2> %t.log
>  // RUN: grep '0: input, ".*lto.c", c' %t.log
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the cfe-commits mailing list