diff options
author | Chad Rosier <mcrosier@apple.com> | 2012-02-29 20:14:59 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2012-02-29 20:14:59 +0000 |
commit | b1cfc6864f8cd76494e2ccab4debe4a0471f47d3 (patch) | |
tree | e0974caecfed6af938699c73bc5f5c559102e13f /clang/lib/CodeGen/BackendUtil.cpp | |
parent | 1692b901303d6f941fe5246f8a5885f2c83afc9b (diff) | |
download | bcm5719-llvm-b1cfc6864f8cd76494e2ccab4debe4a0471f47d3.tar.gz bcm5719-llvm-b1cfc6864f8cd76494e2ccab4debe4a0471f47d3.zip |
Allocate TargetLibraryInfo for the CodeGen passes. Otherwise, it's instantiated
by the BAA pass, which uses the default TargetLibraryInfo constructor.
Unfortunately, the default TargetLibraryInfo constructor assumes all library
calls are available and thus ignores -fno-builtin.
rdar://10947759
llvm-svn: 151745
Diffstat (limited to 'clang/lib/CodeGen/BackendUtil.cpp')
-rw-r--r-- | clang/lib/CodeGen/BackendUtil.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index d175bd5e083..d9bdc325c10 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -351,6 +351,12 @@ bool EmitAssemblyHelper::AddEmitPasses(BackendAction Action, // Create the code generator passes. PassManager *PM = getCodeGenPasses(); + // Add LibraryInfo. + TargetLibraryInfo *TLI = new TargetLibraryInfo(); + if (!CodeGenOpts.SimplifyLibCalls) + TLI->disableAllFunctions(); + PM->add(TLI); + // Normal mode, emit a .s or .o file by running the code generator. Note, // this also adds codegenerator level optimization passes. TargetMachine::CodeGenFileType CGFT = TargetMachine::CGFT_AssemblyFile; |