[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-27 Thread William Moses via cfe-commits
https://github.com/wsmoses reopened https://github.com/llvm/llvm-project/pull/83059 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-27 Thread William Moses via cfe-commits
wsmoses wrote: Hm actually reopening, for some reason the metadata isn't being pushed at O0. https://github.com/llvm/llvm-project/pull/83059 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-27 Thread William Moses via cfe-commits
wsmoses wrote: Okay, the AnnotateAttr doesn't create LLVM string attributes, it creates LLVM metadata, but that should sufice, closing. https://github.com/llvm/llvm-project/pull/83059 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lis

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-27 Thread William Moses via cfe-commits
https://github.com/wsmoses closed https://github.com/llvm/llvm-project/pull/83059 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-27 Thread William Moses via cfe-commits
wsmoses wrote: So my understanding was that the annotate attribute didn't modify codegen (and thus LLVM string attributes), but perhaps I didn't use it properly. Is there any reference for that? https://github.com/llvm/llvm-project/pull/83059 ___ cfe

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-27 Thread William Moses via cfe-commits
wsmoses wrote: As another option, what if this always emits string attributes prefixed with "clang_". And any other tools that semantic assurances for what they do with it. Thus the attribute won't be tied to any LLVM attributes. https://github.com/llvm/llvm-project/pull/83059

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-27 Thread William Moses via cfe-commits
wsmoses wrote: @AaronBallman @erichkeane, do you have any suggestions for paths forward, for use cases where it is guaranteed that the attribute is valid and the user (or perhaps more specifically, another Clang-tool) needs to provide information to LLVM through Clang AST/source. For example,

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-26 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/83059 >From c01b559836ca62648c5f95a6441888514347a1ea Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Mon, 26 Feb 2024 16:17:55 -0500 Subject: [PATCH 1/2] [Clang][HTO] Add clang attribute for propagating llvm-l

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-26 Thread William Moses via cfe-commits
@@ -0,0 +1,14 @@ +// RUN: %clang_cc1 -debug-info-kind=limited -emit-llvm -o - | FileCheck %s + +void t1() __attribute__((llvm_fn_attr("custom_attr", "custom_value"), llvm_fn_attr("second_attr", "second_value"))); + +void t1() +{ +} + +void t2(); + +void t3() { + t2() at

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-26 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/83059 >From c01b559836ca62648c5f95a6441888514347a1ea Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Mon, 26 Feb 2024 16:17:55 -0500 Subject: [PATCH 1/2] [Clang][HTO] Add clang attribute for propagating llvm-l

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-26 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/83059 >From c01b559836ca62648c5f95a6441888514347a1ea Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Mon, 26 Feb 2024 16:17:55 -0500 Subject: [PATCH 1/2] [Clang][HTO] Add clang attribute for propagating llvm-l

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-26 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/83059 >From c01b559836ca62648c5f95a6441888514347a1ea Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Mon, 26 Feb 2024 16:17:55 -0500 Subject: [PATCH] [Clang][HTO] Add clang attribute for propagating llvm-level

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-26 Thread William Moses via cfe-commits
@@ -0,0 +1,14 @@ +// RUN: %clang_cc1 -debug-info-kind=limited -emit-llvm -o - | FileCheck %s + +void t1() __attribute__((llvm_fn_attr("custom_attr", "custom_value"), llvm_fn_attr("second_attr", "second_value"))); + +void t1() +{ +} + +void t2(); + +void t3() { + t2() at

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-26 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/83059 >From b6ab7f38406cd51670bd2a1253142243cf80a433 Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Mon, 26 Feb 2024 16:17:55 -0500 Subject: [PATCH] [Clang][HTO] Add clang attribute for propagating llvm-level

[clang] [Clang][HTO] Add clang attribute for propagating llvm-level information (PR #83059)

2024-02-26 Thread William Moses via cfe-commits
https://github.com/wsmoses created https://github.com/llvm/llvm-project/pull/83059 This PR adds functionality for specifying an LLVM function attribute within clang. This is necessary for transfering information from C++ into LLVM which doens't have a C++-level attribute. This functionality ha

[clang] [Clang] add user-level sizeless attribute (PR #71894)

2023-11-09 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/71894 >From 9202857d0100bf8a29c43472a3ce531d9afa4a2b Mon Sep 17 00:00:00 2001 From: Billy Moses Date: Thu, 9 Nov 2023 02:17:05 + Subject: [PATCH] [Clang] add user-level sizeless attribute --- clang/include/clang/

[clang] [Clang] add user-level sizeless attribute (PR #71894)

2023-11-09 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/71894 >From 5feb493573e1809ddf450948bdd3c735bb4b6ffd Mon Sep 17 00:00:00 2001 From: Billy Moses Date: Thu, 9 Nov 2023 02:17:05 + Subject: [PATCH] [Clang] add user-level sizeless attribute --- clang/include/clang/

[clang] [Clang] add user-level sizeless attribute (PR #71894)

2023-11-09 Thread William Moses via cfe-commits
@@ -2400,7 +2402,66 @@ bool Type::isWebAssemblyTableType() const { return false; } -bool Type::isSizelessType() const { return isSizelessBuiltinType(); } +bool Type::isSizelessType() const { wsmoses wrote: isIncompleteType has a recursive descent open to su

[clang] [Clang] add user-level sizeless attribute (PR #71894)

2023-11-09 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/71894 >From 4de8e238b6680540f4bc884c66430eb2974512c2 Mon Sep 17 00:00:00 2001 From: Billy Moses Date: Thu, 9 Nov 2023 02:17:05 + Subject: [PATCH 1/2] [Clang] add user-level sizeless attribute --- clang/include/cl

[clang] [Clang] add user-level sizeless attribute (PR #71894)

2023-11-09 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/71894 >From 4de8e238b6680540f4bc884c66430eb2974512c2 Mon Sep 17 00:00:00 2001 From: Billy Moses Date: Thu, 9 Nov 2023 02:17:05 + Subject: [PATCH] [Clang] add user-level sizeless attribute --- clang/include/clang/

[clang] [Clang] add user-level sizeless attribute (PR #71894)

2023-11-09 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/71894 >From 3e23febb464791a4b24ec73476ef988d2e98ca18 Mon Sep 17 00:00:00 2001 From: Billy Moses Date: Thu, 9 Nov 2023 02:17:05 + Subject: [PATCH] [Clang] add user-level sizeless attribute --- clang/include/clang/

[clang] [Clang] add user-level sizeless attribute (PR #71894)

2023-11-09 Thread William Moses via cfe-commits
https://github.com/wsmoses created https://github.com/llvm/llvm-project/pull/71894 As discussed in [this RFC](https://discourse.llvm.org/t/rfc-attribute-no-sizeof/74695) this PR implements a. new user-level sizeless attribute. This prevents types or variables marked with this attribute from h

[clang] [Clang] Add codegen option to add passbuilder callback functions (PR #70171)

2023-11-06 Thread William Moses via cfe-commits
https://github.com/wsmoses closed https://github.com/llvm/llvm-project/pull/70171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Add codegen option to add passbuilder callback functions (PR #70171)

2023-11-06 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From ff6e93b1f9d57a73be1407f515e5c9c58bbd5b4c Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [Clang] Add codegen option to add passbuilder callback func

[clang] [Clang] Add codegen option to add passbuilder callback functions (PR #70171)

2023-11-06 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From ee967e7cd00f3943494ca04576325c2f28f2c614 Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [Clang] Add codegen option to add passbuilder callback func

[clang] [Clang] Add codegen option to add passbuilder callback functions (PR #70171)

2023-11-06 Thread William Moses via cfe-commits
https://github.com/wsmoses edited https://github.com/llvm/llvm-project/pull/70171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Add codegen option to add passbuilder callback functions (PR #70171)

2023-11-03 Thread William Moses via cfe-commits
wsmoses wrote: bump @efriedma-quic for reviewing this PR https://github.com/llvm/llvm-project/pull/70171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Add codegen option to add passbuilder callback functions (PR #70171)

2023-10-31 Thread William Moses via cfe-commits
wsmoses wrote: @efriedma-quic I've removed the non-options stuff, please review it at your convenience. Let me see if I can make the other stuff work in a different way. https://github.com/llvm/llvm-project/pull/70171 ___ cfe-commits mailing list cfe

[clang] [Clang] Add codegen option to add passbuilder callback functions (PR #70171)

2023-10-31 Thread William Moses via cfe-commits
https://github.com/wsmoses edited https://github.com/llvm/llvm-project/pull/70171 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-31 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From bb04e157dcd667b9baf261f07f8081a52c5481a0 Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [Clang] Add codegen option to add passbuilder callback func

[llvm] [clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-31 Thread William Moses via cfe-commits
wsmoses wrote: Let me fork off the clang part off into a separate PR from the codegenoption. For context, I'm in an environment where I can't modify the LLVM build files (but I can import them), but want to produce the modified clang, without maintaining a separate fork just to add the pass.

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-26 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From 547d498662c3b8da2cb87abe9f5c13b39123d90f Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [PassBuilder] Add a mechanism for adding passbuilder callba

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-26 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From a49b8e2da32c1be06ea956198ba0d01006d64c92 Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [PassBuilder] Add a mechanism for adding passbuilder callba

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-25 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From 227a494be06d8cb3b590c78f52f717bd781a8f0e Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [PassBuilder] Add a mechanism for adding passbuilder callba

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-25 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From 5119368d060c886c6cb9c4209169604d191e6b4c Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [PassBuilder] Add a mechanism for adding passbuilder callba

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-25 Thread William Moses via cfe-commits
wsmoses wrote: @jdoerfert added the example test @efriedma-quic I've reworked the mechanism to not create a global variable within LLVM. Here this only applies to clang and enables two things: 1) Users of clang as a library can add a custom passbuilder callback by adding to codegenoptions 2) T

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-25 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From ad9ed0260b1288efc3e8c7794f4de4592657474b Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [PassBuilder] Add a mechanism for adding passbuilder callba

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-25 Thread William Moses via cfe-commits
wsmoses wrote: > acks presently can be done one of two ways: > > * a shared library plugin > * modifying the extensions list (and thus extensions.def) > > This prevents the use of such functionality for static builds on build > systems that cannot be modified, as well as prevents such function

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-25 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From fca61de1d6cf5fe68cfb51bfe5ca73d5d3948ba5 Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [PassBuilder] Add a mechanism for adding passbuilder callba

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-25 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From 8b0e0939ea51768b9e1257e816556d245c91134b Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [PassBuilder] Add a mechanism for adding passbuilder callba

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-25 Thread William Moses via cfe-commits
https://github.com/wsmoses updated https://github.com/llvm/llvm-project/pull/70171 >From 9ccb8b7bff8adc03bf027766005762b350a803bc Mon Sep 17 00:00:00 2001 From: "William S. Moses" Date: Wed, 25 Oct 2023 02:10:32 -0500 Subject: [PATCH] [PassBuilder] Add a mechanism for adding passbuilder callba

[clang] [PassBuilder] Add a mechanism for adding passbuilder callbacks for static builds (PR #70171)

2023-10-25 Thread William Moses via cfe-commits
https://github.com/wsmoses created https://github.com/llvm/llvm-project/pull/70171 Adding passbuilder callbacks presently can be done one of two ways: * a shared library plugin * modifying the extensions list (and thus extensions.def) This prevents the use of such functionality for static build