mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-16 00:17:32 +00:00
Add TargetLibraryInfo in LTO passes builder
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197105 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
31d3e9fe13
commit
7c2b072d69
@ -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
|
||||
|
19
test/LTO/triple-init.ll
Normal file
19
test/LTO/triple-init.ll
Normal file
@ -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
|
||||
}
|
Loading…
Reference in New Issue
Block a user