Added
Link Here
|
1 |
commit d424be0feda5 |
2 |
Author: Jan Vesely <jan.vesely@rutgers.edu> |
3 |
Date: Tue May 22 17:52:30 2018 -0400 |
4 |
|
5 |
clover: Fix build after llvm r332881. |
6 |
|
7 |
v2: fix whitespace and indentation |
8 |
|
9 |
r332881 added an extra parameter to the emit function. |
10 |
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106619 |
11 |
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> |
12 |
Reviewed-By: Aaron Watry <awatry@gmail.com> |
13 |
Tested-By: Aaron Watry <awatry@gmail.com> |
14 |
Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org> |
15 |
--- |
16 |
src/gallium/state_trackers/clover/llvm/codegen/native.cpp | 3 +-- |
17 |
src/gallium/state_trackers/clover/llvm/compat.hpp | 11 +++++++++++ |
18 |
2 files changed, 12 insertions(+), 2 deletions(-) |
19 |
|
20 |
diff --git src/gallium/state_trackers/clover/llvm/codegen/native.cpp src/gallium/state_trackers/clover/llvm/codegen/native.cpp |
21 |
index 409f8ac32f..21f6c8c88a 100644 |
22 |
--- src/gallium/state_trackers/clover/llvm/codegen/native.cpp |
23 |
+++ src/gallium/state_trackers/clover/llvm/codegen/native.cpp |
24 |
@@ -126,13 +126,12 @@ namespace { |
25 |
{ |
26 |
compat::pass_manager pm; |
27 |
::llvm::raw_svector_ostream os { data }; |
28 |
- compat::raw_ostream_to_emit_file fos(os); |
29 |
|
30 |
mod.setDataLayout(compat::get_data_layout(*tm)); |
31 |
tm->Options.MCOptions.AsmVerbose = |
32 |
(ft == TargetMachine::CGFT_AssemblyFile); |
33 |
|
34 |
- if (tm->addPassesToEmitFile(pm, fos, ft)) |
35 |
+ if (compat::add_passes_to_emit_file(*tm, pm, os, ft)) |
36 |
fail(r_log, build_error(), "TargetMachine can't emit this file"); |
37 |
|
38 |
pm.run(mod); |
39 |
diff --git src/gallium/state_trackers/clover/llvm/compat.hpp src/gallium/state_trackers/clover/llvm/compat.hpp |
40 |
index 2e070b2eef..42a671b7fa 100644 |
41 |
--- src/gallium/state_trackers/clover/llvm/compat.hpp |
42 |
+++ src/gallium/state_trackers/clover/llvm/compat.hpp |
43 |
@@ -245,6 +245,17 @@ namespace clover { |
44 |
::llvm::WriteBitcodeToFile(mod, os); |
45 |
#else |
46 |
::llvm::WriteBitcodeToFile(&mod, os); |
47 |
+#endif |
48 |
+ } |
49 |
+ |
50 |
+ template<typename TM, typename PM, typename OS, typename FT> |
51 |
+ bool add_passes_to_emit_file(TM &tm, PM &pm, OS &os, FT &ft) |
52 |
+ { |
53 |
+ compat::raw_ostream_to_emit_file fos(os); |
54 |
+#if HAVE_LLVM >= 0x0700 |
55 |
+ return tm.addPassesToEmitFile(pm, fos, nullptr, ft); |
56 |
+#else |
57 |
+ return tm.addPassesToEmitFile(pm, fos, ft); |
58 |
#endif |
59 |
} |
60 |
} |