mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-27 12:26:08 +00:00
Update plugins to use (actions).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60660 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
// A (first stab at a) replacement for the Clang's ccc script.
|
// A replacement for the Clang's ccc script.
|
||||||
|
// Depends on the Base plugin.
|
||||||
// To compile, use this command:
|
// To compile, use this command:
|
||||||
// cd $LLVMC2_DIR
|
// cd $LLVMC2_DIR
|
||||||
// make DRIVER_NAME=ccc2 BUILTIN_PLUGINS=Clang
|
// make DRIVER_NAME=ccc2 BUILTIN_PLUGINS=Clang
|
||||||
@@ -6,8 +7,10 @@
|
|||||||
include "llvm/CompilerDriver/Common.td"
|
include "llvm/CompilerDriver/Common.td"
|
||||||
|
|
||||||
def Options : OptionList<[
|
def Options : OptionList<[
|
||||||
(switch_option "E",
|
(extern_switch "E",
|
||||||
(help "Stop after the preprocessing stage, do not run the compiler"))
|
(help "Stop after the preprocessing stage, do not run the compiler")),
|
||||||
|
(extern_list "L", (help "Specify a library search path")),
|
||||||
|
(switch_option "clang", (help "Use Clang instead of llvm-gcc"))
|
||||||
]>;
|
]>;
|
||||||
|
|
||||||
class clang_based<string language, string cmd> : Tool<
|
class clang_based<string language, string cmd> : Tool<
|
||||||
@@ -23,7 +26,8 @@ class clang_based<string language, string cmd> : Tool<
|
|||||||
!strconcat(cmd, " -E $INFILE")),
|
!strconcat(cmd, " -E $INFILE")),
|
||||||
(default),
|
(default),
|
||||||
!strconcat(cmd, " -emit-llvm-bc $INFILE -o $OUTFILE"))),
|
!strconcat(cmd, " -emit-llvm-bc $INFILE -o $OUTFILE"))),
|
||||||
(switch_option "E", (stop_compilation), (output_suffix "i")),
|
(actions (case (switch_on "E"),
|
||||||
|
[(stop_compilation), (output_suffix "i")])),
|
||||||
(sink)
|
(sink)
|
||||||
]>;
|
]>;
|
||||||
|
|
||||||
@@ -39,7 +43,7 @@ def llvm_ld : Tool<
|
|||||||
(out_language "executable"),
|
(out_language "executable"),
|
||||||
(output_suffix "out"),
|
(output_suffix "out"),
|
||||||
(cmd_line "llvm-ld -native -disable-internalize $INFILE -o $OUTFILE"),
|
(cmd_line "llvm-ld -native -disable-internalize $INFILE -o $OUTFILE"),
|
||||||
(prefix_list_option "L", (forward), (help "Specify a library search path")),
|
(actions (case (not_empty "L"), (forward "L"))),
|
||||||
(join)
|
(join)
|
||||||
]>;
|
]>;
|
||||||
|
|
||||||
@@ -56,9 +60,12 @@ def LanguageMap : LanguageMap<
|
|||||||
// Compilation graph
|
// Compilation graph
|
||||||
|
|
||||||
def CompilationGraph : CompilationGraph<[
|
def CompilationGraph : CompilationGraph<[
|
||||||
Edge<"root", "clang_c">,
|
OptionalEdge<"root", "clang_c",
|
||||||
Edge<"root", "clang_cpp">,
|
(case (switch_on "clang"), (inc_weight))>,
|
||||||
Edge<"root", "clang_objective_c">,
|
OptionalEdge<"root", "clang_cpp",
|
||||||
|
(case (switch_on "clang"), (inc_weight))>,
|
||||||
|
OptionalEdge<"root", "clang_objective_c",
|
||||||
|
(case (switch_on "clang"), (inc_weight))>,
|
||||||
Edge<"clang_c", "llvm_ld">,
|
Edge<"clang_c", "llvm_ld">,
|
||||||
Edge<"clang_cpp", "llvm_ld">,
|
Edge<"clang_cpp", "llvm_ld">,
|
||||||
Edge<"clang_objective_c", "llvm_ld">
|
Edge<"clang_objective_c", "llvm_ld">
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Test plugin for LLVMC.
|
// Test plugin for LLVMC. Shows how to write plugins without using TableGen.
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user