mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 07:58:07 +02:00
gallivm: allow additional llc options
In init_native_targets, allow the passing of additional options to the LLC compiler via new GALLIVM_LLC_OPTIONS environmental control. This option is available only #ifdef DEBUG, initially. At top, add #include <llvm-c/Support.h> for LLVMParseCommandLineOptions() declaration. v2: Fix compile error with old llvm versions (sroland) Cc: "17.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Ben Crocker <bcrocker@redhat.com> Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
parent
3a9feb4db8
commit
5c75f0c8bb
1 changed files with 23 additions and 0 deletions
|
|
@ -49,6 +49,9 @@
|
|||
#endif
|
||||
|
||||
#include <llvm-c/Core.h>
|
||||
#if HAVE_LLVM >= 0x0306
|
||||
#include <llvm-c/Support.h>
|
||||
#endif
|
||||
#include <llvm-c/ExecutionEngine.h>
|
||||
#include <llvm/Target/TargetOptions.h>
|
||||
#include <llvm/ExecutionEngine/ExecutionEngine.h>
|
||||
|
|
@ -122,6 +125,26 @@ static void init_native_targets()
|
|||
llvm::InitializeNativeTargetAsmPrinter();
|
||||
|
||||
llvm::InitializeNativeTargetDisassembler();
|
||||
#if DEBUG && HAVE_LLVM >= 0x0306
|
||||
{
|
||||
char *env_llc_options = getenv("GALLIVM_LLC_OPTIONS");
|
||||
if (env_llc_options) {
|
||||
char *option;
|
||||
char *options[64] = {(char *) "llc"}; // Warning without cast
|
||||
int n;
|
||||
for (n = 0, option = strtok(env_llc_options, " "); option; n++, option = strtok(NULL, " ")) {
|
||||
options[n + 1] = option;
|
||||
}
|
||||
if (gallivm_debug & (GALLIVM_DEBUG_IR | GALLIVM_DEBUG_ASM | GALLIVM_DEBUG_DUMP_BC)) {
|
||||
debug_printf("llc additional options (%d):\n", n);
|
||||
for (int i = 1; i <= n; i++)
|
||||
debug_printf("\t%s\n", options[i]);
|
||||
debug_printf("\n");
|
||||
}
|
||||
LLVMParseCommandLineOptions(n + 1, options, NULL);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
extern "C" void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue