I found some optimization pass may add fastcall attribute to some builtin functions. We need to add the corresponding support.
Signed-off-by: Zhigang Gong <[email protected]> --- backend/src/llvm/llvm_gen_backend.cpp | 4 +++- backend/src/llvm/llvm_printf_parser.cpp | 1 + backend/src/llvm/llvm_scalarize.cpp | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp index 238f572..aad638f 100644 --- a/backend/src/llvm/llvm_gen_backend.cpp +++ b/backend/src/llvm/llvm_gen_backend.cpp @@ -2021,9 +2021,11 @@ namespace gbe case CallingConv::PTX_Kernel: #else case CallingConv::C: + case CallingConv::Fast: #endif break; - default: GBE_ASSERTM(false, "Unsupported calling convention"); + default: + GBE_ASSERTM(false, "Unsupported calling convention"); } ctx.startFunction(F.getName()); diff --git a/backend/src/llvm/llvm_printf_parser.cpp b/backend/src/llvm/llvm_printf_parser.cpp index 52da2e5..8e662b3 100644 --- a/backend/src/llvm/llvm_printf_parser.cpp +++ b/backend/src/llvm/llvm_printf_parser.cpp @@ -564,6 +564,7 @@ error: case CallingConv::PTX_Kernel: #else case CallingConv::C: + case CallingConv::Fast: #endif break; default: diff --git a/backend/src/llvm/llvm_scalarize.cpp b/backend/src/llvm/llvm_scalarize.cpp index 4df849f..97a7615 100644 --- a/backend/src/llvm/llvm_scalarize.cpp +++ b/backend/src/llvm/llvm_scalarize.cpp @@ -788,9 +788,11 @@ namespace gbe { case CallingConv::PTX_Kernel: #else case CallingConv::C: + case CallingConv::Fast: #endif break; - default: GBE_ASSERTM(false, "Unsupported calling convention"); + default: + GBE_ASSERTM(false, "Unsupported calling convention"); } // As we inline all function calls, so skip non-kernel functions -- 1.9.1 _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
