Merged to 8.0 in r353829.
On Thu, Feb 7, 2019 at 1:46 PM Martin Storsjo via cfe-commits <cfe-commits@lists.llvm.org> wrote: > > Author: mstorsjo > Date: Thu Feb 7 04:46:49 2019 > New Revision: 353402 > > URL: http://llvm.org/viewvc/llvm-project?rev=353402&view=rev > Log: > [clang-cl] support /Oy- on aarch64 > > MSVC supports /Oy- on aarch64, so clang-cl should too. > > Patch by Nathan Froyd! > > Differential Revision: https://reviews.llvm.org/D57838 > > Modified: > cfe/trunk/lib/Driver/ToolChains/MSVC.cpp > cfe/trunk/test/Driver/cl-options.c > > Modified: cfe/trunk/lib/Driver/ToolChains/MSVC.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/MSVC.cpp?rev=353402&r1=353401&r2=353402&view=diff > ============================================================================== > --- cfe/trunk/lib/Driver/ToolChains/MSVC.cpp (original) > +++ cfe/trunk/lib/Driver/ToolChains/MSVC.cpp Thu Feb 7 04:46:49 2019 > @@ -1407,10 +1407,10 @@ static void TranslateOptArg(Arg *A, llvm > DAL.AddFlagArg( > A, Opts.getOption(options::OPT_fno_omit_frame_pointer)); > } else { > - // Don't warn about /Oy- in 64-bit builds (where > + // Don't warn about /Oy- in x86-64 builds (where > // SupportsForcingFramePointer is false). The flag having no effect > // there is a compiler-internal optimization, and people shouldn't > have > - // to special-case their build files for 64-bit clang-cl. > + // to special-case their build files for x86-64 clang-cl. > A->claim(); > } > break; > @@ -1441,8 +1441,8 @@ MSVCToolChain::TranslateArgs(const llvm: > DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs()); > const OptTable &Opts = getDriver().getOpts(); > > - // /Oy and /Oy- only has an effect under X86-32. > - bool SupportsForcingFramePointer = getArch() == llvm::Triple::x86; > + // /Oy and /Oy- don't have an effect on X86-64 > + bool SupportsForcingFramePointer = getArch() != llvm::Triple::x86_64; > > // The -O[12xd] flag actually expands to several flags. We must desugar > the > // flags so that options embedded can be negated. For example, the '-O2' > flag > > Modified: cfe/trunk/test/Driver/cl-options.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/cl-options.c?rev=353402&r1=353401&r2=353402&view=diff > ============================================================================== > --- cfe/trunk/test/Driver/cl-options.c (original) > +++ cfe/trunk/test/Driver/cl-options.c Thu Feb 7 04:46:49 2019 > @@ -178,6 +178,10 @@ > // Oy_2: -momit-leaf-frame-pointer > // Oy_2: -O2 > > +// RUN: %clang_cl --target=aarch64-pc-windows-msvc -Werror /Oy- /O2 -### -- > %s 2>&1 | FileCheck -check-prefix=Oy_aarch64 %s > +// Oy_aarch64: -mdisable-fp-elim > +// Oy_aarch64: -O2 > + > // RUN: %clang_cl --target=i686-pc-win32 -Werror /O2 /O2 -### -- %s 2>&1 | > FileCheck -check-prefix=O2O2 %s > // O2O2: "-O2" > > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits