[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -76,6 +80,43 @@ class VoidType : public Type { static bool classof(const Type *T) { return T->getKind() == TypeKind::Void; } }; +class ComplexType : public Type { +public: + ComplexType(const Type *ElementType, uint64_t SizeInBits, Align Alignment) + : Type(TypeKind

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,523 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -76,6 +80,43 @@ class VoidType : public Type { static bool classof(const Type *T) { return T->getKind() == TypeKind::Void; } }; +class ComplexType : public Type { +public: + ComplexType(const Type *ElementType, uint64_t SizeInBits, Align Alignment) + : Type(TypeKind

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -229,6 +231,7 @@ QualTypeMapper::convertCXXRecordType(const CXXRecordDecl *RD) { 8; Fields.emplace_back(BaseType, BaseOffset); +BaseClasses.emplace_back(BaseType, BaseOffset); nikic wrote: Looks like this adds base types *both* to BaseClas

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,523 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,523 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,523 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,523 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,523 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,523 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,523 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,523 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [KeyInstr] Add release note & update option (PR #148244)

2025-07-11 Thread Nikita Popov via cfe-commits
https://github.com/nikic commented: clang/test/DebugInfo/KeyInstructions/flag.cpp is failing. https://github.com/llvm/llvm-project/pull/148244 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-10 Thread Nikita Popov via cfe-commits
https://github.com/nikic commented: Can you please undo the unrelated formatting changes? It's hard to see what actually changed, especially inside StandardInstrumentations.cpp. https://github.com/llvm/llvm-project/pull/145059 ___ cfe-commits mailing

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-10 Thread Nikita Popov via cfe-commits
https://github.com/nikic commented: Looks reasonable https://github.com/llvm/llvm-project/pull/145059 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -114,6 +114,10 @@ class LLVM_ABI Pass { /// Registration templates, but can be overloaded directly. virtual StringRef getPassName() const; + /// getPassArgument - Return a nice clean name for a pass nikic wrote: ```suggestion /// Return a nice clean

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -62,8 +62,13 @@ static std::string getDescription(const Module &M) { bool ModulePass::skipModule(const Module &M) const { const OptPassGate &Gate = M.getContext().getOptPassGate(); + + StringRef PassName = this->getPassArgument(); nikic wrote: ```sugges

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -86,6 +91,16 @@ StringRef Pass::getPassName() const { return "Unnamed pass: implement Pass::getPassName()"; } +/// getPassArgument - Return a nice clean name for a pass +/// corresponding to that used to enable the pass in opt +StringRef Pass::getPassArgument() const { +

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -55,4 +72,29 @@ bool OptBisect::shouldRunPass(StringRef PassName, return ShouldRun; } -OptPassGate &llvm::getGlobalPassGate() { return getOptBisector(); } +static void printDisablePassMessage(const StringRef &Name, StringRef TargetDesc, +

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-10 Thread Nikita Popov via cfe-commits
@@ -114,6 +114,10 @@ class LLVM_ABI Pass { /// Registration templates, but can be overloaded directly. virtual StringRef getPassName() const; + /// getPassArgument - Return a nice clean name for a pass + /// corresponding to that used to enable the pass in opt + virtual

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-10 Thread Nikita Popov via cfe-commits
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/145059 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr] Add release note & update option (PR #148244)

2025-07-14 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/148244 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [KeyInstr] Add release note & update option (PR #148244)

2025-07-14 Thread Nikita Popov via cfe-commits
nikic wrote: Needs a rebase though, otherwise CI won't run :) https://github.com/llvm/llvm-project/pull/148244 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-16 Thread Nikita Popov via cfe-commits
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/145059 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-16 Thread Nikita Popov via cfe-commits
@@ -114,6 +114,10 @@ class LLVM_ABI Pass { /// Registration templates, but can be overloaded directly. virtual StringRef getPassName() const; + /// Return a nice clean name for a pass + /// corresponding to that used to enable the pass in opt nikic wrote

[clang] [llvm] [OptBisect][IR] Adding a new OptPassGate for disabling passes via name (PR #145059)

2025-07-16 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/145059 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

<    12   13   14   15   16   17