[llvm] 61bd33e - [BPF] explicit warning of not supporting dynamic stack allocation
Tom Stellard via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 12 21:10:46 PST 2020
On 02/12/2020 08:44 PM, Yonghong Song via llvm-commits wrote:
>
> Author: Yonghong Song
> Date: 2020-02-12T20:43:06-08:00
> New Revision: 61bd33e37b1d4f3feda50162ec196e5e14759686
>
> URL: https://github.com/llvm/llvm-project/commit/61bd33e37b1d4f3feda50162ec196e5e14759686
> DIFF: https://github.com/llvm/llvm-project/commit/61bd33e37b1d4f3feda50162ec196e5e14759686.diff
>
> LOG: [BPF] explicit warning of not supporting dynamic stack allocation
>
Is this a candidate for LLVM 10?
-Tom
> Currently, BPF does not support dynamic static allocation.
> For a program like below:
> extern void bar(int *);
> void foo(int n) {
> int a[n];
> bar(a);
> }
>
> The current error message looks like:
> unimplemented operand
> UNREACHABLE executed at /.../llvm/lib/Target/BPF/BPFISelLowering.cpp:199!
>
> Let us make error message explicit so it will be clear to the user
> what is the problem. With this patch, the error message looks like:
> fatal error: error in backend: Unsupported dynamic stack allocation
> ...
>
> Differential Revision: https://reviews.llvm.org/D74521
>
> Added:
>
>
> Modified:
> llvm/lib/Target/BPF/BPFISelLowering.cpp
>
> Removed:
>
>
>
> ################################################################################
> diff --git a/llvm/lib/Target/BPF/BPFISelLowering.cpp b/llvm/lib/Target/BPF/BPFISelLowering.cpp
> index 799a60c6cc92..cc8a48677538 100644
> --- a/llvm/lib/Target/BPF/BPFISelLowering.cpp
> +++ b/llvm/lib/Target/BPF/BPFISelLowering.cpp
> @@ -227,6 +227,8 @@ SDValue BPFTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
> return LowerGlobalAddress(Op, DAG);
> case ISD::SELECT_CC:
> return LowerSELECT_CC(Op, DAG);
> + case ISD::DYNAMIC_STACKALLOC:
> + report_fatal_error("Unsupported dynamic stack allocation");
> default:
> llvm_unreachable("unimplemented operand");
> }
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
More information about the llvm-commits
mailing list