[PATCH] D106301: [OpenMP] Disable trap before unreachable for OpenMP device jobs

Johannes Doerfert via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 19 12:46:21 PDT 2021


jdoerfert added a comment.

As an example, often end up with code like this right now:

    %26 = load i32, i32* addrspacecast (i32 addrspace(3)* @execution_param to i32*), align 4, !dbg !39, !tbaa !27
    %and.i13.i.i = and i32 %26, 4, !dbg !39
    %cmp.i14.not.i.i = icmp eq i32 %and.i13.i.i, 0, !dbg !39
    br i1 %cmp.i14.not.i.i, label %if.end.i129.i.i, label %__kmpc_parallel_51.exit.i, !dbg !39
  
  if.end.i129.i.i:                                  ; preds = %_Z16DecParallelLevelbj.exit.i.i
    tail call void @llvm.trap() #10, !dbg !39
    unreachable, !dbg !39

which could be:

  br label %__kmpc_parallel_51.exit.i, !dbg !39


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106301/new/

https://reviews.llvm.org/D106301



More information about the cfe-commits mailing list