[clang] [FMV][AArch64] Don't optimize backward compatible features in resolver. (PR #90928)

2024-05-03 Thread Eli Friedman via cfe-commits
efriedma-quic wrote: Burying this check in the middle of CodeGen seems error-prone: when we add new features in the future, someone is going to have to dig up this code. Can we put this in on of the target feature tables, like in AArch64TargetParser.h? If I'm understanding correctly, the issu

[clang] [llvm] [Libomptarget] Statically link all plugin runtimes (PR #87009)

2024-05-03 Thread Joseph Huber via cfe-commits
https://github.com/jhuber6 updated https://github.com/llvm/llvm-project/pull/87009 >From 3ea2ae0f5c438b38d0480cfb38a72d2f7a60142c Mon Sep 17 00:00:00 2001 From: Joseph Huber Date: Thu, 28 Mar 2024 16:18:19 -0500 Subject: [PATCH] [Libomptarget] Statically link all plugin runtimes Summary: This

[clang] Reland "[OpenMP][TR12] change property of map-type modifier." (PR #90935)

2024-05-03 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > 7c28408 good point, maybe not, I scheduled it as with, without rebase. Let's try again. https://github.com/llvm/llvm-project/pull/90935 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/

[clang] Reland "[OpenMP][TR12] change property of map-type modifier." (PR #90935)

2024-05-03 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/90935 >From 8468a10bf34e4c432b181d40c370043ad21b5801 Mon Sep 17 00:00:00 2001 From: jyu2-git Date: Thu, 2 May 2024 20:55:18 -0700 Subject: [PATCH] Revert "Revert "[OpenMP][TR12] change property of map-type modifier

[clang] [FMV][AArch64] Don't optimize backward compatible features in resolver. (PR #90928)

2024-05-03 Thread Jon Roelofs via cfe-commits
jroelofs wrote: I am mildly opposed to this on principle: we should be able to optimize for any feature present in the supplied `-mcpu=`, and accommodating features like this that have a "graceful" fallback sets a bad precedent. If someone wants to run code on a machine, they should set mcpu/m

[clang] [llvm] [modules] Accept equivalent module caches from different symlink (PR #90925)

2024-05-03 Thread Ben Langmuir via cfe-commits
@@ -839,17 +839,15 @@ static bool checkHeaderSearchOptions(const HeaderSearchOptions &HSOpts, DiagnosticsEngine *Diags, const LangOptions &LangOpts, const Preprocesso

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

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

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

2024-05-03 Thread Matheus Izvekov via cfe-commits
@@ -261,6 +261,13 @@ AG ag = {1}; // CHECK: | `-BuiltinType {{.*}} 'int' // CHECK: `-ParmVarDecl {{.*}} 'int' +template +using BG = G; +BG bg(1.0); +// CHECK-LABEL: Dumping +// CHECK: FunctionTemplateDecl {{.*}} implicit +// CHECK: |-CXXDeductionGuideDecl {{.*}} 'a

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

2024-05-03 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov approved this pull request. This looks like a straightforward fix to me as well LGTM https://github.com/llvm/llvm-project/pull/90894 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mai

[clang] [llvm] [Driver] Add option to select compiler-rt arch suffix (PR #89775)

2024-05-03 Thread Tobias Hieta via cfe-commits
tru wrote: I think this is fine. I probably have to carry a one line patch in our tree to make it the default on windows as well. But that's acceptable to me. https://github.com/llvm/llvm-project/pull/89775 ___ cfe-commits mailing list cfe-commits@li

[clang] [llvm] [Driver] Add option to select compiler-rt arch suffix (PR #89775)

2024-05-03 Thread Tobias Hieta via cfe-commits
tru wrote: It needs a release note and documentation though. https://github.com/llvm/llvm-project/pull/89775 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments (PR #77732)

2024-05-03 Thread zhijian lin via cfe-commits
@@ -0,0 +1,286 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 2 + +// RUN: %clang_cc1 -triple powerpc-unknown-linux-gnu -fcomplex-ppc-gnu-abi \ +// RUN: -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK-GNU-DEF +// RUN

[clang] [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments (PR #77732)

2024-05-03 Thread zhijian lin via cfe-commits
@@ -0,0 +1,286 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 2 + +// RUN: %clang_cc1 -triple powerpc-unknown-linux-gnu -fcomplex-ppc-gnu-abi \ +// RUN: -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK-GNU-DEF +// RUN

[clang] [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments (PR #77732)

2024-05-03 Thread zhijian lin via cfe-commits
@@ -0,0 +1,286 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 2 + +// RUN: %clang_cc1 -triple powerpc-unknown-linux-gnu -fcomplex-ppc-gnu-abi \ +// RUN: -emit-llvm %s -o - | FileCheck %s --check-prefix=CHECK-GNU-DEF +// RUN

[clang] [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments (PR #77732)

2024-05-03 Thread zhijian lin via cfe-commits
@@ -0,0 +1,15 @@ +// RUN: not %clang %s --target=x86_64 -fcomplex-ppc-gnu-abi 2>&1 \ +// RUN: | FileCheck %s -check-prefix=X86_64 +// X86_64: error: unsupported option '-fcomplex-ppc-gnu-abi' for target 'x86_64' + +// RUN: not %clang %s --target=ppc64 -fcomplex-ppc-gnu-abi 2>

[clang-tools-extra] [clang-tidy][NFC] Document CERT rule coverage and aliases for some primary checks (PR #90965)

2024-05-03 Thread Piotr Zegar via cfe-commits
https://github.com/PiotrZSL approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/90965 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments (PR #77732)

2024-05-03 Thread zhijian lin via cfe-commits
diggerlin wrote: please do not merge the commit if possible, merging the commit make the review difficult, We want to compare what change between the two commit when we review. otherwise we have review the patch from scratch. https://github.com/llvm/llvm-project/pull/77732 ___

[clang] [AArch64] Diagnose more functions when FP not enabled (PR #90832)

2024-05-03 Thread Eli Friedman via cfe-commits
https://github.com/efriedma-quic approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/90832 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Reland "[OpenMP][TR12] change property of map-type modifier." (PR #90935)

2024-05-03 Thread via cfe-commits
jyu2-git wrote: > > 7c28408 > > good point, maybe not, I scheduled it as with, without rebase. Let's try > again. Greate! Thank you so much!! https://github.com/llvm/llvm-project/pull/90935 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,28 @@ +//===--- CIRGenTypeCache.h - Commonly used LLVM types and info -*- C++ --*-===// +// +// 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: Apa

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/90831 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes requested changes to this pull request. https://github.com/llvm/llvm-project/pull/90831 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,5 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s | FileCheck %s + +// CHECK: CIRGenModule::buildTopLevelDecl + +void foo() {} bcardosolopes wrote: Oh, I see what you are doing. I was thinking even more simple, no code,

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -2900,7 +2900,7 @@ defm clangir : BoolFOption<"clangir", PosFlag, NegFlag LLVM pipeline to compile">, BothFlags<[], [ClangOption, CC1Option], "">>; -def emit_cir : Flag<["-"], "emit-cir">, Visibility<[CC1Option]>, +def emit_cir : Flag<["-"], "emit-cir">, Visibility<[C

[clang] [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments (PR #77732)

2024-05-03 Thread zhijian lin via cfe-commits
https://github.com/diggerlin edited https://github.com/llvm/llvm-project/pull/77732 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments (PR #77732)

2024-05-03 Thread zhijian lin via cfe-commits
https://github.com/diggerlin edited https://github.com/llvm/llvm-project/pull/77732 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-03 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @erichkeane I think this is actually a bug in how I applied [[temp.dep.type] p5](http://eel.is/c++draft/temp.dep.type#5): > A qualified name is dependent if > - it is a _conversion-function-id_ whose _conversion-type-id_ is dependent, or > - its lookup context is dependent and

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90500 >From 1b3476db3208ccb0b425ff604755349437d28863 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Thu, 25 Apr 2024 08:17:21 -0400 Subject: [PATCH 1/4] [Clang][Sema] Earlier type checking for builtin unar

[clang] [clang][CodeGen] Propagate pragma set fast-math flags to floating point builtins (PR #90377)

2024-05-03 Thread Karl-Johan Karlsson via cfe-commits
https://github.com/karka228 updated https://github.com/llvm/llvm-project/pull/90377 >From 80836f51573c8ba474a0b5d5890a489d5f0c7034 Mon Sep 17 00:00:00 2001 From: Karl-Johan Karlsson Date: Sat, 27 Apr 2024 22:04:11 +0200 Subject: [PATCH 1/5] Pre-commit reproducer for fast-math flags on calls Ad

[clang] [clang][CodeGen] Propagate pragma set fast-math flags to floating point builtins (PR #90377)

2024-05-03 Thread Karl-Johan Karlsson via cfe-commits
@@ -0,0 +1,55 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-linux-gnu -O3 -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-linux-gnu -O3 -fmath-errno -ffp-contract=on

[clang] [AMDGPU] Allow the `__builtin_flt_rounds` functions on AMDGPU (PR #90994)

2024-05-03 Thread Joseph Huber via cfe-commits
https://github.com/jhuber6 created https://github.com/llvm/llvm-project/pull/90994 Summary: Previous patches added support for the LLVM rounding intrinsic functions. This patch allows them to me emitted using the clang builtins when targeting AMDGPU. >From abceb892df93ccfbfe9392fc7de8c93822e85

[clang] [AMDGPU] Allow the `__builtin_flt_rounds` functions on AMDGPU (PR #90994)

2024-05-03 Thread Matt Arsenault via cfe-commits
https://github.com/arsenm approved this pull request. https://github.com/llvm/llvm-project/pull/90994 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian edited https://github.com/llvm/llvm-project/pull/90894 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
@@ -2803,7 +2803,207 @@ getRHSTemplateDeclAndArgs(Sema &SemaRef, TypeAliasTemplateDecl *AliasTemplate) { return {Template, AliasRhsTemplateArgs}; } -// Build deduction guides for a type alias template. +// Build deduction guides for a type alias template from the given unde

[clang] [clang] CTAD: fix the aggregate deduction guide for alias templates. (PR #90894)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/90894 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] 70b79a9 - [AMDGPU] Allow the `__builtin_flt_rounds` functions on AMDGPU (#90994)

2024-05-03 Thread via cfe-commits
Author: Joseph Huber Date: 2024-05-03T14:01:09-05:00 New Revision: 70b79a9ccd03f93fc4c8464a91b6bef3aab322d3 URL: https://github.com/llvm/llvm-project/commit/70b79a9ccd03f93fc4c8464a91b6bef3aab322d3 DIFF: https://github.com/llvm/llvm-project/commit/70b79a9ccd03f93fc4c8464a91b6bef3aab322d3.diff

[clang] [AMDGPU] Allow the `__builtin_flt_rounds` functions on AMDGPU (PR #90994)

2024-05-03 Thread Joseph Huber via cfe-commits
https://github.com/jhuber6 closed https://github.com/llvm/llvm-project/pull/90994 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Bill Wendling via cfe-commits
@@ -335,6 +336,22 @@ Attribute Changes in Clang - Clang now warns that the ``exclude_from_explicit_instantiation`` attribute is ignored when applied to a local class or a member thereof. +- The ``counted_by`` attribute can now be late parsed in C when bwendl

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Bill Wendling via cfe-commits
@@ -6534,6 +6536,15 @@ def err_counted_by_attr_refer_to_union : Error< "'counted_by' argument cannot refer to a union member">; def note_flexible_array_counted_by_attr_field : Note< "field %0 declared here">; +def err_counted_by_attr_pointee_unknown_size : Error< + "'count

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Bill Wendling via cfe-commits
@@ -631,6 +631,18 @@ bool Type::isStructureType() const { return false; } +bool Type::isStructureTypeWithFlexibleArrayMember() const { + const auto *RT = getAs(); + if (!RT) +return false; + const auto *Decl = RT->getDecl(); + if (!Decl->isStruct()) +return false

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Bill Wendling via cfe-commits
@@ -8588,31 +8588,71 @@ static const RecordDecl *GetEnclosingNamedOrTopAnonRecord(const FieldDecl *FD) { return RD; } -static bool -CheckCountExpr(Sema &S, FieldDecl *FD, Expr *E, - llvm::SmallVectorImpl &Decls) { +enum class CountedByInvalidPointeeTypeKind {

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Bill Wendling via cfe-commits
@@ -3282,6 +3282,19 @@ void Parser::ParseAlignmentSpecifier(ParsedAttributes &Attrs, } } +void Parser::DistributeCLateParsedAttrs(Decl *Dcl, +LateParsedAttrList *LateAttrs) { + assert(Dcl); bwendling wrote: Could yo

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Bill Wendling via cfe-commits
https://github.com/bwendling edited https://github.com/llvm/llvm-project/pull/90786 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Nathan Lanza via cfe-commits
https://github.com/lanza updated https://github.com/llvm/llvm-project/pull/90831 >From e57548737a72c5308e23fb442774b9bd9eca0bfa Mon Sep 17 00:00:00 2001 From: Nathan Lanza Date: Thu, 2 May 2024 07:55:36 + Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UTF-8?q

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Nathan Lanza via cfe-commits
https://github.com/lanza closed https://github.com/llvm/llvm-project/pull/90831 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Use constant rounding mode for floating literals (PR #90877)

2024-05-03 Thread Joshua Cranmer via cfe-commits
jcranmer-intel wrote: I've been doing some testing, and I do want to confirm my understanding of the C standard here. >From what I can tell, macro expansion (phase 4) happens before constants are >parsed (phase 7). As a result, if you have code like this: ```c #define CONSTANT 0.1f ``` the int

[clang] [clang][CodeGen] Propagate pragma set fast-math flags to floating point builtins (PR #90377)

2024-05-03 Thread Zahira Ammarguellat via cfe-commits
@@ -0,0 +1,76 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %s | FileCheck %s + +// precise mode +// RUN: %clang_cc1 -triple x86_64-linux-gnu -fmath-errno -ffp-contract=on \ +// RUN: -fno-rounding-math -emit-llvm -o - %s | FileCheck \ +// RUN: --check-prefix=CHE

[clang] [llvm] [x86] Add tan intrinsic part 4 (PR #90503)

2024-05-03 Thread Farzon Lotfi via cfe-commits
farzonl wrote: @RKSimon @topperc When you have time could I get a review. Thank you! https://github.com/llvm/llvm-project/pull/90503 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [XRay] Add support for instrumentation of DSOs on x86_64 (PR #90959)

2024-05-03 Thread Jan Patrick Lehr via cfe-commits
https://github.com/jplehr edited https://github.com/llvm/llvm-project/pull/90959 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [XRay] Add support for instrumentation of DSOs on x86_64 (PR #90959)

2024-05-03 Thread Jan Patrick Lehr via cfe-commits
@@ -111,6 +156,71 @@ void __xray_init() XRAY_NEVER_INSTRUMENT { #endif } +// Default visibility is hidden, so we have to explicitly make it visible to +// DSO. +SANITIZER_INTERFACE_ATTRIBUTE int32_t __xray_register_dso( +const XRaySledEntry *SledsBegin, const XRaySledEntry

[clang] [compiler-rt] [XRay] Add support for instrumentation of DSOs on x86_64 (PR #90959)

2024-05-03 Thread Jan Patrick Lehr via cfe-commits
https://github.com/jplehr commented: Thank you for contributing this patch. I am by no means an expert in this area, but would like to see xray get support for shared libraries. I did an initial pass to simply look for easy things and left a few comments. https://github.com/llvm/llvm-project/p

[clang] [compiler-rt] [XRay] Add support for instrumentation of DSOs on x86_64 (PR #90959)

2024-05-03 Thread Jan Patrick Lehr via cfe-commits
@@ -50,14 +52,72 @@ atomic_uint8_t XRayInitialized{0}; // This should always be updated before XRayInitialized is updated. SpinMutex XRayInstrMapMutex; -XRaySledMap XRayInstrMap; +// XRaySledMap XRayInstrMap; +// Contains maps for the main executable as well as DSOs. +// std:

[clang] [compiler-rt] [XRay] Add support for instrumentation of DSOs on x86_64 (PR #90959)

2024-05-03 Thread Jan Patrick Lehr via cfe-commits
@@ -50,14 +52,72 @@ atomic_uint8_t XRayInitialized{0}; // This should always be updated before XRayInitialized is updated. SpinMutex XRayInstrMapMutex; -XRaySledMap XRayInstrMap; +// XRaySledMap XRayInstrMap; +// Contains maps for the main executable as well as DSOs. +// std:

[clang] [compiler-rt] [XRay] Add support for instrumentation of DSOs on x86_64 (PR #90959)

2024-05-03 Thread Jan Patrick Lehr via cfe-commits
@@ -80,29 +140,14 @@ void __xray_init() XRAY_NEVER_INSTRUMENT { return; } - { -SpinMutexLock Guard(&XRayInstrMapMutex); -XRayInstrMap.Sleds = __start_xray_instr_map; -XRayInstrMap.Entries = __stop_xray_instr_map - __start_xray_instr_map; -if (__start_xra

[clang] [compiler-rt] [XRay] Add support for instrumentation of DSOs on x86_64 (PR #90959)

2024-05-03 Thread Jan Patrick Lehr via cfe-commits
@@ -111,6 +156,71 @@ void __xray_init() XRAY_NEVER_INSTRUMENT { #endif } +// Default visibility is hidden, so we have to explicitly make it visible to +// DSO. +SANITIZER_INTERFACE_ATTRIBUTE int32_t __xray_register_dso( +const XRaySledEntry *SledsBegin, const XRaySledEntry

[clang] [llvm] [clang][hlsl] Add tan intrinsic part 1 (PR #90276)

2024-05-03 Thread Farzon Lotfi via cfe-commits
farzonl wrote: Hi @efriedma-quic @RKSimon when you have time could I get a review? Thank you! https://github.com/llvm/llvm-project/pull/90276 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-co

[clang] [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments (PR #77732)

2024-05-03 Thread zhijian lin via cfe-commits
https://github.com/diggerlin edited https://github.com/llvm/llvm-project/pull/77732 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Dan Liew via cfe-commits
https://github.com/delcypher updated https://github.com/llvm/llvm-project/pull/90786 >From 1f4d924768409d6bc61d160c6161e6acebf62b60 Mon Sep 17 00:00:00 2001 From: Dan Liew Date: Wed, 1 May 2024 13:56:52 -0700 Subject: [PATCH 1/2] [BoundsSafety] Allow 'counted_by' attribute on pointers in struc

[clang] [clang][CodeGen] Fix MSVC ABI for classes with a deleted copy assignment operator (PR #90547)

2024-05-03 Thread Eli Friedman via cfe-commits
@@ -1131,13 +1132,18 @@ static bool isTrivialForMSVC(const CXXRecordDecl *RD, QualType Ty, return false; if (RD->hasNonTrivialCopyAssignment()) return false; + if (RD->needsImplicitCopyAssignment() && !RD->hasSimpleCopyAssignment()) efriedma-quic wr

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Dan Liew via cfe-commits
@@ -335,6 +336,22 @@ Attribute Changes in Clang - Clang now warns that the ``exclude_from_explicit_instantiation`` attribute is ignored when applied to a local class or a member thereof. +- The ``counted_by`` attribute can now be late parsed in C when delcyp

[clang] [Clang][Sema] Fix template name lookup for operator= (PR #90999)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian created https://github.com/llvm/llvm-project/pull/90999 This fixes a bug in #90152 where `operator=` was never looked up in the current instantiation, resulting in `<` never being interpreted as the start of a template argument list. Since function templates are

[clang] [clang] fix half && bfloat16 convert node expr codegen (PR #89051)

2024-05-03 Thread Matt Arsenault via cfe-commits
arsenm wrote: > ping Ping Do you have another review comment? This has now confused me. You should roll back to the case where you only changed the scalar behavior. Any vector behavior change should be a separate PR, if that is even correct. I would still like to know what the gcc behavior is

[clang] [clang] fix half && bfloat16 convert node expr codegen (PR #89051)

2024-05-03 Thread Matt Arsenault via cfe-commits
@@ -0,0 +1,25 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -disable-O0-optnone -emit-llvm \ +// RUN: %s -o - | opt -S -passes=mem2reg | FileCheck %s + +// CHECK-LABEL: define dso_local half @test_convert_from_bf16_to_fp16( +// CHECK-SAME: bfloat noundef [[A:%.*]]) #[

[clang-tools-extra] 3cf574d - [clang-tidy][NFC] Document CERT rule coverage and aliases for some primary checks (#90965)

2024-05-03 Thread via cfe-commits
Author: whisperity Date: 2024-05-03T21:40:36+02:00 New Revision: 3cf574da407b9be01cc86f0ad2902c5d2ff8f078 URL: https://github.com/llvm/llvm-project/commit/3cf574da407b9be01cc86f0ad2902c5d2ff8f078 DIFF: https://github.com/llvm/llvm-project/commit/3cf574da407b9be01cc86f0ad2902c5d2ff8f078.diff LO

[clang-tools-extra] [clang-tidy][NFC] Document CERT rule coverage and aliases for some primary checks (PR #90965)

2024-05-03 Thread via cfe-commits
https://github.com/whisperity closed https://github.com/llvm/llvm-project/pull/90965 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Fix template name lookup for operator= (PR #90999)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian edited https://github.com/llvm/llvm-project/pull/90999 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Fix template name lookup for operator= (PR #90999)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
https://github.com/sdkrystian updated https://github.com/llvm/llvm-project/pull/90999 >From 0e013635fe6cf665cf8a928e0df2b0c451e60b89 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Fri, 3 May 2024 15:27:02 -0400 Subject: [PATCH 1/2] [Clang][Sema] Fix template name lookup for operator=

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Dan Liew via cfe-commits
@@ -6534,6 +6536,15 @@ def err_counted_by_attr_refer_to_union : Error< "'counted_by' argument cannot refer to a union member">; def note_flexible_array_counted_by_attr_field : Note< "field %0 declared here">; +def err_counted_by_attr_pointee_unknown_size : Error< + "'count

[clang] [Clang][Sema] Earlier type checking for builtin unary operators (PR #90500)

2024-05-03 Thread Krystian Stasiowski via cfe-commits
sdkrystian wrote: @shafik More tests added https://github.com/llvm/llvm-project/pull/90500 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Use constant rounding mode for floating literals (PR #90877)

2024-05-03 Thread Joshua Cranmer via cfe-commits
@@ -79,3 +79,16 @@ float V7 = []() -> float { 0x0.01p0F); }(); // CHECK: @V7 = {{.*}} float 1.00e+00 + +template struct L { + constexpr L() : value(V) {} + float value; +}; + +#pragma STDC FENV_ROUND FE_DOWNWARD jcranmer-intel wrote: The interactio

[clang] Revert "[OpenMP][TR12] change property of map-type modifier." (PR #90885)

2024-05-03 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > > BTW, Hi @vitalybuka, do you know how to reproduce the problem with > > sanitizer build? Thanks. > > There is a basic instruction, should work with Linux > https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild I guess > this issue should be detectable with

[clang] Reland "[OpenMP][TR12] change property of map-type modifier." (PR #90935)

2024-05-03 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > > 7c28408 > > good point, maybe not, I scheduled it as with, without rebase. Let's try > again. Still fails after rebase https://lab.llvm.org/buildbot/#/builders/5/builds/43115 https://github.com/llvm/llvm-project/pull/90935 ___

[clang] Propeller config for clang (PR #91002)

2024-05-03 Thread Sriraman Tallam via cfe-commits
https://github.com/tmsri created https://github.com/llvm/llvm-project/pull/91002 This patch adds a Propeller config to cmake to allow building a Propeller optimized clang. Building a propeller optimizing clang requires hardware LBR support and a built create_llvm_prof binary from: https://github

[clang] [clang][CodeGen] Propagate pragma set fast-math flags to floating point builtins (PR #90377)

2024-05-03 Thread Karl-Johan Karlsson via cfe-commits
@@ -0,0 +1,76 @@ +// RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %s | FileCheck %s + +// precise mode +// RUN: %clang_cc1 -triple x86_64-linux-gnu -fmath-errno -ffp-contract=on \ +// RUN: -fno-rounding-math -emit-llvm -o - %s | FileCheck \ +// RUN: --check-prefix=CHE

[clang] [clang][CodeGen] Propagate pragma set fast-math flags to floating point builtins (PR #90377)

2024-05-03 Thread Karl-Johan Karlsson via cfe-commits
https://github.com/karka228 updated https://github.com/llvm/llvm-project/pull/90377 >From 80836f51573c8ba474a0b5d5890a489d5f0c7034 Mon Sep 17 00:00:00 2001 From: Karl-Johan Karlsson Date: Sat, 27 Apr 2024 22:04:11 +0200 Subject: [PATCH 1/6] Pre-commit reproducer for fast-math flags on calls Ad

[clang] [clang] Set correct FPOptions if attribute 'optnone' presents (PR #85605)

2024-05-03 Thread via cfe-commits
wjristow wrote: Hi @spavloff. Given my post above was fairly long, I want to make a short, clarifying comment. There was a sense in the earlier discussion that there is a problem in that the spec of `optnone` is imprecise (and that's causing the behavior difference). A lack of precision of

[clang] [llvm] Mark test cases as unsupported on z/OS (PR #90990)

2024-05-03 Thread via cfe-commits
https://github.com/zibi2 approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/90990 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent

2024-05-03 Thread Erich Keane via cfe-commits
erichkeane wrote: > @erichkeane I think this is actually a bug in how I applied [[temp.dep.type] > p5](http://eel.is/c++draft/temp.dep.type#5): > > > A qualified name is dependent if > > > > * it is a _conversion-function-id_ whose _conversion-type-id_ is dependent, > > or > > * its lookup co

[clang] [Clang][Sema] Fix template name lookup for operator= (PR #90999)

2024-05-03 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. No need for release notes,as you said, this is a fix within this release. https://github.com/llvm/llvm-project/pull/90999 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.ll

[clang] Reland "[OpenMP][TR12] change property of map-type modifier." (PR #90935)

2024-05-03 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: ``` diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp index 53d89ce2fa3e..1a4442f38f6d 100644 --- a/clang/lib/Parse/ParseOpenMP.cpp +++ b/clang/lib/Parse/ParseOpenMP.cpp @@ -4326,6 +4326,7 @@ static OpenMPMapClauseKind isMapType(Parser &P) { OpenM

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Dan Liew via cfe-commits
@@ -631,6 +631,18 @@ bool Type::isStructureType() const { return false; } +bool Type::isStructureTypeWithFlexibleArrayMember() const { + const auto *RT = getAs(); + if (!RT) +return false; + const auto *Decl = RT->getDecl(); + if (!Decl->isStruct()) +return false

[clang] [clang-tools-extra] [clang] Don't preserve the typo expr in the recovery expr for invalid VarDecls (PR #90948)

2024-05-03 Thread Nathan Ridge via cfe-commits
https://github.com/HighCommander4 approved this pull request. Thanks for catching this! https://github.com/llvm/llvm-project/pull/90948 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Nathan Lanza via cfe-commits
https://github.com/lanza created https://github.com/llvm/llvm-project/pull/91007 Build out the necessary infrastructure for the main entry point into ClangIR generation -- CIRGenModule. A set of boilerplate classes exist to facilitate this -- CIRGenerator, CIRGenAction, EmitCIRAction and CIRGenCo

[clang] [llvm] [WebAssembly] Implement prototype f32.load_f16 instruction. (PR #90906)

2024-05-03 Thread Brendan Dahl via cfe-commits
@@ -321,6 +321,18 @@ def int_wasm_relaxed_dot_bf16x8_add_f32: [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v4f32_ty], [IntrNoMem, IntrSpeculatable]>; +//===--===// +// Ha

[clang] [llvm] [WebAssembly] Implement prototype f32.load_f16 instruction. (PR #90906)

2024-05-03 Thread Brendan Dahl via cfe-commits
@@ -38,6 +38,13 @@ multiclass RELAXED_I; } +multiclass HALF_PRECISION_I pattern_r, string asmstr_r = "", +string asmstr_s = "", bits<32> simdop = -1> { + defm "" : ABSTRACT_SIMD_I; +} + brendandahl wrote: This will be for my next P

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Nathan Lanza via cfe-commits
@@ -2900,7 +2900,7 @@ defm clangir : BoolFOption<"clangir", PosFlag, NegFlag LLVM pipeline to compile">, BothFlags<[], [ClangOption, CC1Option], "">>; -def emit_cir : Flag<["-"], "emit-cir">, Visibility<[CC1Option]>, +def emit_cir : Flag<["-"], "emit-cir">, Visibility<[C

[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)

2024-05-03 Thread Dan Liew via cfe-commits
https://github.com/delcypher updated https://github.com/llvm/llvm-project/pull/90786 >From 1f4d924768409d6bc61d160c6161e6acebf62b60 Mon Sep 17 00:00:00 2001 From: Dan Liew Date: Wed, 1 May 2024 13:56:52 -0700 Subject: [PATCH 1/3] [BoundsSafety] Allow 'counted_by' attribute on pointers in struc

[clang] Propeller config for clang (PR #91002)

2024-05-03 Thread Rahman Lavaee via cfe-commits
@@ -928,6 +928,186 @@ if (CLANG_BOLT AND NOT LLVM_BUILD_INSTRUMENTED) ) endif() +if (CLANG_PROPELLER_INSTRUMENT AND NOT LLVM_BUILD_INSTRUMENTED) + set(CLANG_PATH ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang) + set(CLANGXX_PATH ${CLANG_PATH}++) + set(PROPELLER_ARTIFACTS_DIR ${CMAKE

[clang] [clang][NFC] Remove class layout scissor (PR #89055)

2024-05-03 Thread Nathan Sidwell via cfe-commits
urnathan wrote: ping? https://github.com/llvm/llvm-project/pull/89055 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][CodeGen] Propagate pragma set fast-math flags to floating point builtins (PR #90377)

2024-05-03 Thread Zahira Ammarguellat via cfe-commits
https://github.com/zahiraam approved this pull request. LGTM. Thanks. https://github.com/llvm/llvm-project/pull/90377 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Reland "[OpenMP][TR12] change property of map-type modifier." (PR #90935)

2024-05-03 Thread via cfe-commits
jyu2-git wrote: > It fails with > > ``` > diff --git a/clang/lib/Parse/ParseOpenMP.cpp b/clang/lib/Parse/ParseOpenMP.cpp > index 53d89ce2fa3e..1a4442f38f6d 100644 > --- a/clang/lib/Parse/ParseOpenMP.cpp > +++ b/clang/lib/Parse/ParseOpenMP.cpp > @@ -4326,6 +4326,7 @@ static OpenMPMapClauseKind is

[clang] [webkit.RefCntblBaseVirtualDtor] Ignore WTF::RefCounted and its variants missing virtual destructor (PR #91009)

2024-05-03 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/91009 None >From 2b5782f9a7f6473174ccefa005268debb79aa744 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 3 May 2024 13:35:29 -0700 Subject: [PATCH] [webkit.RefCntblBaseVirtualDtor] Ignore WTF::RefCounted and its

[clang] [llvm] [WebAssembly] Implement prototype f32.load_f16 instruction. (PR #90906)

2024-05-03 Thread Brendan Dahl via cfe-commits
brendandahl wrote: > Overall this looks good, and I think it makes sense to model this as short* > for now. I think it will be interesting to see if that ends up causing > issues. Out of curiosity does this work if you try `_fp16`? I was trying _Float16 and that wasn't working since it require

[clang] nonblocking/nonallocating attributes (was: nolock/noalloc) (PR #84983)

2024-05-03 Thread Doug Wyatt via cfe-commits
dougsonos wrote: Hi Chris, Currently I had only envisioned that `nonblocking` would have the optional conditional expression parameter, so `blocking(false)` should generate an error. I had mistakenly thought that the parser would take care of this via the ways that the attributes are declared

[clang] nonblocking/nonallocating attributes (was: nolock/noalloc) (PR #84983)

2024-05-03 Thread Doug Wyatt via cfe-commits
@@ -8057,3 +8057,70 @@ requirement: } }]; } + +def DocCatNonBlockingNonAllocating : DocumentationCategory<"Performance Constraint Attributes"> { + let Content = [{ dougsonos wrote: Done in the next commit(s) I push https://github.com/llvm/llvm-project/p

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Erich Keane via cfe-commits
@@ -0,0 +1,61 @@ +//=== CIRGenAction.h - CIR Code Generation Frontend Action -*- C++ -*--===// +// +// 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: Apa

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Erich Keane via cfe-commits
@@ -0,0 +1,61 @@ +//===--- CIRGenModule.h - Per-Module state for CIR gen --*- C++ -*-===// +// +// 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: Apa

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Erich Keane via cfe-commits
@@ -53,8 +66,13 @@ CreateFrontendBaseAction(CompilerInstance &CI) { case DumpTokens: return std::make_unique(); case EmitAssembly: return std::make_unique(); case EmitBC: return std::make_unique(); +#if CLANG_ENABLE_CIR + case EmitCI

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Erich Keane via cfe-commits
@@ -0,0 +1,59 @@ +//===- CIRGenerator.h - CIR Generation from Clang AST -===// +// +// 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: Apa

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Erich Keane via cfe-commits
@@ -0,0 +1,61 @@ +//===--- CIRGenModule.h - Per-Module state for CIR gen --*- C++ -*-===// +// +// 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: Apa

<    1   2   3   4   >