[llvm] r197105 - Add TargetLibraryInfo in LTO passes builder

Yi Jiang yjiang at apple.com
Wed Dec 11 17:37:39 PST 2013


Author: yjiang
Date: Wed Dec 11 19:37:39 2013
New Revision: 197105

URL: http://llvm.org/viewvc/llvm-project?rev=197105&view=rev
Log:
Add TargetLibraryInfo in LTO passes builder

Added:
    llvm/trunk/test/LTO/triple-init.ll
Modified:
    llvm/trunk/lib/LTO/LTOCodeGenerator.cpp

Modified: llvm/trunk/lib/LTO/LTOCodeGenerator.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/LTO/LTOCodeGenerator.cpp?rev=197105&r1=197104&r2=197105&view=diff
==============================================================================
--- llvm/trunk/lib/LTO/LTOCodeGenerator.cpp (original)
+++ llvm/trunk/lib/LTO/LTOCodeGenerator.cpp Wed Dec 11 19:37:39 2013
@@ -460,6 +460,10 @@ bool LTOCodeGenerator::generateObjectFil
 
   // 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

Added: llvm/trunk/test/LTO/triple-init.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/LTO/triple-init.ll?rev=197105&view=auto
==============================================================================
--- llvm/trunk/test/LTO/triple-init.ll (added)
+++ llvm/trunk/test/LTO/triple-init.ll Wed Dec 11 19:37:39 2013
@@ -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
+}





More information about the llvm-commits mailing list