[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-06-13 Thread Steven Perron via cfe-commits
https://github.com/s-perron closed https://github.com/llvm/llvm-project/pull/134260 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-06-13 Thread Steven Perron via cfe-commits
s-perron wrote: In discussions with the teams implementing HLSL, we changed the design for the `export` keyword in HLSL. See https://github.com/llvm/wg-hlsl/blob/02098f6d85af1534c296c71790a24df55bd40374/proposals/0026-symbol-visibility.md https://github.com/llvm/llvm-project/pull/134260 _

[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-04-30 Thread Steven Perron via cfe-commits
https://github.com/s-perron reopened https://github.com/llvm/llvm-project/pull/134260 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-04-30 Thread Steven Perron via cfe-commits
https://github.com/s-perron closed https://github.com/llvm/llvm-project/pull/134260 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-04-24 Thread Steven Perron via cfe-commits
s-perron wrote: > The idea that a symbol should be externally visible before linking, and not > externally visible afterwards, isn't new: many platforms have some form of > symbol visibility. I'm not sure why you don't want to express that in LLVM > IR... having an implicit HLSL-specific rule

[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-04-23 Thread Eli Friedman via cfe-commits
efriedma-quic wrote: The idea that a symbol should be externally visible before linking, and not externally visible afterwards, isn't new: many platforms have some form of symbol visibility. I'm not sure why you don't want to express that in LLVM IR... having an implicit HLSL-specific rule li

[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-04-08 Thread Steven Perron via cfe-commits
s-perron wrote: I'm following a design that was put in place by others, so I cannot fully answer all of the questions. However, I'll do my best. > Is there some form of linker involved? No linker is involved yet, but I believe the long term plan is to have some type of linker. When that is a

[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-04-03 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-backend-directx Author: Steven Perron (s-perron) Changes HLSL has three levels of visibility for functions. See section 3.6 of the [HLSL spec](https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf) for details. 1. Functions marked `static` have internal

[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-04-03 Thread Eli Friedman via cfe-commits
https://github.com/efriedma-quic commented: I'm not sure I understand why we're changing the linkage of functions in an IR pass, instead of just setting the correct linkage in the first place. Is there some form of linker involved? If there is, should the linker fix the linkage? By conventio

[clang] [llvm] [HLSL] Run finalize linkage pass for all targets (PR #134260)

2025-04-03 Thread Steven Perron via cfe-commits
https://github.com/s-perron created https://github.com/llvm/llvm-project/pull/134260 HLSL has three levels of visibility for functions. See section 3.6 of the [HLSL spec](https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf) for details. 1. Functions marked `static` have internal linkage. Thes