[clang] [clang] fix merging of UsingShadowDecl (PR #80245)

2024-02-01 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/80245 >From 8823a7ec248c7220395f53634467aa25f5007206 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Thu, 1 Feb 2024 02:07:16 -0300 Subject: [PATCH 1/2] [NFC] [clang] add tests for merging of UsingShadowDecl

[clang] [clang] fix merging of UsingShadowDecl (PR #80245)

2024-01-31 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: > IIRC, in #79959, you're saying the patch have the potential to fix #78850? Is > it true? Yeah, looking at the similarities, there is a decent chance this is the same issue, it's worth trying it out. https://github.com/llvm/llvm-project/pull/80245

[clang] [clang] fix merging of UsingShadowDecl (PR #80245)

2024-01-31 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: The issue is up: https://github.com/llvm/llvm-project/issues/80252 https://github.com/llvm/llvm-project/pull/80245 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] fix merging of UsingShadowDecl (PR #80245)

2024-01-31 Thread Matheus Izvekov via cfe-commits
@@ -0,0 +1,42 @@ +// RUN: rm -rf %t +// RUN: split-file %s %t +// RUN: cd %t +// +// RUN: %clang_cc1 -std=c++20 -I %t %t/A.cppm -emit-module-interface -o %t/A.pcm -verify +// RUN: %clang_cc1 -std=c++20 -I %t %t/B.cpp -fmodule-file=A=%t/A.pcm -fsyntax-only -verify -ast-dump-all

[clang] [clang] fix merging of UsingShadowDecl (PR #80245)

2024-01-31 Thread Matheus Izvekov via cfe-commits
@@ -181,6 +181,9 @@ Bug Fixes to C++ Support and (`#79745 `_) - Fix incorrect code generation caused by the object argument of ``static operator()`` and ``static operator[]`` calls not being evaluated. Fixes (`#67976

[clang] [clang] fix merging of UsingShadowDecl (PR #80245)

2024-01-31 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/80245 >From 23a0d731cfe8593c338fc8ad7920f7aa9270afaa Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Thu, 1 Feb 2024 02:07:16 -0300 Subject: [PATCH 1/2] [NFC] [clang] add test for merging of UsingShadowDecl ---

[clang] [clang] fix merging of UsingShadowDecl (PR #80245)

2024-01-31 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/80245 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] fix merging of UsingShadowDecl (PR #80245)

2024-01-31 Thread Matheus Izvekov via cfe-commits
@@ -181,6 +181,9 @@ Bug Fixes to C++ Support and (`#79745 `_) - Fix incorrect code generation caused by the object argument of ``static operator()`` and ``static operator[]`` calls not being evaluated. Fixes (`#67976

[clang] [clang] fix merging of UsingShadowDecl (PR #80245)

2024-01-31 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: Hmm I have been doing user branches for a while, this saves me time in case I want to split the patch off in a separate MR. It's already the case that this is split into test adding + fixing commits. In any case, the user branch will be deleted as soon as this is merged. Can

[clang] Users/mizvekov/bug/clang merge usingshadowdecl (PR #80245)

2024-01-31 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov created https://github.com/llvm/llvm-project/pull/80245 [clang] fix merging of UsingShadowDecl Previously, when deciding if two UsingShadowDecls where mergeable, we would incorrectly only look for both pointing to the exact redecla ration, whereas the correct thing

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-31 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov approved this pull request. https://github.com/llvm/llvm-project/pull/79959 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-31 Thread Matheus Izvekov via cfe-commits
@@ -457,6 +457,28 @@ Note that **currently** the compiler doesn't consider inconsistent macro definit Currently Clang would accept the above example. But it may produce surprising results if the debugging code depends on consistent use of ``NDEBUG`` also in other translation

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-31 Thread Matheus Izvekov via cfe-commits
@@ -457,6 +457,28 @@ Note that **currently** the compiler doesn't consider inconsistent macro definit Currently Clang would accept the above example. But it may produce surprising results if the debugging code depends on consistent use of ``NDEBUG`` also in other translation

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-31 Thread Matheus Izvekov via cfe-commits
@@ -457,6 +457,28 @@ Note that **currently** the compiler doesn't consider inconsistent macro definit Currently Clang would accept the above example. But it may produce surprising results if the debugging code depends on consistent use of ``NDEBUG`` also in other translation

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-30 Thread Matheus Izvekov via cfe-commits
@@ -457,6 +457,28 @@ Note that **currently** the compiler doesn't consider inconsistent macro definit Currently Clang would accept the above example. But it may produce surprising results if the debugging code depends on consistent use of ``NDEBUG`` also in other translation

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-30 Thread Matheus Izvekov via cfe-commits
@@ -457,6 +457,28 @@ Note that **currently** the compiler doesn't consider inconsistent macro definit Currently Clang would accept the above example. But it may produce surprising results if the debugging code depends on consistent use of ``NDEBUG`` also in other translation

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-30 Thread Matheus Izvekov via cfe-commits
@@ -3940,6 +3940,14 @@ static bool RenderModulesOptions(Compilation , const Driver , Args.ClaimAllArgs(options::OPT_fmodules_disable_diagnostic_validation); } + // Don't check ODR violations for decls in the global module fragment. + // 1. To keep consistent behavior

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-30 Thread Matheus Izvekov via cfe-commits
@@ -457,6 +457,28 @@ Note that **currently** the compiler doesn't consider inconsistent macro definit Currently Clang would accept the above example. But it may produce surprising results if the debugging code depends on consistent use of ``NDEBUG`` also in other translation

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-30 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov commented: On the Implementation side, this looks good, just some concerns regarding documentation. https://github.com/llvm/llvm-project/pull/79959 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-30 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/79959 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20] [Modules] Introduce -fskip-odr-check-in-gmf (PR #79959)

2024-01-30 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: @dwblaikie The flag is for our own use within LLVM test suite. With the previous change, we were unconditionally weakening standards conformance and runtime checking, because there are a bunch of bugs which are believed to be mostly harmless. However, if we do that without

[clang] [clang] Make sure the same UsingType is searched and inserted (PR #79182)

2024-01-24 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov approved this pull request. https://github.com/llvm/llvm-project/pull/79182 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Make sure the same UsingType is searched and inserted (PR #79182)

2024-01-24 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: LGTM. Thanks! https://github.com/llvm/llvm-project/pull/79182 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Make sure the same UsingType is searched and inserted (PR #79182)

2024-01-23 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: > Wonder what test should I add here. This only affects the content of the > internal folding set so we always create new types but result is still > correct. One possibility is doing an AST test, there are some examples in there that show how you can test two different AST

[clang] [clang] Make sure the same UsingType is searched and inserted (PR #79182)

2024-01-23 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: The change is correct. The problem is subtle though. It comes from the difference in behavior between the member and non-member Profile functions. I think we could do better instead with a change which makes it harder to trip on this. I think a simplification like this should

[clang-tools-extra] [clangd] check for synthesized symbols when tracking include locations (PR #75128)

2024-01-03 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov closed https://github.com/llvm/llvm-project/pull/75128 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] check for synthesized symbols when tracking include locations (PR #75128)

2023-12-27 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: @kadircet gentle ping https://github.com/llvm/llvm-project/pull/75128 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] check for synthesized symbols when tracking include locations (PR #75128)

2023-12-18 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: @kadircet ping https://github.com/llvm/llvm-project/pull/75128 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] check for synthesized symbols when tracking include locations (PR #75128)

2023-12-13 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/75128 >From 8b5fa481b399cc49dcdc39c49ed22c7aed0cb844 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Mon, 11 Dec 2023 17:36:44 -0300 Subject: [PATCH 1/2] [clangd] Add test for GH75115 Add test for

[clang-tools-extra] [clangd] Add test for GH75115 (PR #75116)

2023-12-13 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: I see, thanks for pointing it out. I wonder if we support, or otherwise if we should support, a lit requires marker for this. https://github.com/llvm/llvm-project/pull/75116 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang-tools-extra] [clangd] check for synthesized symbols when tracking include locations (PR #75128)

2023-12-12 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/75128 >From 6f4cc2d6a9af855a12feb03bd81cbc6f7cbf9caf Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Wed, 13 Dec 2023 01:44:16 -0300 Subject: [PATCH] [clangd] check for synthesized symbols when tracking include

[clang-tools-extra] [clangd] check for synthesized symbols when tracking include locations (PR #75128)

2023-12-12 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/75128 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] Add test for GH75115 (PR #75116)

2023-12-12 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov closed https://github.com/llvm/llvm-project/pull/75116 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clangd] Add test for GH75115 (PR #75116)

2023-12-12 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/75116 >From 1c9690d87f3a3bbe8389cb9a852d00fe2d3cf478 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Mon, 11 Dec 2023 17:36:44 -0300 Subject: [PATCH] [clangd] Add test for GH75115 Add test for

[clang-tools-extra] [clangd] Add test for GH75115 (PR #75116)

2023-12-11 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/75116 >From 7c18785d74556001cf19d9ae84c8f32f8d95801e Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Mon, 11 Dec 2023 17:36:44 -0300 Subject: [PATCH] [clangd] Add test for GH75115 Add test for

[clang-tools-extra] [clangd] Add test for GH75115 (PR #75116)

2023-12-11 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/75116 >From a3971a65e7c7297295a6db154360c205a254c708 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Mon, 11 Dec 2023 17:36:44 -0300 Subject: [PATCH] [clangd] Add test for GH75115 Add test for

[clang-tools-extra] [clangd] Add test for GH75115 (PR #75116)

2023-12-11 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/75116 >From f3c8adf8b08369ba2e90e237957d4205526f64e1 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Mon, 11 Dec 2023 17:36:44 -0300 Subject: [PATCH] [clangd] Add test for GH75115 Add test for

[clang-tools-extra] [clangd] Add test for GH75115 (PR #75116)

2023-12-11 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov created https://github.com/llvm/llvm-project/pull/75116 Add test for https://github.com/llvm/llvm-project/issues/75115 >From bd01b0d71c05fa7d728b6db08d14d51fe332ae2c Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Mon, 11 Dec 2023 17:36:44 -0300 Subject:

[clang] [Clang][Driver] Add new flags to control machine instruction verification (PR #70282)

2023-10-26 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: I don't disagree that if we stop at this step, then the flag doesn't buy much. But it would be worthwhile if we ever implemented LTO integration or implemented a lightweight machine verification which runs the pass 1 or 2 times, which would work similarly to the IR

[clang] [Clang][Driver] Add new flags to control machine instruction verification (PR #70282)

2023-10-25 Thread Matheus Izvekov via cfe-commits
@@ -1926,6 +1926,12 @@ def fverify_intermediate_code : Flag<["-"], "fverify-intermediate-code">, def fno_verify_intermediate_code : Flag<["-"], "fno-verify-intermediate-code">, Group, Visibility<[ClangOption, CLOption, DXCOption]>, HelpText<"Disable verification of LLVM

[clang] [Clang][Driver] Add new flags to control machine instruction verification (PR #70282)

2023-10-25 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/70282 >From b2006f46ebfd1da17014cf6c577da4700c355d00 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Wed, 4 Oct 2023 12:09:15 +0200 Subject: [PATCH] [Clang][Driver] Add new flags to control machine instruction

[clang] [Clang][Driver] Add new flags to control machine instruction verification (PR #70282)

2023-10-25 Thread Matheus Izvekov via cfe-commits
@@ -1926,6 +1926,12 @@ def fverify_intermediate_code : Flag<["-"], "fverify-intermediate-code">, def fno_verify_intermediate_code : Flag<["-"], "fno-verify-intermediate-code">, Group, Visibility<[ClangOption, CLOption, DXCOption]>, HelpText<"Disable verification of LLVM

[clang] [Clang][Driver] Add new flags to control machine instruction verification (PR #70282)

2023-10-25 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/70282 >From 9f3711c112159c57becae105561bc988a0caaeb5 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Thu, 26 Oct 2023 06:07:57 +0200 Subject: [PATCH 1/2] [clang][driver] remove accidentally added NoXarchOption

[clang] [Clang][Driver] Add new flags to control machine instruction verification (PR #70282)

2023-10-25 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov created https://github.com/llvm/llvm-project/pull/70282 Present shortcomings are that this only works for non-LTO builds, and that this new pass doesn't work quite the same as the IR verification flag, as it runs between every machine pass and is thus much more

[clang-tools-extra] [Docs][LTO] Updated HowToSubmitABug.rst for LTO crashes (PR #68389)

2023-10-23 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/68389 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Docs][LTO] Updated HowToSubmitABug.rst for LTO crashes (PR #68389)

2023-10-23 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/68389 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [Docs][LTO] Updated HowToSubmitABug.rst for LTO crashes (PR #68389)

2023-10-23 Thread Matheus Izvekov via cfe-commits
@@ -153,6 +153,67 @@ Please run this, then file a bug with the instructions and reduced .bc file that bugpoint emits. If something goes wrong with bugpoint, please submit the "foo.bc" file and the option that llc crashes with. +LTO bugs +--- + +If

[clang] [Docs][LTO] Updated HowToSubmitABug.rst for LTO crashes (PR #68389)

2023-10-23 Thread Matheus Izvekov via cfe-commits
@@ -153,6 +153,67 @@ Please run this, then file a bug with the instructions and reduced .bc file that bugpoint emits. If something goes wrong with bugpoint, please submit the "foo.bc" file and the option that llc crashes with. +LTO bugs +--- + +If

[clang-tools-extra] [Docs][LTO] Updated HowToSubmitABug.rst for LTO crashes (PR #68389)

2023-10-23 Thread Matheus Izvekov via cfe-commits
@@ -153,6 +153,67 @@ Please run this, then file a bug with the instructions and reduced .bc file that bugpoint emits. If something goes wrong with bugpoint, please submit the "foo.bc" file and the option that llc crashes with. +LTO bugs +--- + +If

[clang] [Docs][LTO] Updated HowToSubmitABug.rst for LTO crashes (PR #68389)

2023-10-23 Thread Matheus Izvekov via cfe-commits
@@ -153,6 +153,67 @@ Please run this, then file a bug with the instructions and reduced .bc file that bugpoint emits. If something goes wrong with bugpoint, please submit the "foo.bc" file and the option that llc crashes with. +LTO bugs +--- + +If

[clang-tools-extra] [Docs][LTO] Updated HowToSubmitABug.rst for LTO crashes (PR #68389)

2023-10-19 Thread Matheus Izvekov via cfe-commits
@@ -153,6 +153,67 @@ Please run this, then file a bug with the instructions and reduced .bc file that bugpoint emits. If something goes wrong with bugpoint, please submit the "foo.bc" file and the option that llc crashes with. +LTO bugs +--- + +If

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-05 Thread Matheus Izvekov via cfe-commits
@@ -5150,9 +5150,11 @@ void Clang::ConstructJob(Compilation , const JobAction , const bool IsAssertBuild = true; #endif - // Disable the verification pass in -asserts builds. mizvekov wrote: I edited the line to append the `unless otherwise specified`,

[clang] [clang][Index] Use canonical function parameter types in USRs (PR #68222)

2023-10-04 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: Also, would you make sure to add a test case for this? Thanks. https://github.com/llvm/llvm-project/pull/68222 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov closed https://github.com/llvm/llvm-project/pull/68172 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/68172 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][CodeGen] Fix use of CXXThisValue with StrictVTablePointers (PR #68169)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov closed https://github.com/llvm/llvm-project/pull/68169 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][CodeGen] Fix use of CXXThisValue with StrictVTablePointers (PR #68169)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/68169 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][CodeGen] Fix use of CXXThisValue with StrictVTablePointers (PR #68169)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/68169 >From bd6cb19d6261b46ff1c7014140eff59609134272 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Wed, 4 Oct 2023 02:40:25 +0200 Subject: [PATCH] [Clang][CodeGen] Fix use of CXXThisValue with

[clang] 0fb1ad5 - [Clang][CodeGen][NFC] Add (broken) test case for GH67937

2023-10-04 Thread Matheus Izvekov via cfe-commits
Author: Matheus Izvekov Date: 2023-10-04T22:36:20+02:00 New Revision: 0fb1ad564e59a7259b81b7828fca272c762d30f5 URL: https://github.com/llvm/llvm-project/commit/0fb1ad564e59a7259b81b7828fca272c762d30f5 DIFF:

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/68172 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
@@ -146,6 +146,13 @@ Non-comprehensive list of changes in this release New Compiler Flags -- +* ``-fverify-intermediate-code`` and it's complement ``-fno-verify-intermediate-code``. + Enables or disables verification of the generated LLVM IR. + It's

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/68172 >From a5414db5e14cb40d062e54e780293cabc432197a Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Wed, 4 Oct 2023 04:39:11 +0200 Subject: [PATCH] [Clang][Driver] Add new flags to control IR verification ---

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/68172 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
@@ -146,6 +146,13 @@ Non-comprehensive list of changes in this release New Compiler Flags -- +* ``-fverify-intermediate-code`` and it's complement ``-fno-verify-intermediate-code``. + Enables or disables verification of the generated LLVM IR. + It's

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
@@ -146,6 +146,13 @@ Non-comprehensive list of changes in this release New Compiler Flags -- +* ``-fverify-intermediate-code`` and it's complement ``-fno-verify-intermediate-code``. + Enables or disables verification of the generated LLVM IR. + It's

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
@@ -146,6 +146,13 @@ Non-comprehensive list of changes in this release New Compiler Flags -- +* ``-fverify-intermediate-code`` and it's complement ``-fno-verify-intermediate-code``. + Enables or disables verification of the generated LLVM IR. + It's

[clang] [clang][Index] Use canonical function parameter types in USRs (PR #68222)

2023-10-04 Thread Matheus Izvekov via cfe-commits
@@ -265,10 +265,13 @@ void USRGenerator::VisitFunctionDecl(const FunctionDecl *D) { Out << '>'; } + QualType CanonicalType = D->getType().getCanonicalType(); // Mangle in type information for the arguments. - for (auto *PD : D->parameters()) { -Out << '#'; -

[clang] [clang][Index] Use canonical function parameter types in USRs (PR #68222)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov approved this pull request. https://github.com/llvm/llvm-project/pull/68222 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/68172 >From 634c0f8ea4acd0694d89c3e2d278e6bcb78b923f Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Wed, 4 Oct 2023 04:39:11 +0200 Subject: [PATCH] [Clang][Driver] Add new flags to control IR verification ---

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/68172 >From 8a0226386732cea374558a38475c7d629c84ef28 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Wed, 4 Oct 2023 04:39:11 +0200 Subject: [PATCH] [CLang][Driver] Add new flags to control IR verification ---

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-04 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/68172 >From ee49cd2bddc21be68f73fca7cb344150cd7ad7a6 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Wed, 4 Oct 2023 04:39:11 +0200 Subject: [PATCH] [CLang][Driver] Add new flags to control IR verification ---

[clang] [Clang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-03 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/68172 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CLang][Driver] Add new flags to control IR verification (PR #68172)

2023-10-03 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov created https://github.com/llvm/llvm-project/pull/68172 None >From 4aec8113bc23d361164f1e164c8e4e36a9eb0ad0 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Wed, 4 Oct 2023 04:39:11 +0200 Subject: [PATCH] [CLang][Driver] Add new flags to control IR verification

[clang] [Clang][CodeGen] Fix use of CXXThisValue with StrictVTablePointers (PR #68169)

2023-10-03 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov created https://github.com/llvm/llvm-project/pull/68169 When emitting non-virtual base initializers for the constructor prologue, we would potentially use a re-laundered this pointer value from a previous block, which subsequently would not dominate this use. With

[clang] [NFC][Clang][CodeGen] Improve performance for vtable metadata generation (PR #67066)

2023-10-03 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: > Could you please send me a link which describes that process? I assume that > by MR you mean merge request? Thanks, Kirill > […](#) > On Mon, Oct 2, 2023 at 5:24 PM Matheus Izvekov ***@***.***> wrote: > @kstoimenov I believe you are supposed to

[clang] [NFC][clang] change remaining context-dependent type nodes to ContextualFoldingSet (PR #67751)

2023-10-03 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov closed https://github.com/llvm/llvm-project/pull/67751 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][codegen] Add a verifier IR pass before any further passes. (PR #68015)

2023-10-03 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov closed https://github.com/llvm/llvm-project/pull/68015 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][clang] change remaining context-dependent type nodes to ContextualFoldingSet (PR #67751)

2023-10-03 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: @shafik from the last message, it seemed like this is good to go, but you didn't approve, so I am wondering if you forgot. https://github.com/llvm/llvm-project/pull/67751 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [clang][codegen] Add a verifier IR pass before any further passes. (PR #68015)

2023-10-03 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: The latest revision now has the new pass under control of the same flag. I will drop the matter of whether we do it for release builds by default, for this MR at least, because otherwise this is a useful change. https://github.com/llvm/llvm-project/pull/68015

[clang] [clang][codegen] Add a verifier IR pass before any further passes. (PR #68015)

2023-10-02 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov deleted https://github.com/llvm/llvm-project/pull/68015 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][codegen] Add a verifier IR pass before any further passes. (PR #68015)

2023-10-02 Thread Matheus Izvekov via cfe-commits
@@ -923,6 +923,8 @@ void EmitAssemblyHelper::RunOptimizationPipeline( PB.crossRegisterProxies(LAM, FAM, CGAM, MAM); ModulePassManager MPM; + // Add a verifier pass, before any other passes, to catch CodeGen issues. + MPM.addPass(VerifierPass());

[clang] [clang][codegen] Add a verifier IR pass before any further passes. (PR #68015)

2023-10-02 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/68015 >From be5fab19a147c979c7e8afb421d157b194f4a125 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Mon, 2 Oct 2023 13:52:35 +0200 Subject: [PATCH] [clang][codegen] Add a verifier IR pass before any further

[clang] e897014 - [NFC][Clang][CodeGen] Improve performance for vtable metadata generation (#67066)

2023-10-02 Thread Matheus Izvekov via cfe-commits
Author: Matheus Izvekov Date: 2023-10-03T03:23:34+02:00 New Revision: e8970141ec4326acb139789db01fb7c51538a4be URL: https://github.com/llvm/llvm-project/commit/e8970141ec4326acb139789db01fb7c51538a4be DIFF:

[clang] [NFC][Clang][CodeGen] Improve performance for vtable metadata generation (PR #67066)

2023-10-02 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: @kstoimenov I believe you are supposed to notify the MR in case of reverts, otherwise I could have missed this if I wasn't awake. I believe in this case the bot is misconfigured, it's using `-Werror,-Wmissing-field-initializers`, the 'error' is just a missing initializer,

[clang] [NFC][Clang][CodeGen] Improve performance for vtable metadata generation (PR #67066)

2023-10-02 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: Weird, the commit in the MR has a description, but it lost the description when merging through the github interface. https://github.com/llvm/llvm-project/pull/67066 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [NFC][Clang][CodeGen] Improve performance for vtable metadata generation (PR #67066)

2023-10-02 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov closed https://github.com/llvm/llvm-project/pull/67066 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][codegen] Add a verifier IR pass before any further passes. (PR #68015)

2023-10-02 Thread Matheus Izvekov via cfe-commits
@@ -923,6 +923,8 @@ void EmitAssemblyHelper::RunOptimizationPipeline( PB.crossRegisterProxies(LAM, FAM, CGAM, MAM); ModulePassManager MPM; + // Add a verifier pass, before any other passes, to catch CodeGen issues. + MPM.addPass(VerifierPass());

[clang] [clang][codegen] Add a verifier IR pass before any further passes. (PR #68015)

2023-10-02 Thread Matheus Izvekov via cfe-commits
@@ -1020,21 +1022,23 @@ void EmitAssemblyHelper::RunOptimizationPipeline( } if (CodeGenOpts.FatLTO) { - MPM = PB.buildFatLTODefaultPipeline(Level, PrepareForThinLTO, - PrepareForThinLTO || -

[clang] [NFC][Clang][CodeGen] Improve performance for vtable metadata generation (PR #67066)

2023-10-02 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/67066 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][Clang][CodeGen] Improve performance for vtable metadata generation (PR #67066)

2023-10-02 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/67066 >From 44d43a8e7fa5b19671bc3f56f934dfb63a632aa4 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Thu, 21 Sep 2023 22:57:27 +0200 Subject: [PATCH] [NFC][Clang][CodeGen] Improve performance for vtable metadata

[clang] [clang][codegen] Add a verifier IR pass before any further passes. (PR #68015)

2023-10-02 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov created https://github.com/llvm/llvm-project/pull/68015 This helps check clang generated good IR in the first place, as otherwise this can cause UB in subsequent passes, with the final verification pass not catching any issues. This for example would have helped

[clang] -fsanitize=function: fix MSVC hashing to sugared type (PR #66816)

2023-10-02 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: Yep, it's a regression from 16. This bug makes ubsan unusable for MSVC target in real world projects. We could alternatively backport just the canonicalization, but not the rename, if that makes it better. https://github.com/llvm/llvm-project/pull/66816

[clang] -fsanitize=function: fix MSVC hashing to sugared type (PR #66816)

2023-10-02 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: @tru Would you agree to backport this fix to 17? Strictly speaking there is an API change here, but I think it's a bit obscure and in any case, this change could catch misuse of it. https://github.com/llvm/llvm-project/pull/66816 ___

[clang] -fsanitize=function: fix MSVC hashing to sugared type (PR #66816)

2023-10-02 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov closed https://github.com/llvm/llvm-project/pull/66816 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] -fsanitize=function: fix MSVC hashing to sugared type (PR #66816)

2023-10-02 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: @rnk Since @efriedma-quic seems to be unavailable, any objections we move forward and merge this, as is? https://github.com/llvm/llvm-project/pull/66816 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [NFC][clang] change remaining context-dependent type nodes to ContextualFoldingSet (PR #67751)

2023-10-01 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/67751 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][clang] change remaining context-dependent type nodes to ContextualFoldingSet (PR #67751)

2023-10-01 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/67751 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][clang] change remaining context-dependent type nodes to ContextualFoldingSet (PR #67751)

2023-10-01 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: Thanks for the review. I think the change stands on itself, as we are avoiding storing one pointer per Type Node instance, for the cost of one extra pointer per ASTContext, which is negligible. These type nodes we are changing here are old, at least as far back as 2008. In

[clang] [NFC][clang] change remaining context-dependent type nodes to ContextualFoldingSet (PR #67751)

2023-09-29 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/67751 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC][clang] change remaining context-dependent type nodes to ContextualFoldingSet (PR #67751)

2023-09-29 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov updated https://github.com/llvm/llvm-project/pull/67751 >From 5919cbf2a91f1cff3e48ba10cd2e9f5d2f5023f0 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Fri, 29 Sep 2023 00:49:16 +0200 Subject: [PATCH] [NFC][clang] change remaining context-dependent type nodes to

<    1   2   3   4   5   >