[clang] [Clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
https://github.com/marcauberer created https://github.com/llvm/llvm-project/pull/87131 Resolves #87109 >From 68d12152e79f3507accb3887f275a98a7976ad5e Mon Sep 17 00:00:00 2001 From: Marc Auberer Date: Sat, 30 Mar 2024 01:52:52 +0100 Subject: [PATCH] [Clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr --- clang/lib/CodeGen/CGBuiltin.cpp | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 287e763bad82dd..96ae16ba94c349 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -5892,16 +5892,6 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, Name), {NDRange, Kernel, Block})); } - - case Builtin::BI__builtin_hlsl_wave_get_lane_index: { -auto *CI = EmitRuntimeCall(CGM.CreateRuntimeFunction( -llvm::FunctionType::get(IntTy, {}, false), "__hlsl_wave_get_lane_index", -{}, false, true)); -if (getTarget().getTriple().isSPIRVLogical()) - CI = dyn_cast(addControlledConvergenceToken(CI)); -return RValue::get(CI); - } - case Builtin::BI__builtin_store_half: case Builtin::BI__builtin_store_halff: { Value *Val = EmitScalarExpr(E->getArg(0)); @@ -18317,6 +18307,14 @@ Value *CodeGenFunction::EmitHLSLBuiltinExpr(unsigned BuiltinID, /*ReturnType=*/Op0->getType(), Intrinsic::dx_rsqrt, ArrayRef{Op0}, nullptr, "dx.rsqrt"); } + case Builtin::BI__builtin_hlsl_wave_get_lane_index: { +auto *CI = EmitRuntimeCall(CGM.CreateRuntimeFunction( +llvm::FunctionType::get(IntTy, {}, false), "__hlsl_wave_get_lane_index", +{}, false, true)); +if (getTarget().getTriple().isSPIRVLogical()) + CI = dyn_cast(addControlledConvergenceToken(CI)); +return RValue::get(CI); + } } return nullptr; } ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
https://github.com/marcauberer converted_to_draft https://github.com/llvm/llvm-project/pull/87131 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
https://github.com/marcauberer updated https://github.com/llvm/llvm-project/pull/87131 >From 283fe4ea57765077bc9453adeec66ce8832c68c3 Mon Sep 17 00:00:00 2001 From: Marc Auberer Date: Sat, 30 Mar 2024 01:52:52 +0100 Subject: [PATCH] [Clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr --- clang/lib/CodeGen/CGBuiltin.cpp | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 287e763bad82dd..bb007231c0b783 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -5892,16 +5892,6 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, Name), {NDRange, Kernel, Block})); } - - case Builtin::BI__builtin_hlsl_wave_get_lane_index: { -auto *CI = EmitRuntimeCall(CGM.CreateRuntimeFunction( -llvm::FunctionType::get(IntTy, {}, false), "__hlsl_wave_get_lane_index", -{}, false, true)); -if (getTarget().getTriple().isSPIRVLogical()) - CI = dyn_cast(addControlledConvergenceToken(CI)); -return RValue::get(CI); - } - case Builtin::BI__builtin_store_half: case Builtin::BI__builtin_store_halff: { Value *Val = EmitScalarExpr(E->getArg(0)); @@ -18317,6 +18307,14 @@ Value *CodeGenFunction::EmitHLSLBuiltinExpr(unsigned BuiltinID, /*ReturnType=*/Op0->getType(), Intrinsic::dx_rsqrt, ArrayRef{Op0}, nullptr, "dx.rsqrt"); } + case Builtin::BI__builtin_hlsl_wave_get_lane_index: { +auto *CI = EmitRuntimeCall(CGM.CreateRuntimeFunction( +llvm::FunctionType::get(IntTy, {}, false), "__hlsl_wave_get_lane_index", +{}, false, true)); +if (getTarget().getTriple().isSPIRVLogical()) + CI = dyn_cast(addControlledConvergenceToken(CI)); +return CI; + } } return nullptr; } ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang][HLSL] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
https://github.com/marcauberer edited https://github.com/llvm/llvm-project/pull/87131 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang][HLSL] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
https://github.com/marcauberer updated https://github.com/llvm/llvm-project/pull/87131 >From b275a7b3e79fdf316ac2d19b25b43e9298b3715a Mon Sep 17 00:00:00 2001 From: Marc Auberer Date: Sat, 30 Mar 2024 01:52:52 +0100 Subject: [PATCH] [Clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr --- clang/lib/CodeGen/CGBuiltin.cpp | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 287e763bad82dd..bb007231c0b783 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -5892,16 +5892,6 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, Name), {NDRange, Kernel, Block})); } - - case Builtin::BI__builtin_hlsl_wave_get_lane_index: { -auto *CI = EmitRuntimeCall(CGM.CreateRuntimeFunction( -llvm::FunctionType::get(IntTy, {}, false), "__hlsl_wave_get_lane_index", -{}, false, true)); -if (getTarget().getTriple().isSPIRVLogical()) - CI = dyn_cast(addControlledConvergenceToken(CI)); -return RValue::get(CI); - } - case Builtin::BI__builtin_store_half: case Builtin::BI__builtin_store_halff: { Value *Val = EmitScalarExpr(E->getArg(0)); @@ -18317,6 +18307,14 @@ Value *CodeGenFunction::EmitHLSLBuiltinExpr(unsigned BuiltinID, /*ReturnType=*/Op0->getType(), Intrinsic::dx_rsqrt, ArrayRef{Op0}, nullptr, "dx.rsqrt"); } + case Builtin::BI__builtin_hlsl_wave_get_lane_index: { +auto *CI = EmitRuntimeCall(CGM.CreateRuntimeFunction( +llvm::FunctionType::get(IntTy, {}, false), "__hlsl_wave_get_lane_index", +{}, false, true)); +if (getTarget().getTriple().isSPIRVLogical()) + CI = dyn_cast(addControlledConvergenceToken(CI)); +return CI; + } } return nullptr; } ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang][HLSL] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
https://github.com/marcauberer ready_for_review https://github.com/llvm/llvm-project/pull/87131 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [HLSL][clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
https://github.com/marcauberer edited https://github.com/llvm/llvm-project/pull/87131 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [HLSL][clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
marcauberer wrote: @farzonl All three tests pass 👍🏽 ```sh $ ./bin/llvm-lit ../llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll ../llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll ../llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll -- Testing: 3 tests, 3 workers -- PASS: LLVM :: CodeGen/SPIRV/scfg-add-pre-headers.ll (1 of 3) PASS: LLVM :: CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll (2 of 3) PASS: LLVM :: CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll (3 of 3) Testing Time: 0.04s Total Discovered Tests: 3 Passed: 3 (100.00%) ``` https://github.com/llvm/llvm-project/pull/87131 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [HLSL][clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
https://github.com/marcauberer closed https://github.com/llvm/llvm-project/pull/87131 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [HLSL][clang] Move hlsl_wave_get_lane_index to EmitHLSLBuiltinExpr (PR #87131)
marcauberer wrote: Workflow run also succeeded: https://github.com/llvm/llvm-project/actions/runs/8493247308 https://github.com/llvm/llvm-project/pull/87131 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang][docs] Fix example in likely/unlikely attr documentation (PR #126372)
https://github.com/marcauberer created https://github.com/llvm/llvm-project/pull/126372 Fixes #126362 >From 3a8b503f851a7b0b610797e5eaad4bd27397cb70 Mon Sep 17 00:00:00 2001 From: Marc Auberer Date: Sat, 8 Feb 2025 16:04:21 +0100 Subject: [PATCH] [clang][docs] Fix example in likely/unlikely attr documentation --- clang/include/clang/Basic/AttrDocs.td | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clang/include/clang/Basic/AttrDocs.td b/clang/include/clang/Basic/AttrDocs.td index 0ad4c958d098303..2a0354a3222eba8 100644 --- a/clang/include/clang/Basic/AttrDocs.td +++ b/clang/include/clang/Basic/AttrDocs.td @@ -2450,9 +2450,9 @@ path of execution, but that can be confusing: .. code-block:: c++ - if (b) { -[[unlikely]] --b; // In the path of execution, - // this branch is considered unlikely. + if (b) [[unlikely]] { +--b; // In the path of execution, + // this branch is considered unlikely. } if (b) { ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits