r238851 - add the -mrecip driver flag and process its options (2nd try)

İsmail Dönmez ismail at donmez.ws
Tue Jun 2 12:00:16 PDT 2015


Hi,

On Tue, Jun 2, 2015 at 7:55 PM, Sanjay Patel <spatel at rotateright.com> wrote:
> Author: spatel
> Date: Tue Jun  2 11:55:12 2015
> New Revision: 238851
>
> URL: http://llvm.org/viewvc/llvm-project?rev=238851&view=rev
> Log:
> add the -mrecip driver flag and process its options (2nd try)
>
> The first try to land this (r238055) was reverted due to bot failures
> caused by the LLVM part of the patch. That was hopefully fixed by r238788,
> and the LLVM patch was resubmitted at r238842.
>
> This is the front-end counterpart to D8982.
>
> The -mrecip option interface is based on maintaining compatibility with gcc:
> https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html#index-mrecip_003dopt-1627
> https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/RS_002f6000-and-PowerPC-Options.html#index-mrecip-2289
>
> ...while adding more functionality (allowing users to specify the number of refinement steps for each
> estimate type).
>
> Differential Revision: http://reviews.llvm.org/D8989


This breaks stage2 bootstrap (using stage1 clang) on Linux x64 and PPC64

FAILED: : && /opt/clang/bin/clang++   -O0 -fPIC
-fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter
-Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic
-Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -std=c++11
-fcolor-diagnostics -ffunction-sections -fdata-sections -fno-common
-Woverloaded-virtual -fno-strict-aliasing -Wno-nested-anon-types -O3
-DNDEBUG  -Wl,-allow-shlib-undefined   -Wl,--export-dynamic  -Wl,-O3
tools/clang/tools/driver/CMakeFiles/clang.dir/driver.cpp.o
tools/clang/tools/driver/CMakeFiles/clang.dir/cc1_main.cpp.o
tools/clang/tools/driver/CMakeFiles/clang.dir/cc1as_main.cpp.o  -o
bin/clang-3.7  lib64/libLLVMPowerPCCodeGen.a
lib64/libLLVMPowerPCAsmPrinter.a lib64/libLLVMPowerPCAsmParser.a
lib64/libLLVMPowerPCDesc.a lib64/libLLVMPowerPCInfo.a
lib64/libLLVMPowerPCDisassembler.a lib64/libLLVMAnalysis.a
lib64/libLLVMCodeGen.a lib64/libLLVMCore.a lib64/libLLVMipa.a
lib64/libLLVMipo.a lib64/libLLVMInstCombine.a
lib64/libLLVMInstrumentation.a lib64/libLLVMMC.a
lib64/libLLVMMCParser.a lib64/libLLVMObjCARCOpts.a
lib64/libLLVMOption.a lib64/libLLVMScalarOpts.a lib64/libLLVMSupport.a
lib64/libLLVMTransformUtils.a lib64/libLLVMVectorize.a
lib64/libclangBasic.a lib64/libclangDriver.a lib64/libclangFrontend.a
lib64/libclangFrontendTool.a lib64/libLLVMAsmPrinter.a
lib64/libLLVMSelectionDAG.a lib64/libLLVMCodeGen.a
lib64/libLLVMTarget.a lib64/libLLVMPowerPCAsmPrinter.a
lib64/libLLVMPowerPCInfo.a lib64/libLLVMMCDisassembler.a
lib64/libclangCodeGen.a lib64/libLLVMipo.a lib64/libLLVMVectorize.a
lib64/libLLVMInstrumentation.a lib64/libLLVMObjCARCOpts.a
lib64/libLLVMScalarOpts.a lib64/libLLVMInstCombine.a
lib64/libLLVMProfileData.a lib64/libLLVMObject.a
lib64/libLLVMBitWriter.a lib64/libLLVMIRReader.a
lib64/libLLVMAsmParser.a lib64/libLLVMLinker.a
lib64/libLLVMTransformUtils.a lib64/libLLVMipa.a
lib64/libLLVMAnalysis.a lib64/libclangRewriteFrontend.a
lib64/libclangStaticAnalyzerFrontend.a lib64/libclangFrontend.a
lib64/libclangDriver.a lib64/libLLVMOption.a lib64/libclangParse.a
lib64/libLLVMMCParser.a lib64/libclangSerialization.a
lib64/libclangSema.a lib64/libclangEdit.a lib64/libLLVMBitReader.a
lib64/libclangStaticAnalyzerCheckers.a
lib64/libclangStaticAnalyzerCore.a lib64/libclangAnalysis.a
lib64/libclangAST.a lib64/libclangRewrite.a lib64/libclangLex.a
lib64/libclangBasic.a lib64/libLLVMCore.a lib64/libLLVMMC.a
lib64/libLLVMSupport.a -lrt -ldl -ltinfo -lpthread -lz -lm
-Wl,-rpath,"\$ORIGIN/../lib64" && :
lib64/libclangCodeGen.a(BackendUtil.cpp.o): In function
`clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::CodeGenOptions const&, clang::TargetOptions const&,
clang::LangOptions const&, llvm::StringRef, llvm::Module*,
clang::BackendAction, llvm::raw_pwrite_stream*)':
../tools/clang/lib/CodeGen/BackendUtil.cpp:(.text._ZN5clang17EmitBackendOutputERNS_17DiagnosticsEngineERKNS_14CodeGenOptionsERKNS_13TargetOptionsERKNS_11LangOptionsEN4llvm9StringRefEPNSB_6ModuleENS_13BackendActionEPNSB_17raw_pwrite_streamE+0x830):
undefined reference to `llvm::TargetRecip::TargetRecip()'
../tools/clang/lib/CodeGen/BackendUtil.cpp:(.text._ZN5clang17EmitBackendOutputERNS_17DiagnosticsEngineERKNS_14CodeGenOptionsERKNS_13TargetOptionsERKNS_11LangOptionsEN4llvm9StringRefEPNSB_6ModuleENS_13BackendActionEPNSB_17raw_pwrite_streamE+0x8b0):
undefined reference to
`llvm::TargetRecip::TargetRecip(std::vector<std::string,
std::allocator<std::string> > const&)'



More information about the cfe-commits mailing list