diff options
| author | Yi Jiang <yjiang@apple.com> | 2013-12-12 01:37:39 +0000 |
|---|---|---|
| committer | Yi Jiang <yjiang@apple.com> | 2013-12-12 01:37:39 +0000 |
| commit | 53823be49dbf799c332ff3fceb8ffedb6b938d7a (patch) | |
| tree | 9945eafb9ff6b5ab5ef2ce45d98bff2359684b8d /llvm | |
| parent | 75a1729c4b474e588586594ff6b12434360306ab (diff) | |
| download | bcm5719-llvm-53823be49dbf799c332ff3fceb8ffedb6b938d7a.tar.gz bcm5719-llvm-53823be49dbf799c332ff3fceb8ffedb6b938d7a.zip | |
Add TargetLibraryInfo in LTO passes builder
llvm-svn: 197105
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/LTO/LTOCodeGenerator.cpp | 4 | ||||
| -rw-r--r-- | llvm/test/LTO/triple-init.ll | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/llvm/lib/LTO/LTOCodeGenerator.cpp b/llvm/lib/LTO/LTOCodeGenerator.cpp index 779b4a26174..7d5d82a93cc 100644 --- a/llvm/lib/LTO/LTOCodeGenerator.cpp +++ b/llvm/lib/LTO/LTOCodeGenerator.cpp @@ -460,6 +460,10 @@ bool LTOCodeGenerator::generateObjectFile(raw_ostream &out, // Add an appropriate DataLayout instance for this module... passes.add(new DataLayout(*TargetMach->getDataLayout())); + + // Add appropriate TargetLibraryInfo for this module. + passes.add(new TargetLibraryInfo(Triple(TargetMach->getTargetTriple()))); + TargetMach->addAnalysisPasses(passes); // Enabling internalize here would use its AllButMain variant. It diff --git a/llvm/test/LTO/triple-init.ll b/llvm/test/LTO/triple-init.ll new file mode 100644 index 00000000000..b2c6dd89b5f --- /dev/null +++ b/llvm/test/LTO/triple-init.ll @@ -0,0 +1,19 @@ +; RUN: llvm-as < %s >%t1 +; RUN: llvm-lto -exported-symbol=_main -o %t2 %t1 +; RUN: llvm-nm %t2 | FileCheck %s + +; Will remove XFAIL if r196544 is resubmitted. +; XFAIL: * + +target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" + +target triple = "x86_64-apple-macosx10.9" + +declare double @pow(double, double) + +define double @main(double %x) { +; We check that LTO will be aware of target triple and apply pow to __exp10 transformation. +; CHECK: U ___exp10 + %retval = call double @pow(double 10.0, double %x) + ret double %retval +} |

