[llvm] [AMDGPU][SplitModule] Cleanup CallsExternal Handling (PR #106528)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 24 03:42:44 PDT 2024
================
@@ -103,6 +104,15 @@ static cl::opt<bool> NoExternalizeGlobals(
cl::desc("disables externalization of global variable with local linkage; "
"may cause globals to be duplicated which increases binary size"));
+static cl::opt<bool> NoExternalizeOnAddrTaken(
+ "amdgpu-module-splitting-no-externalize-address-taken", cl::Hidden,
+ cl::desc(
+ "disables externalization of functions whose addresses are taken"));
+
+static cl::opt<bool> InlineAsmIsIndirectCall(
+ "amdgpu-module-splitting-inline-asm-is-indirect-call", cl::Hidden,
+ cl::desc("consider inline assembly as an indirect call"));
----------------
arsenm wrote:
I don't think this option is useful as defined, and it introduces an inconsistency with the attributor treatment. While probably incorrect, the attributor currently assumes inline asm doesn't contain a call of any kind. If we really want a cl::opt, it should be used everywhere
We probably should fix that though; we even assume there's no call if the asm directly refers to a function as a pointer argument
https://github.com/llvm/llvm-project/pull/106528
More information about the llvm-commits
mailing list