Part of the plumbing that passes the ASM file name from the compiler options
level down to the emitCode level so that the assembly can be written to that
file.
---
 backend/src/backend/gen_program.cpp | 1 +
 backend/src/backend/program.cpp     | 3 ++-
 backend/src/backend/program.h       | 1 +
 src/cl_program.c                    | 2 +-
 4 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/backend/src/backend/gen_program.cpp 
b/backend/src/backend/gen_program.cpp
index c761a2f..7054dea 100644
--- a/backend/src/backend/gen_program.cpp
+++ b/backend/src/backend/gen_program.cpp
@@ -352,6 +352,7 @@ namespace gbe {
                                            const char *fileName,
                                            const void* module,
                                            const void* llvm_ctx,
+                                           const char *asm_file_name,
                                            size_t stringSize,
                                            char *err,
                                            size_t *errSize,
diff --git a/backend/src/backend/program.cpp b/backend/src/backend/program.cpp
index bdccc22..9d6822f 100644
--- a/backend/src/backend/program.cpp
+++ b/backend/src/backend/program.cpp
@@ -829,7 +829,8 @@ namespace gbe {
         } //Otherwise, you'll have to make do without the dump.
       }
 
-      p = gbe_program_new_from_llvm(deviceID, NULL, out_module, llvm_ctx, 
stringSize,
+      p = gbe_program_new_from_llvm(deviceID, NULL, out_module, llvm_ctx,
+                                    dumpASMFileName.c_str(), stringSize,
                                     err, errSize, optLevel);
       if (err != NULL)
         *errSize += clangErrSize;
diff --git a/backend/src/backend/program.h b/backend/src/backend/program.h
index 3637ebb..3267714 100644
--- a/backend/src/backend/program.h
+++ b/backend/src/backend/program.h
@@ -212,6 +212,7 @@ typedef gbe_program (gbe_program_new_from_llvm_cb)(uint32_t 
deviceID,
                                                    const char *fileName,
                                                    const void *module,
                                                    const void *llvm_ctx,
+                                                   const char *asm_file_name,
                                                    size_t string_size,
                                                    char *err,
                                                    size_t *err_size,
diff --git a/src/cl_program.c b/src/cl_program.c
index db53757..423cb5c 100644
--- a/src/cl_program.c
+++ b/src/cl_program.c
@@ -379,7 +379,7 @@ cl_program_create_from_llvm(cl_context ctx,
   INVALID_VALUE_IF (file_name == NULL);
 
   program = cl_program_new(ctx);
-  program->opaque = compiler_program_new_from_llvm(ctx->device->vendor_id, 
file_name, NULL, NULL, program->build_log_max_sz, program->build_log, 
&program->build_log_sz, 1);
+  program->opaque = compiler_program_new_from_llvm(ctx->device->vendor_id, 
file_name, NULL, NULL, NULL, program->build_log_max_sz, program->build_log, 
&program->build_log_sz, 1);
   if (UNLIKELY(program->opaque == NULL)) {
     err = CL_INVALID_PROGRAM;
     goto error;
-- 
2.1.0

_______________________________________________
Beignet mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to