[clang] [Attributes] Support Attributes being declared as supporting an experimental late parsing mode "extension" (PR #88596)

2024-04-29 Thread Dan Liew via cfe-commits

delcypher wrote:

@erichkeane Thanks for approving. I'll rebase, check this builds and then land 
this.

@AaronBallman When you're back please let me know if there's any follow up 
changes you want.

https://github.com/llvm/llvm-project/pull/88596
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [Attributes] Support Attributes being declared as supporting an experimental late parsing mode "extension" (PR #88596)

2024-04-29 Thread Dan Liew via cfe-commits
) {
-if (I.variety() != "GNU")
-  continue;
-OS << ".Case(\"" << I.name() << "\", " << LateParsed << ")\n";
-  }
+// FIXME: Handle non-GNU attributes
+for (const auto  : Spellings) {
+  if (I.variety() != "GNU")
+continue;
+  OS << ".Case(\"" << I.name() << "\", 1)\n";
 }
   }
+}
+
+static void emitClangAttrLateParsedList(RecordKeeper ,
+raw_ostream ) {
+  OS << "#if defined(CLANG_ATTR_LATE_PARSED_LIST)\n";
+  emitClangAttrLateParsedListImpl(Records, OS, LateAttrParseKind::Standard);
   OS << "#endif // CLANG_ATTR_LATE_PARSED_LIST\n\n";
 }
 
+static void emitClangAttrLateParsedExperimentalList(RecordKeeper ,
+raw_ostream ) {
+  OS << "#if defined(CLANG_ATTR_LATE_PARSED_EXPERIMENTAL_EXT_LIST)\n";
+  emitClangAttrLateParsedListImpl(Records, OS,
+  LateAttrParseKind::ExperimentalExt);
+  OS << "#endif // CLANG_ATTR_LATE_PARSED_EXPERIMENTAL_EXT_LIST\n\n";
+}
+
 static bool hasGNUorCXX11Spelling(const Record ) {
   std::vector Spellings = GetFlattenedSpellings(Attribute);
   for (const auto  : Spellings) {
@@ -2101,9 +2174,21 @@ bool PragmaClangAttributeSupport::isAttributedSupported(
 return SpecifiedResult;
 
   // Opt-out rules:
-  // An attribute requires delayed parsing (LateParsed is on)
-  if (Attribute.getValueAsBit("LateParsed"))
+
+  // An attribute requires delayed parsing (LateParsed is on).
+  switch (getLateAttrParseKind()) {
+  case LateAttrParseKind::Never:
+break;
+  case LateAttrParseKind::Standard:
+return false;
+  case LateAttrParseKind::ExperimentalExt:
+// This is only late parsed in certain parsing contexts when
+// `LangOpts.ExperimentalLateParseAttributes` is true. Information about 
the
+// parsing context and `LangOpts` is not available in this method so just
+// opt this attribute out.
 return false;
+  }
+
   // An attribute has no GNU/CXX11 spelling
   if (!hasGNUorCXX11Spelling(Attribute))
 return false;
@@ -2885,8 +2970,27 @@ static void emitAttributes(RecordKeeper , 
raw_ostream ,
 return;
   }
   OS << "\n  : " << SuperName << "(Ctx, CommonInfo, ";
-  OS << "attr::" << R.getName() << ", "
- << (R.getValueAsBit("LateParsed") ? "true" : "false");
+  OS << "attr::" << R.getName() << ", ";
+
+  // Handle different late parsing modes.
+  OS << "/*IsLateParsed=*/";
+  switch (getLateAttrParseKind()) {
+  case LateAttrParseKind::Never:
+OS << "false";
+break;
+  case LateAttrParseKind::ExperimentalExt:
+// Currently no clients need to know the distinction between `Standard`
+// and `ExperimentalExt` so treat `ExperimentalExt` just like
+// `Standard` for now.
+  case LateAttrParseKind::Standard:
+// Note: This is misleading. `IsLateParsed` doesn't mean the
+// attribute was actually late parsed. Instead it means the attribute 
in
+// `Attr.td` is marked as being late parsed. Maybe it should be called
+// `IsLateParseable`?
+OS << "true";
+break;
+  }
+
   if (Inheritable) {
 OS << ", "
<< (R.getValueAsBit("InheritEvenIfAlreadyPresent") ? "true"
@@ -4843,6 +4947,7 @@ void EmitClangAttrParserStringSwitches(RecordKeeper 
, raw_ostream ) {
   emitClangAttrAcceptsExprPack(Records, OS);
   emitClangAttrTypeArgList(Records, OS);
   emitClangAttrLateParsedList(Records, OS);
+  emitClangAttrLateParsedExperimentalList(Records, OS);
 }
 
 void EmitClangAttrSubjectMatchRulesParserStringSwitches(RecordKeeper ,

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [BoundsSafety] WIP: Make 'counted_by' work for pointer fields; late parsing for 'counted_by' on decl attr position (PR #87596)

2024-04-29 Thread Dan Liew via cfe-commits

https://github.com/delcypher updated 
https://github.com/llvm/llvm-project/pull/87596

>From b859cf056df24daa85f3fd305ef56f32e0f266ed Mon Sep 17 00:00:00 2001
From: Dan Liew 
Date: Fri, 12 Apr 2024 17:36:19 -0700
Subject: [PATCH 1/4] [Attributes] Support Attributes being declared as
 supporting an experimental late parsing mode "extension"

This patch changes the `LateParsed` field of `Attr` in `Attr.td` to be
an instantiation of the new `LateAttrParseKind` class. The instation can be one 
of the following:

* `LateAttrParsingNever` - Corresponds with the false value of `LateParsed` 
prior to this patch (the default for an attribute).
* `LateAttrParseStandard` - Corresponds with the true value of `LateParsed` 
prior to this patch.
* `LateAttrParseExperimentalExt` - A new mode described below.

`LateAttrParseExperimentalExt` is an experimental extension to
`LateAttrParseStandard`. Essentially this allows
`Parser::ParseGNUAttributes(...)` to distinguish between these cases:

1. Only `LateAttrParseExperimentalExt` attributes should be late parsed.
2. Both `LateAttrParseExperimentalExt` and `LateAttrParseStandard`
  attributes should be late parsed.

Callers (and indirect callers) of `Parser::ParseGNUAttributes(...)`
indicate the desired behavior by setting a flag in the
`LateParsedAttrList` object that is passed to the function.

In addition to the above, a new driver and frontend flag
(`-fexperimental-late-parse-attributes`) with a corresponding LangOpt
(`ExperimentalLateParseAttributes`) is added that changes how
`LateAttrParseExperimentalExt` attributes are parsed.

* When the flag is disabled (default), in cases where only
  `LateAttrParsingExperimentalOnly` late parsing is requested, the
  attribute will be parsed immediately (i.e. **NOT** late parsed). This
  allows the attribute to act just like a `LateAttrParseStandard`
  attribute when the flag is disabled.

* When the flag is enabled, in cases where only
  `LateAttrParsingExperimentalOnly` late parsing is requested, the
  attribute will be late parsed.

The motivation behind this change is to allow the new `counted_by`
attribute (part of `-fbounds-safety`) to support late parsing but
**only** when `-fexperimental-late-parse-attributes` is enabled. This
attribute needs to support late parsing to allow it to refer to fields
later in a struct definition (or function parameters declared later).
However, there isn't a precedent for supporting late attribute parsing
in C so this flag allows the new behavior to exist in Clang but not be
on by default. This behavior was requested as part of the
`-fbounds-safety` RFC process
(https://discourse.llvm.org/t/rfc-enforcing-bounds-safety-in-c-fbounds-safety/70854/68).

This patch doesn't introduce any uses of `LateAttrParseExperimentalExt`.
This will be added for the `counted_by` attribute in a future patch
(https://github.com/llvm/llvm-project/pull/87596). A consequence is the
new behavior added in this patch is not yet testable. Hence, the lack of
tests covering the new behavior.

rdar://125400257
---
 clang/include/clang/Basic/Attr.td |  78 +++---
 clang/include/clang/Basic/LangOptions.def |   1 +
 clang/include/clang/Driver/Options.td |   7 +
 clang/include/clang/Parse/Parser.h|  15 +-
 clang/lib/Driver/ToolChains/Clang.cpp |   3 +
 clang/lib/Parse/ParseDecl.cpp |  42 +-
 .../experimental-late-parse-attributes.c  |  12 ++
 clang/utils/TableGen/ClangAttrEmitter.cpp | 136 +++---
 8 files changed, 251 insertions(+), 43 deletions(-)
 create mode 100644 clang/test/Driver/experimental-late-parse-attributes.c

diff --git a/clang/include/clang/Basic/Attr.td 
b/clang/include/clang/Basic/Attr.td
index dc87a8c6f022dc..0df80118286c89 100644
--- a/clang/include/clang/Basic/Attr.td
+++ b/clang/include/clang/Basic/Attr.td
@@ -592,6 +592,48 @@ class AttrSubjectMatcherAggregateRule 
{
 
 def SubjectMatcherForNamed : AttrSubjectMatcherAggregateRule;
 
+// Late Attribute parsing mode enum
+class LateAttrParseKind  {
+  int Kind = val;
+}
+
+// Never late parsed
+def LateAttrParseNever : LateAttrParseKind<0>;
+
+// Standard late attribute parsing
+//
+// This is language dependent. For example:
+//
+// * For C++ enables late parsing of a declaration attributes
+// * For C does not enable late parsing of attributes
+//
+def LateAttrParseStandard: LateAttrParseKind<1>;
+
+// Experimental extension to standard late attribute parsing
+//
+// This extension behaves like `LateAttrParseStandard` but allows
+// late parsing attributes in more contexts.
+//
+// In contexts where `LateAttrParseStandard` attributes are late
+// parsed, `LateAttrParseExperimentalExt` attributes will also
+// be late parsed.
+//
+// In contexts that only late parse `LateAttrParseExperimentalExt` attributes
+// (see `LateParsedAttrList::lateAttrParseExperimentalExtOnly()`)
+//
+// * If `-fexperimental-late-parse-attributes`
+//   

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

2024-04-29 Thread Craig Topper via cfe-commits


@@ -654,6 +655,7 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine 
,
   setOperationAction(ISD::FSIN   , VT, Expand);
   setOperationAction(ISD::FCOS   , VT, Expand);
   setOperationAction(ISD::FSINCOS, VT, Expand);
+  setOperationAction(ISD::FTAN, VT, Expand);

topperc wrote:

I want to tell you to match the existing code that uses extra spaces to keep 
things in columns, but I guess clang-format will complain.

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] [Clang] Implement P2809: Trivial infinite loops are not Undefined Behavior (PR #90066)

2024-04-29 Thread via cfe-commits

yronglin wrote:

I'd like to add the test case from the paper:

```
#include 

int main() {
  while (true)
; 
}

void unreachable() {
  std::cout << "Hello world!" << std::endl;
}
```

https://github.com/llvm/llvm-project/pull/90066
_______
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] Implement resource binding type prefix mismatch errors (PR #87578)

2024-04-29 Thread Tex Riddell via cfe-commits


@@ -44,7 +44,7 @@ void foo2() {
   // expected-warning@+1 {{'register' attribute only applies to 
cbuffer/tbuffer and external global variables}}
   extern RWBuffer U2 : register(u5);
 }
-// FIXME: expect-error once fix 
https://github.com/llvm/llvm-project/issues/57886.
+// expected-error@+1 {{invalid register name prefix 'u' for 'float' (expected 
't')}}

tex3d wrote:

We should consider deprecating the register binding of this style: `float b : 
register(c0);`, since it's not supported by DXC, and was only supported by FXC 
for DX9 targets.  Register binding should only be applicable to global 
resource/sampler declarations and cbuffer/tbuffer declarations.  So the answer 
to "what prefix should that be" is: we don't support register bindings on 
values that go into the constant buffer, so there is no valid prefix to use 
here.  The closest equivalent to these legacy register bindings that we do 
support are `packoffset` annotations.

https://github.com/llvm/llvm-project/pull/87578
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


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

2024-04-29 Thread Farzon Lotfi via cfe-commits


@@ -674,6 +674,9 @@
 # DEBUG-NEXT: .. opcode {{[0-9]+}} is aliased to {{[0-9]+}}
 # DEBUG-NEXT: .. the first uncovered type index: 1, OK
 # DEBUG-NEXT: .. the first uncovered imm index: 0, OK
+# DEBUG-NEXT: G_FTAN (opcode {{[0-9]+}}): 1 type index, 0 imm indices

farzonl wrote:

I know. There is no way to do a `G_FTAN` that isn't exposed across all 
backends. 

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


[Qemu-commits] [qemu/qemu] 498432: target/i386/cpu: Remove "x86" prefix from the CPU ...

2024-04-29 Thread Richard Henderson via Qemu-commits
  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 49843214368eccbc46ad3946aae8cc81eaced98e
  
https://github.com/qemu/qemu/commit/49843214368eccbc46ad3946aae8cc81eaced98e
  Author: Thomas Huth 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M target/i386/cpu.c

  Log Message:
  ---
  target/i386/cpu: Remove "x86" prefix from the CPU list

Printing an "x86" in front of each CPU name is not helpful at all:
It is confusing for the users since they don't know whether they
have to specify these letters for the "-cpu" parameter, too, and
it also takes some precious space in the dense output of the CPU
entries. Let's simply remove this now and use two spaces at the
beginning of the lines for the indentation of the entries instead,
like most other target architectures are doing it for their CPU help
output already.

Signed-off-by: Thomas Huth 
Reviewed-by: Richard Henderson 
Reviewed-by: Michael Tokarev 
Signed-off-by: Michael Tokarev 


  Commit: 7febce361da200fa71e71e40316e4a6d2a5b40ab
  
https://github.com/qemu/qemu/commit/7febce361da200fa71e71e40316e4a6d2a5b40ab
  Author: Thomas Huth 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M target/s390x/cpu_models.c

  Log Message:
  ---
  target/s390x/cpu_models: Rework the output of "-cpu help"

Printing an "s390x" in front of each CPU name is not helpful at all:
It is confusing for the users since they don't know whether they
have to specify these letters for the "-cpu" parameter, too, and
it also takes some precious space in the dense output of the CPU
entries. Let's simply remove this now!

While we're at it, use two spaces at the beginning of the lines for
the indentation of the entries, and add a "Available CPUs" in the
very first line, like most other target architectures are doing it
for their "-cpu help" output already.

Signed-off-by: Thomas Huth 
Reviewed-by: Richard Henderson 
Reviewed-by: Michael Tokarev 
Signed-off-by: Michael Tokarev 


  Commit: 5b638f6e900efd1d5f5d0697af69a0e9eb2bfc72
  
https://github.com/qemu/qemu/commit/5b638f6e900efd1d5f5d0697af69a0e9eb2bfc72
  Author: Thomas Huth 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M target/ppc/cpu_init.c

  Log Message:
  ---
  target/ppc/cpu_init: Remove "PowerPC" prefix from the CPU list

Printing a "PowerPC" in front of each CPU name is not helpful at all:
It is confusing for the users since they don't know whether they
have to specify these letters for the "-cpu" parameter, too, and
it also takes some precious space in the dense output of the CPU
entries. Let's simply remove this now and use two spaces at the
beginning of the lines for the indentation of the entries instead,
and add a "Available CPUs" in the very first line, like most other
target architectures are doing it for their CPU help output already.

Signed-off-by: Thomas Huth 
Reviewed-by: Richard Henderson 
Reviewed-by: Michael Tokarev 
Signed-off-by: Michael Tokarev 


  Commit: e3812d109663b8fee28e9334bbc12f684355984e
  
https://github.com/qemu/qemu/commit/e3812d109663b8fee28e9334bbc12f684355984e
  Author: Philippe Mathieu-Daudé 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M scripts/checkpatch.pl

  Log Message:
  ---
  scripts/checkpatch: Avoid author email mangled by qemu-*@nongnu.org

Commit f5177798d8 ("scripts: report on author emails
that are mangled by the mailing list") added a check
for qemu-devel@ list, extend the regexp to cover more
such qemu-trivial@, qemu-block@ and qemu-ppc@.

Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Michael Tokarev 
Signed-off-by: Michael Tokarev 


  Commit: af692fd338154a20010c78a6bd9acb2c889dd4e7
  
https://github.com/qemu/qemu/commit/af692fd338154a20010c78a6bd9acb2c889dd4e7
  Author: Philippe Mathieu-Daudé 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M scripts/checkpatch.pl

  Log Message:
  ---
  scripts/checkpatch: Do not use mailmap

The .mailmap file fixes mistake we already did.
Do not use it when running checkpatch.pl, otherwise
we might commit the very same mistakes.

Reported-by: Peter Maydell 
Signed-off-by: Philippe Mathieu-Daudé 
Reviewed-by: Michael Tokarev 
Signed-off-by: Michael Tokarev 


  Commit: 06479dbf3d7d245572c4b3016e5a1d923ff04d66
  
https://github.com/qemu/qemu/commit/06479dbf3d7d245572c4b3016e5a1d923ff04d66
  Author: Li Zhijian 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M backends/cryptodev-builtin.c

  Log Message:
  ---
  backends/cryptodev-builtin: Fix local_error leaks

It seems that this error does not need to be propagated to the upper,
directly output the error to avoid the leaks

Closes: https://gitlab.com/qemu-project/qemu/-/issues/2283
Fixes: 2fda101de07 ("virtio-crypto: Support asynchronous mode")
Signed-off-by: Li Zhijian 
Reviewed-by: Philippe Mathieu-Daudé 
Reviewed-by: zhenwei pi 
Reviewed-by: Michael Tokarev 
Signed-off-by: Michael Tokarev 


  

[llvm-branch-commits] [flang] [flang][cuda] Lower device/managed/unified allocation to cuda ops (PR #90526)

2024-04-29 Thread Slava Zakharin via llvm-branch-commits

vzakhari wrote:

Thank you, Valentin!

Is it expected that we can have a mix of `fir.alloca` and `fir.cuda_alloc` 
operations in the device routines (e.g. I suppose 
`fir::FirOpBuilder::createTemporaryAlloc` can generate `fir.alloca` for a 
temporary location in device code)?  It is not necessarily an issue, I just 
want to understand whether we will have to handle both operations in the device 
code.

https://github.com/llvm/llvm-project/pull/90526
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [clang] [clang][CallGraphSection] Add type id metadata to indirect call and targets (PR #87573)

2024-04-29 Thread Paul Kirth via llvm-branch-commits


@@ -6003,6 +6003,11 @@ RValue CodeGenFunction::EmitCall(QualType CalleeType, 
const CGCallee 
 }
   }
 
+  // Set type identifier metadata of indirect calls for call graph section.
+  if (CGM.getCodeGenOpts().CallGraphSection && CallOrInvoke &&
+  CallOrInvoke->isIndirectCall())

ilovepi wrote:

Is `CallOrInvoke` in scope? it appears to be defined in the block above. If its 
shadowing, maybe we want to change that or make sure we don't want the shadowed 
value (e.g. the now out of scope def from line 5990.

https://github.com/llvm/llvm-project/pull/87573
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [clang] [clang][CallGraphSection] Add type id metadata to indirect call and targets (PR #87573)

2024-04-29 Thread Paul Kirth via llvm-branch-commits


@@ -5687,6 +5688,39 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo 
,
   AllocAlignAttrEmitter AllocAlignAttrEmitter(*this, TargetDecl, CallArgs);
   Attrs = AllocAlignAttrEmitter.TryEmitAsCallSiteAttribute(Attrs);
 
+  if (CGM.getCodeGenOpts().CallGraphSection) {
+// FIXME: create operand bundle only for indirect calls, not for all

ilovepi wrote:

Is this something you're planning to address in future patches? Or is this a 
limitation?

https://github.com/llvm/llvm-project/pull/87573
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [clang] [clang][CallGraphSection] Add type id metadata to indirect call and targets (PR #87573)

2024-04-29 Thread Paul Kirth via llvm-branch-commits

https://github.com/ilovepi requested changes to this pull request.

Can you split out the LLVM parts from the clang parts? The LLVM bits should 
land first, and then clang can make use of them in a later PR. This will also 
simplify review, since we can focus on the LLVM vs. Clang implementations in 
isolation.

https://github.com/llvm/llvm-project/pull/87573
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [clang] [clang][CallGraphSection] Add type id metadata to indirect call and targets (PR #87573)

2024-04-29 Thread Paul Kirth via llvm-branch-commits


@@ -5687,6 +5688,39 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo 
,
   AllocAlignAttrEmitter AllocAlignAttrEmitter(*this, TargetDecl, CallArgs);
   Attrs = AllocAlignAttrEmitter.TryEmitAsCallSiteAttribute(Attrs);
 
+  if (CGM.getCodeGenOpts().CallGraphSection) {
+// FIXME: create operand bundle only for indirect calls, not for all
+
+assert((TargetDecl && TargetDecl->getFunctionType() ||
+Callee.getAbstractInfo().getCalleeFunctionProtoType()) &&
+   "cannot find callsite type");
+
+QualType CST;
+if (TargetDecl && TargetDecl->getFunctionType())
+  CST = QualType(TargetDecl->getFunctionType(), 0);
+else if (const auto *FPT =
+ Callee.getAbstractInfo().getCalleeFunctionProtoType())
+  CST = QualType(FPT, 0);
+
+if (!CST.isNull()) {
+  auto *TypeIdMD = CGM.CreateMetadataIdentifierGeneralized(CST);
+  auto *TypeIdMDVal =
+  llvm::MetadataAsValue::get(getLLVMContext(), TypeIdMD);
+  BundleList.emplace_back("type", TypeIdMDVal);
+}
+
+// Set type identifier metadata of indirect calls for call graph section.
+if (callOrInvoke && *callOrInvoke && (*callOrInvoke)->isIndirectCall()) {
+  if (const FunctionDecl *FD = dyn_cast_or_null(TargetDecl)) 
{
+// Type id metadata is set only for C/C++ contexts.
+if (isa(FD) || isa(FD) ||
+isa(FD)) {

ilovepi wrote:

I know this is a one off set of checks, but maybe it would be easier to follow 
if it were a helper?

https://github.com/llvm/llvm-project/pull/87573
_______
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [clang] [clang][CallGraphSection] Add type id metadata to indirect call and targets (PR #87573)

2024-04-29 Thread Paul Kirth via llvm-branch-commits

https://github.com/ilovepi edited 
https://github.com/llvm/llvm-project/pull/87573
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[clang] [llvm] Implement resource binding type prefix mismatch errors (PR #87578)

2024-04-29 Thread Joshua Batista via cfe-commits


@@ -44,7 +44,7 @@ void foo2() {
   // expected-warning@+1 {{'register' attribute only applies to 
cbuffer/tbuffer and external global variables}}
   extern RWBuffer U2 : register(u5);
 }
-// FIXME: expect-error once fix 
https://github.com/llvm/llvm-project/issues/57886.
+// expected-error@+1 {{invalid register name prefix 'u' for 'float' (expected 
't')}}

bob80905 wrote:

According to @tex3d 's comment, the ` expected 'b', 'c', or 'i' binding` is no 
longer supported, so I don't think I should weave that into this 
implementation. I did ask what we should expect the prefix to be, but I haven't 
received an answer yet. Sounds to me like you think it should be 'b', because 
it's a constant inside a CBuffer?

https://github.com/llvm/llvm-project/pull/87578
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[llvm-branch-commits] [RISCV] Remove hasSideEffects=1 for saturating/fault-only-first instructions (PR #90049)

2024-04-29 Thread Craig Topper via llvm-branch-commits

https://github.com/topperc approved this pull request.

LGTM

https://github.com/llvm/llvm-project/pull/90049
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[clang] [Clang][objectsize] Generate object size calculation for sub-objects (PR #86858)

2024-04-29 Thread Bill Wendling via cfe-commits

bwendling wrote:

Another ping...

https://github.com/llvm/llvm-project/pull/86858
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[Qemu-commits] [qemu/qemu] 035551: net/slirp: Use newer slirp_*_hostxfwd API

2024-04-29 Thread Richard Henderson via Qemu-commits
  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 03555199b63aa1fbce24d16287e141c33f572a24
  
https://github.com/qemu/qemu/commit/03555199b63aa1fbce24d16287e141c33f572a24
  Author: Nicholas Ngai 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M net/slirp.c

  Log Message:
  ---
  net/slirp: Use newer slirp_*_hostxfwd API

libslirp provides a newer slirp_*_hostxfwd API meant for
address-agnostic forwarding instead of the is_udp parameter which is
limited to just TCP/UDP.

This paves the way for IPv6 and Unix socket support.

Signed-off-by: Nicholas Ngai 
Signed-off-by: Samuel Thibault 
Tested-by: Breno Leitao 
Message-Id: <20210925214820.18078-1-nicho...@ngai.me>


  Commit: 5fee33d97a7f2e95716417bd164f2f5264acd976
  
https://github.com/qemu/qemu/commit/5fee33d97a7f2e95716417bd164f2f5264acd976
  Author: Richard Henderson 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M net/slirp.c

  Log Message:
  ---
  Merge tag 'samuel-thibault' of https://people.debian.org/~sthibault/qemu into 
staging

slirp: Use newer slirp_*_hostxfwd API

Nicholas Ngai (1):
  net/slirp: Use newer slirp_*_hostxfwd API

# -BEGIN PGP SIGNATURE-
#
# iQIzBAABCgAdFiEEqpLrvfAUiqYaQ7iu5IlMrEVBS7AFAmYu5OgACgkQ5IlMrEVB
# S7DGOQ//cnW2fiXnj+ijmQ4+h8Yj2vCtGZ9+7D74Q6KSbY0AkYVhRm+qWJA1XJrR
# Y7JvetqKGCxhol24x0aopDvcybIDU/EqFrxhmZY+dJhZWxfsvYpLGJ5TfulRA1gy
# PSDYQi6LlwDJyQT08po2TLA0zSOmxycdrA8mTJuf8UHDiXnwcy9WjDFF1tCrGoN4
# LgvsUUpQ6y9fZQxbFyPFwtHkUeREvfhRPT0c5lNsF0Cot8uXt5YOyCc0XKjX1d0F
# ucuCwv65gsIdcaDHcHIYhyKZX3lfAXAAaDe9njvISYcyOlyXOZS9df3tuMTeEW8S
# wuN10WuQHI7mpLS/IomnmYxb16lyhhwLC9kmNVZt6jGfTYB/xHUeXb9gIsdkc05s
# Cxy+VdxgnzGji6dOwufI8/ufWSti1PRB1yhZsmJtLC7MDOv5EJkxrmRXhWkr6LYZ
# CU52uT7CsOTKdmmwdjTUqkfswB70Js68J33Rbm3VWJlnSBAQ/ioGt50r7tqFBwT8
# HQc4CqYBT58BPb7rKrUa6dCy1uAprYl2juU3vl/nHcp2zIxIar1yzQK3OG+3h6fZ
# Mrg/C5l4WiEKFgdl5sMj1xJK15aC42/UyzxUFM12usKaOtKjQAIkjx6U7HCjwfdR
# BZmxTx2u7jGm9a0R3qhVhZjmIIbfLoeEHepLMOAHN+TGAl0bcxc=
# =22cZ
# -END PGP SIGNATURE-
# gpg: Signature made Sun 28 Apr 2024 05:08:08 PM PDT
# gpg:using RSA key AA92EBBDF0148AA61A43B8AEE4894CAC45414BB0
# gpg: Good signature from "Samuel Thibault " 
[undefined]
# gpg: aka "Samuel Thibault " [undefined]
# gpg: aka "Samuel Thibault " [unknown]
# gpg: aka "Samuel Thibault " 
[undefined]
# gpg: aka "Samuel Thibault " 
[undefined]
# gpg: aka "Samuel Thibault " 
[unknown]
# gpg: aka "Samuel Thibault " 
[unknown]
# gpg: aka "Samuel Thibault " [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:  There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 900C B024 B679 31D4 0F82  304B D017 8C76 7D06 9EE6
#  Subkey fingerprint: AA92 EBBD F014 8AA6 1A43  B8AE E489 4CAC 4541 4BB0

* tag 'samuel-thibault' of https://people.debian.org/~sthibault/qemu:
  net/slirp: Use newer slirp_*_hostxfwd API

Signed-off-by: Richard Henderson 


Compare: https://github.com/qemu/qemu/compare/fd87be1dada5...5fee33d97a7f

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



[llvm-branch-commits] [RISCV] Remove hasSideEffects=1 for saturating/fault-only-first instructions (PR #90049)

2024-04-29 Thread Craig Topper via llvm-branch-commits


@@ -194,15 +194,12 @@ define void @vpmerge_vpload_store( 
%passthru, ptr %p, , i64 } @llvm.riscv.vleff.nxv2i32(, ptr, i64)
 define  @vpmerge_vleff( %passthru, ptr %p, 
 %m, i32 zeroext %vl) {
 ; CHECK-LABEL: vpmerge_vleff:
 ; CHECK:   # %bb.0:
-; CHECK-NEXT:vsetvli zero, a1, e32, m1, ta, ma
-; CHECK-NEXT:vle32ff.v v9, (a0)
-; CHECK-NEXT:vsetvli zero, a1, e32, m1, tu, ma
-; CHECK-NEXT:vmerge.vvm v8, v8, v9, v0
+; CHECK-NEXT:vsetvli zero, a1, e32, m1, tu, mu
+; CHECK-NEXT:vle32ff.v v8, (a0), v0.t

topperc wrote:

I'm trying to decide if this is correct. It's certainly a weird test case. You 
would normally want the vp.merge to use vl produced by vleff.

If the VL gets trimmed by the vleff, the elements between the input VL and the 
trimmed VL are undefined if the mask bit for those elements are non-zero. The 
spec allows hardware to write the active elements past the trimmed VL to any 
value.

I think we're ok here. If vleff trims any elements they would be undefined in 
`%b`. The vp.merge would propagate them if the mask bit is non-zero. If the 
mask is 0 the vp.merge would replace them with passthru. That seems to be what 
the combined vp.merge would do.

https://github.com/llvm/llvm-project/pull/90049
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [GSYM] Include end_sequence debug_line rows in Dwarf transform (PR #90535)

2024-04-29 Thread Andres Villegas via llvm-branch-commits

avillega wrote:

I think I can accomplish the same behaviour exposed in 
https://github.com/llvm/llvm-project/pull/89703 which requires a change to the 
DWARF apis without actually changing them. 


https://github.com/llvm/llvm-project/pull/90535
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [GSYM] Include end_sequence debug_line rows in Dwarf transform (PR #90535)

2024-04-29 Thread via llvm-branch-commits
  STT_FUNC
+Section: .text
+Value:   0x16B0
+Size:0x47
+  - Name:__do_init.__initialized
+Type:STT_OBJECT
+Section: .bss
+Value:   0x3A28
+Size:0x1
+  - Name:__EH_FRAME_LIST__
+Type:STT_OBJECT
+Section: .eh_frame
+Value:   0x5B0
+  - Name:__do_init.__object
+Type:STT_OBJECT
+Section: .bss
+Value:   0x3A30
+Size:0x40
+  - Name:__do_fini
+Type:STT_FUNC
+Section: .text
+Value:   0x1700
+Size:0x61
+  - Name:__do_fini.__finalized
+Type:STT_OBJECT
+Section: .bss
+Value:   0x3A70
+Size:0x1
+  - Name:__init
+Type:STT_OBJECT
+Section: .init_array
+Value:   0x2810
+Size:0x8
+  - Name:__fini
+Type:STT_OBJECT
+Section: .fini_array
+Value:   0x2818
+Size:0x8
+  - Name:__d...
[truncated]

``




https://github.com/llvm/llvm-project/pull/90535
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [GSYM] Include end_sequence debug_line rows in Dwarf transform (PR #90535)

2024-04-29 Thread Andres Villegas via llvm-branch-commits

https://github.com/avillega created 
https://github.com/llvm/llvm-project/pull/90535

Work around for #46494.
This change adds debug_line end_sequence rows when converting
the function line tables. By including the end_sequence
it is possible to handle some edge cases like icf optimizations.



___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[clang] [clang] Implement CWG2851: floating-point conversions in converted constant expressions (PR #90387)

2024-04-29 Thread Shafik Yaghmour via cfe-commits


@@ -67,6 +68,69 @@ void B::g() requires true;
 
 } // namespace cwg2847
 
+namespace cwg2851 { // cwg2851: 19
+
+#if __cplusplus >= 202002L
+template struct Val { static constexpr T value = v; };
+
+
+// Floating-point promotions
+
+static_assert(Val::value == 0.0L);
+static_assert(Val::value == 0.0L);
+static_assert(Val::value == 0.0);
+static_assert(Val::value == -0.0L);
+
+static_assert(!__is_same(Val, Val));
+static_assert(__is_same(Val, Val));
+
+static_assert(__is_same(Val, Val));
+
+static_assert(__is_same(Val, Val(__builtin_nanf(""))>));
+static_assert(__is_same(Val, Val(__builtin_nansf(""))>));
+static_assert(__is_same(Val, Val(__builtin_nanf("0x1"))>));
+static_assert(__is_same(Val, Val(__builtin_nansf("0x1"))>));
+
+
+// Floating-point conversions where the source value can be represented 
exactly in the destination type
+
+static_assert(Val::value == 0.0L);
+static_assert(__is_same(Val, Val));
+static_assert(__is_same(Val, Val));
+static_assert(!__is_same(Val, Val));
+static_assert(__is_same(Val, Val));
+static_assert(__is_same(Val, Val));
+
+static_assert(__is_same(Val, Val));
+Val _1;
+// since-cxx20-error-re@-1 {{non-type template argument evaluates to {{.+}} 
which cannot be exactly represented in type 'float'}}
+Val(__FLT_DENORM_MIN__) / 2.0L> _2;
+// since-cxx20-error-re@-1 {{non-type template argument evaluates to {{.+}} 
which cannot be exactly represented in type 'float'}}
+Val _3;
+// since-cxx20-error-re@-1 {{non-type template argument evaluates to {{.+}} 
which cannot be exactly represented in type 'float'}}
+
+static_assert(__is_same(Val, Val));
+
+static_assert(__is_same(Val, Val(__builtin_nanl(""))>));
+static_assert(__is_same(Val, Val(__builtin_nansl(""))>));
+#if __SIZEOF_LONG_DOUBLE__ > 8
+// since-cxx20-error@-2 {{non-type template argument evaluates to nan which 
cannot be exactly represented in type 'float'}}
+#endif
+// Payload is shifted right so these payloads will be preserved
+static_assert(__is_same(Val, Val(__builtin_nan("0xFF"))>));
+static_assert(__is_same(Val, Val(__builtin_nans("0xFF"))>));
+static_assert(__is_same(Val, Val(__builtin_nanl("0x1"))>));

shafik wrote:

Why does `nanl` fail but `nans` does not? I am not sure this is consistent with 
[CWG2864](https://cplusplus.github.io/CWG/issues/2864.html), which is not final 
yet either.

https://github.com/llvm/llvm-project/pull/90387
_______
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] 1cb3371 - Ensure test writes objects to test temp dir

2024-04-29 Thread David Blaikie via cfe-commits

Author: David Blaikie
Date: 2024-04-29T23:50:18Z
New Revision: 1cb33713910501c6352d0eb2a15b7a15e6e18695

URL: 
https://github.com/llvm/llvm-project/commit/1cb33713910501c6352d0eb2a15b7a15e6e18695
DIFF: 
https://github.com/llvm/llvm-project/commit/1cb33713910501c6352d0eb2a15b7a15e6e18695.diff

LOG: Ensure test writes objects to test temp dir

Added: 


Modified: 
clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp

Removed: 




diff  --git a/clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp 
b/clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
index 293aef6781677f..790899486ec9d1 100644
--- a/clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
+++ b/clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
@@ -2,10 +2,10 @@
 // This test is adapted from coro-elide.cpp and splits functions into two 
files.
 //
 // RUN: split-file %s %t
-// RUN: %clang --target=x86_64-linux -std=c++20 -O2 -flto=thin -I %S -c 
%t/coro-elide-callee.cpp -o coro-elide-callee.o
-// RUN: %clang --target=x86_64-linux -std=c++20 -O2 -flto=thin -I %S -c 
%t/coro-elide-caller.cpp -o coro-elide-caller.o
-// RUN: llvm-lto -thinlto coro-elide-callee.o coro-elide-caller.o -o summary
-// RUN: %clang_cc1 -O2 -x ir coro-elide-caller.o 
-fthinlto-index=summary.thinlto.bc -emit-llvm -o - | FileCheck %s
+// RUN: %clang --target=x86_64-linux -std=c++20 -O2 -flto=thin -I %S -c 
%t/coro-elide-callee.cpp -o %t/coro-elide-callee.o
+// RUN: %clang --target=x86_64-linux -std=c++20 -O2 -flto=thin -I %S -c 
%t/coro-elide-caller.cpp -o %t/coro-elide-caller.o
+// RUN: llvm-lto -thinlto %t/coro-elide-callee.o %t/coro-elide-caller.o -o 
summary
+// RUN: %clang_cc1 -O2 -x ir %t/coro-elide-caller.o 
-fthinlto-index=summary.thinlto.bc -emit-llvm -o - | FileCheck %s
 
 //--- coro-elide-task.h
 #pragma once



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[Lldb-commits] [lldb] [lldb] Be conversative about setting highmem address masks (PR #90533)

2024-04-29 Thread via lldb-commits
 } else if (addr_range == eAddressMaskRangeHigh) {
 process_sp->SetHighmemCodeAddressMask(mask);
 process_sp->SetHighmemDataAddressMask(mask);
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index 30c240b064b59c..a75d7b12520742 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -6473,9 +6473,21 @@ void Process::SetAddressableBitMasks(AddressableBits 
bit_masks) {
   }
 
   if (high_memory_addr_bits != 0) {
-addr_t high_addr_mask =
-AddressableBits::AddressableBitToMask(high_memory_addr_bits);
-SetHighmemCodeAddressMask(high_addr_mask);
-SetHighmemDataAddressMask(high_addr_mask);
+// If the same high and low mem address bits were specified,
+// and we don't have a highmem setting for code and data currently,
+// don't set the highmem masks.
+// When we have separate high- and low- masks, the user
+// setting `virtual-addressable-bits` only overrides the low
+// memory masks, which most users would be surprised by.
+// Leave the high memory masks unset, to make it clear that only the
+// low memory masks are active.
+if (high_memory_addr_bits != low_memory_addr_bits ||
+m_highmem_code_address_mask != LLDB_INVALID_ADDRESS_MASK ||
+m_highmem_data_address_mask != LLDB_INVALID_ADDRESS_MASK) {
+  addr_t high_addr_mask =
+  AddressableBits::AddressableBitToMask(high_memory_addr_bits);
+  SetHighmemCodeAddressMask(high_addr_mask);
+  SetHighmemDataAddressMask(high_addr_mask);
+}
   }
 }
diff --git a/lldb/test/API/python_api/process/address-masks/TestAddressMasks.py 
b/lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
index 152776efc726f2..7908a46c0fb38c 100644
--- a/lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
+++ b/lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
@@ -19,7 +19,7 @@ def reset_all_masks(self, process):
 self.runCmd("settings set target.process.virtual-addressable-bits 0")
 self.runCmd("settings set 
target.process.highmem-virtual-addressable-bits 0")
 
-@skipIf(archs=["arm"])  # 32-bit arm ABI hardcodes Code mask, is 32-bit
+@skipIf(archs=["arm$"])  # 32-bit arm ABI hardcodes Code mask, is 32-bit
 def test_address_masks(self):
 self.build()
 (target, process, t, bp) = lldbutil.run_to_source_breakpoint(
@@ -80,7 +80,6 @@ def test_address_masks(self):
 # AArch64 can have different address masks for high and low memory, when 
different
 # page tables are set up.
 @skipIf(archs=no_match(["arm64", "arm64e", "aarch64"]))
-@skipIf(archs=["arm"])  # 32-bit arm ABI hardcodes Code mask, is 32-bit
 def test_address_masks_target_supports_highmem_tests(self):
 self.build()
 (target, process, t, bp) = lldbutil.run_to_source_breakpoint(
@@ -113,7 +112,7 @@ def test_address_masks_target_supports_highmem_tests(self):
 # On most targets where we have a single mask for all address range, 
confirm
 # that the high memory masks are ignored.
 @skipIf(archs=["arm64", "arm64e", "aarch64"])
-@skipIf(archs=["arm"])  # 32-bit arm ABI hardcodes Code mask, is 32-bit
+@skipIf(archs=["arm$"])  # 32-bit arm ABI hardcodes Code mask, is 32-bit
 def test_address_masks_target_no_highmem(self):
 self.build()
 (target, process, t, bp) = lldbutil.run_to_source_breakpoint(
@@ -132,3 +131,19 @@ def test_address_masks_target_no_highmem(self):
 self.runCmd("settings set 
target.process.highmem-virtual-addressable-bits 42")
 self.assertEqual(0x7694, 
process.FixAddress(0x00265E950001F694))
 self.assertEqual(0xF694, 
process.FixAddress(0xFFA65E95F694))
+
+# On most targets where we have a single mask for all address range, 
confirm
+# that the high memory masks are ignored.
+@skipIf(archs=no_match(["arm64", "arm64e", "aarch64"]))
+def test_address_unset_highmem_masks_stay_unset(self):
+self.build()
+(target, process, t, bp) = lldbutil.run_to_source_breakpoint(
+self, "break here", lldb.SBFileSpec("main.c")
+)
+self.reset_all_masks(process)
+
+process.SetAddressableBits(
+lldb.eAddressMaskTypeAll, 64, lldb.eAddressMaskRangeLow
+)
+self.runCmd("settings set target.process.virtual-addressable-bits 47")
+self.assertEqual(0xFE0044580BC4, 
process.FixAddress(0xFFE8FE0044580BC4))

``




https://github.com/llvm/llvm-project/pull/90533
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb] Be conversative about setting highmem address masks (PR #90533)

2024-04-29 Thread Jason Molenda via lldb-commits
t
 def test_address_masks_target_supports_highmem_tests(self):
 self.build()
 (target, process, t, bp) = lldbutil.run_to_source_breakpoint(
@@ -113,7 +112,7 @@ def test_address_masks_target_supports_highmem_tests(self):
 # On most targets where we have a single mask for all address range, 
confirm
 # that the high memory masks are ignored.
 @skipIf(archs=["arm64", "arm64e", "aarch64"])
-@skipIf(archs=["arm"])  # 32-bit arm ABI hardcodes Code mask, is 32-bit
+@skipIf(archs=["arm$"])  # 32-bit arm ABI hardcodes Code mask, is 32-bit
 def test_address_masks_target_no_highmem(self):
 self.build()
 (target, process, t, bp) = lldbutil.run_to_source_breakpoint(
@@ -132,3 +131,19 @@ def test_address_masks_target_no_highmem(self):
 self.runCmd("settings set 
target.process.highmem-virtual-addressable-bits 42")
 self.assertEqual(0x7694, 
process.FixAddress(0x00265E950001F694))
 self.assertEqual(0xF694, 
process.FixAddress(0xFFA65E95F694))
+
+# On most targets where we have a single mask for all address range, 
confirm
+# that the high memory masks are ignored.
+@skipIf(archs=no_match(["arm64", "arm64e", "aarch64"]))
+def test_address_unset_highmem_masks_stay_unset(self):
+self.build()
+(target, process, t, bp) = lldbutil.run_to_source_breakpoint(
+self, "break here", lldb.SBFileSpec("main.c")
+)
+self.reset_all_masks(process)
+
+process.SetAddressableBits(
+    lldb.eAddressMaskTypeAll, 64, lldb.eAddressMaskRangeLow
+)
+self.runCmd("settings set target.process.virtual-addressable-bits 47")
+self.assertEqual(0xFE0044580BC4, 
process.FixAddress(0xFFE8FE0044580BC4))

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[clang] [llvm] [WIP] Expand variadic functions in IR (PR #89007)

2024-04-29 Thread Johannes Doerfert via cfe-commits
gets presently have the same.
+struct VAListInterface {
+  virtual ~VAListInterface() {}
+
+  // Whether a valist instance is passed by value or by address
+  // I.e. does it need to be alloca'ed and stored into, or can
+  // it be passed directly in a SSA register
+  virtual bool passedInSSARegister() = 0;
+
+  // The type of a va_list iterator object
+  virtual Type *vaListType(LLVMContext ) = 0;
+
+  // The type of a va_list as a function argument as lowered by C

jdoerfert wrote:

C?

https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [WIP] Expand variadic functions in IR (PR #89007)

2024-04-29 Thread Johannes Doerfert via cfe-commits
gets presently have the same.
+struct VAListInterface {
+  virtual ~VAListInterface() {}
+
+  // Whether a valist instance is passed by value or by address
+  // I.e. does it need to be alloca'ed and stored into, or can
+  // it be passed directly in a SSA register

jdoerfert wrote:

Comments should be sentences (with full stop), here and elsewhere.

https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [WIP] Expand variadic functions in IR (PR #89007)

2024-04-29 Thread Johannes Doerfert via cfe-commits
+// If we don't know the triple, we can't lower varargs
+return false;
+  }
+
+  ABI = VariadicABIInfo::create(Triple);
+  if (!ABI) {
+if (Mode == ExpandVariadicsMode::Lowering) {
+  report_fatal_error(
+  "Requested variadic lowering is unimplemented on this target");
+}
+return Changed;
+  }
+
+  const DataLayout  = M.getDataLayout();
+  auto  = M.getContext();
+  IRBuilder<> Builder(Ctx);
+
+  // At pass input, va_start intrinsics only occur in variadic functions, as
+  // checked by the IR verifier.
+
+  // The lowering pass needs to run on all variadic functions.
+  // The optimise could run on only those that call va_start
+  // in exchange for additional book keeping to avoid transforming
+  // the same function multiple times when it contains multiple va_start.
+  // Leaving that compile time optimisation for a later patch.
+  for (Function  : llvm::make_early_inc_range(M))
+Changed |= runOnFunction(M, Builder, );
+
+  // After runOnFunction, all known calls to known variadic functions have been
+  // replaced. va_start intrinsics are presently (and invalidly!) only present
+  // in functions thart used to be variadic and have now been mutated to take a
+  // va_list instead. If lowering as opposed to optimising, calls to unknown
+  // variadic functions have also been replaced.
+
+  // Warning: Intrinsics acting on other ones are missed
+  auto CandidateAddressSpaces = supportedAddressSpaces(DL);
+
+  for (unsigned Addrspace : CandidateAddressSpaces) {
+PointerType *ArgType = PointerType::get(Ctx, Addrspace);
+Changed |= expandIntrinsicUsers(M, 
Builder,
+ ArgType);
+Changed |=
+expandIntrinsicUsers(M, Builder, ArgType);
+Changed |= expandIntrinsicUsers(M, Builder,
+   ArgType);
+  }
+
+  // Variadic intrinsics are now gone. The va_start have been replaced with the
+  // equivalent of a va_copy from the newly appended va_list argument, va_end
+  // and va_copy are removed. All that remains is for the lowering pass to find
+  // indirect calls and rewrite those as well.
+
+  if (Mode == ExpandVariadicsMode::Lowering) {
+for (Function  : llvm::make_early_inc_range(M)) {
+  if (F.isDeclaration())
+continue;
+
+  // Now need to track down indirect calls. Can't find those
+  // by walking uses of variadic functions, need to crawl the instruction
+  // stream. Fortunately this is only necessary for the ABI rewrite case.
+  for (BasicBlock  : F) {
+for (Instruction  : llvm::make_early_inc_range(BB)) {
+  if (CallBase *CB = dyn_cast()) {
+if (CB->isIndirectCall()) {
+  FunctionType *FTy = CB->getFunctionType();
+  if (FTy->isVarArg()) {
+Changed |= expandCall(M, Builder, CB, FTy, 0);
+  }
+}
+  }
+}
+  }
+}
+  }
+
+  return Changed;
+}
+
+bool ExpandVariadics::runOnFunction(Module , IRBuilder<> ,
+Function *F) {
+  bool Changed = false;
+
+  // This check might be too coarse - there are probably cases where
+  // splitting a function is bad but it's usable without splitting
+  if (!expansionApplicableToFunction(M, F))
+return false;
+
+  // TODO: Leave "thunk" attribute functions alone?
+
+  // Need more tests than this. Weak etc. Some are in expansionApplicable.
+  if (F->isDeclaration() && !rewriteABI()) {
+return false;
+  }
+
+  // TODO: Is the lazy construction here still useful?
+  Function *Equivalent = deriveInlinableVariadicFunctionPair(M, Builder, *F);
+
+  for (User *U : llvm::make_early_inc_range(F->users())) {
+// TODO: A test where the call instruction takes a variadic function as
+// a parameter other than the one it is calling
+if (CallBase *CB = dyn_cast(U)) {
+  Value *calledOperand = CB->getCalledOperand();
+  if (F == calledOperand) {
+Changed |= expandCall(M, Builder, CB, F->getFunctionType(), 
Equivalent);
+  }
+}
+  }
+
+  if (rewriteABI()) {
+// No direct calls remain to F, remaining uses are things like address
+// escaping, modulo errors in this implementation.
+for (User *U : llvm::make_early_inc_range(F->users()))
+  if (CallBase *CB = dyn_cast(U)) {
+Value *calledOperand = CB->getCalledOperand();
+if (F == calledOperand) {
+  report_fatal_error(
+  "ExpandVA abi requires eliminating call uses first");
+}

jdoerfert wrote:

Is this a glorified assert? 

Style: check variable names here and elsewhere, lots of lower case first 
letters.

https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [WIP] Expand variadic functions in IR (PR #89007)

2024-04-29 Thread Johannes Doerfert via cfe-commits


@@ -0,0 +1,1026 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apache-2.0 WITH LLVM-exception
+//
+//===--===//
+//
+// This is an optimization pass for variadic functions. If called from codegen,
+// it can serve as the implementation of variadic functions for a given target.
+//
+// The strategy is to turn the ... part of a varidic function into a va_list
+// and fix up the call sites. This is completely effective if the calling
+// convention can declare that to be the right thing, e.g. on GPUs or where
+// the application is wholly statically linked. In the usual case, it will
+// replace known calls to known variadic functions with calls that are amenable
+// to inlining and other optimisations.
+//
+// The target-dependent parts are in class VariadicABIInfo. Enabling a new
+// target means adding a case to VariadicABIInfo::create() along with tests.
+// This will be especially simple if the va_list representation is a char*.
+//
+// The majority of the plumbing is splitting the variadic function into a
+// single basic block that packs the variadic arguments into a va_list and
+// a second function that does the work of the original. The target specific
+// part is packing arguments into a contiguous buffer that the clang expansion
+// of va_arg will do the right thing with.
+//
+// The aggregate effect is to unblock other transforms, most critically the
+// general purpose inliner. Known calls to variadic functions become zero cost.
+//
+// Consistency with clang is primarily tested by emitting va_arg using clang
+// then expanding the variadic functions using this pass, followed by trying
+// to constant fold the functions to no-ops.
+//
+// Target specific behaviour is tested in IR - mainly checking that values are
+// put into positions in call frames that make sense for that particular 
target.
+//
+//===--===//
+
+#include "llvm/Transforms/IPO/ExpandVariadics.h"
+#include "llvm/ADT/SmallSet.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/CodeGen/Passes.h"
+#include "llvm/IR/Constants.h"
+#include "llvm/IR/IRBuilder.h"
+#include "llvm/IR/IntrinsicInst.h"
+#include "llvm/IR/Module.h"
+#include "llvm/IR/PassManager.h"
+#include "llvm/InitializePasses.h"
+#include "llvm/Pass.h"
+#include "llvm/Passes/OptimizationLevel.h"
+#include "llvm/Support/CommandLine.h"
+#include "llvm/TargetParser/Triple.h"
+
+#define DEBUG_TYPE "expand-variadics"
+
+using namespace llvm;
+
+cl::opt ExpandVariadicsModeOption(
+DEBUG_TYPE "-override", cl::desc("Override the behaviour of " DEBUG_TYPE),
+cl::init(ExpandVariadicsMode::Unspecified),
+cl::values(clEnumValN(ExpandVariadicsMode::Unspecified, "unspecified",
+  "Use the implementation defaults"),
+   clEnumValN(ExpandVariadicsMode::Disable, "disable",
+  "Disable the pass entirely"),
+   clEnumValN(ExpandVariadicsMode::Optimize, "optimize",
+  "Optimise without changing ABI"),
+   clEnumValN(ExpandVariadicsMode::Lowering, "lowering",
+  "Change variadic calling convention")));
+
+namespace {
+
+// At present Intrinsic:: has no interface to test if a declaration is in the
+// module without creating one. Inserting a declaration and then testing if it
+// has any uses and then deleting it seems a bad way to do the query.
+// Module implements getFunction() which returns nullptr on missing declaration
+// and getOrInsertFunction which creates one when absent. Intrinsics.h
+// implements getDeclaration which creates one when missing. This should be
+// changed to be consistent with Module()'s naming. Implementing as a local
+// function here in the meantime to decouple from that process.
+Function *getPreexistingDeclaration(Module *M, Intrinsic::ID id,
----
jdoerfert wrote:

```suggestion
Function *getPreexistingDeclaration(Module *M, Intrinsic::ID Id,
```

https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [WIP] Expand variadic functions in IR (PR #89007)

2024-04-29 Thread Johannes Doerfert via cfe-commits
gets presently have the same.
+struct VAListInterface {
+  virtual ~VAListInterface() {}
+
+  // Whether a valist instance is passed by value or by address
+  // I.e. does it need to be alloca'ed and stored into, or can
+  // it be passed directly in a SSA register
+  virtual bool passedInSSARegister() = 0;
+
+  // The type of a va_list iterator object
+  virtual Type *vaListType(LLVMContext ) = 0;
+
+  // The type of a va_list as a function argument as lowered by C
+  virtual Type *vaListParameterType(Module ) = 0;
+
+  // Initialise an allocated va_list object to point to an already
+  // initialised contiguous memory region.
+  // Return the value to pass as the va_list argument
+  virtual Value *initializeVAList(LLVMContext , IRBuilder<> ,
+      AllocaInst *, Value * /*buffer*/) = 0;

jdoerfert wrote:

No need for the comment. Name all arguments.

https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [WIP] Expand variadic functions in IR (PR #89007)

2024-04-29 Thread Johannes Doerfert via cfe-commits
gets presently have the same.
+struct VAListInterface {
+  virtual ~VAListInterface() {}
+
+  // Whether a valist instance is passed by value or by address
+  // I.e. does it need to be alloca'ed and stored into, or can
+  // it be passed directly in a SSA register
+  virtual bool passedInSSARegister() = 0;
+
+  // The type of a va_list iterator object
+  virtual Type *vaListType(LLVMContext ) = 0;
+
+  // The type of a va_list as a function argument as lowered by C
+  virtual Type *vaListParameterType(Module ) = 0;
+
+  // Initialise an allocated va_list object to point to an already
+  // initialised contiguous memory region.
+  // Return the value to pass as the va_list argument
+  virtual Value *initializeVAList(LLVMContext , IRBuilder<> ,
+  AllocaInst *, Value * /*buffer*/) = 0;
+
+  // Simple lowering suffices for va_end, va_copy for current targets
+  bool vaEndIsNop() { return true; }
+  bool vaCopyIsMemcpy() { return true; }
+};
+
+// The majority case - a void* of an alloca
+struct VoidPtr final : public VAListInterface {
+  bool passedInSSARegister() override { return true; }
+
+  Type *vaListType(LLVMContext ) override {
+return PointerType::getUnqual(Ctx);
+  }
+
+  Type *vaListParameterType(Module ) override {
+const DataLayout  = M.getDataLayout();
+return DL.getAllocaPtrType(M.getContext());
+  }
+
+  Value *initializeVAList(LLVMContext , IRBuilder<> ,
+      AllocaInst * /*va_list*/, Value *buffer) override {
----
jdoerfert wrote:

Again style. Names, and capitalization.

https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [WIP] Expand variadic functions in IR (PR #89007)

2024-04-29 Thread Johannes Doerfert via cfe-commits

https://github.com/jdoerfert commented:

I just read over this and left some comments.


https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [WIP] Expand variadic functions in IR (PR #89007)

2024-04-29 Thread Johannes Doerfert via cfe-commits

https://github.com/jdoerfert edited 
https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[Lldb-commits] [lldb] Summarize std::string's when created from data. (PR #89110)

2024-04-29 Thread Jacob Lalonde via lldb-commits


@@ -254,13 +254,17 @@ bool 
lldb_private::formatters::LibStdcppStringSummaryProvider(
   } else
 addr_of_string =
 valobj.GetAddressOf(scalar_is_load_addr, _type);
-  if (addr_of_string != LLDB_INVALID_ADDRESS) {
+
+  // We have to check for host address here
+  // because GetAddressOf returns INVALID for all non load addresses.
+  // But we can still format strings in host memory.
+  if (addr_of_string != LLDB_INVALID_ADDRESS ||
+addr_type == eAddressTypeHost) {

Jlalond wrote:

That I don't know. ValueObject does [explicitly 
return](https://github.com/llvm/llvm-project/blob/main/lldb/source/Core/ValueObject.cpp#L1408C12-L1408C32)
 `LLDB_INVALID_ADDRESS` when `addressType == eAddressTypeHost`. I thought this 
was weird and potentially returning the address of the in memory buffer made 
more sense, but that seemed like a major refactor for a minor string issue

https://github.com/llvm/llvm-project/pull/89110
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[llvm-branch-commits] [BOLT][NFCI] Use heuristic for matching split global functions (PR #90429)

2024-04-29 Thread Amir Ayupov via llvm-branch-commits

https://github.com/aaupov edited https://github.com/llvm/llvm-project/pull/90429
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[Lldb-commits] [lldb] Summarize std::string's when created from data. (PR #89110)

2024-04-29 Thread Jacob Lalonde via lldb-commits


@@ -287,8 +291,52 @@ bool 
lldb_private::formatters::LibStdcppStringSummaryProvider(
   } else
 return true;
 } break;
-case eAddressTypeHost:
-  break;
+case eAddressTypeHost: {
+
+  DataExtractor data;
+  Status error;
+  valobj.GetData(data, error);
+  if (error.Fail())
+return false;
+

Jlalond wrote:

Wouldn't short string optimization be covered by the check at the address type 
of children (Line 303)? If the children are host we directly read the 
std::string from the data extractor

https://github.com/llvm/llvm-project/pull/89110
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[clang] [SemaCXX] Implement CWG2351 `void{}` (PR #78060)

2024-04-29 Thread Richard Smith via cfe-commits

zygoloid wrote:

> Note that the AST for the expression `T{}` looks like:
> 
> ```
> // using T = int;
> CXXFunctionalCastExpr 'T':'int' functional cast to T 
> `-InitListExpr 'T':'int'
> // using T = const int;
> CXXFunctionalCastExpr 'int' functional cast to T 
> `-InitListExpr 'int'
> // using T = void;
> CXXFunctionalCastExpr 'void' functional cast to T 
> `-InitListExpr 'void'
> // using T = const void;
> CXXFunctionalCastExpr 'void' functional cast to T 
> `-InitListExpr 'void'
> ```
> 
> (Since the `InitListExpr` already has `void` before anything is done, the 
> type doesn't need to be adjusted)

Nonetheless, I think it'd be more reasonable to use `CK_ToVoid` here rather 
than `CK_NoOp`. The `void` type for the `InitListExpr` is just a placeholder 
and not meant to mean that it's a real expression of type `void`. (We really 
ought to use a better placeholder there, so we can print the type out as 
`` instead of as `void` in diagnostics.)

https://github.com/llvm/llvm-project/pull/78060
_______
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[llvm-branch-commits] [BOLT][NFCI] Use heuristic for matching split global functions (PR #90429)

2024-04-29 Thread Amir Ayupov via llvm-branch-commits

https://github.com/aaupov edited https://github.com/llvm/llvm-project/pull/90429
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [BOLT][NFCI] Use heuristic for matching split global functions (PR #90429)

2024-04-29 Thread Amir Ayupov via llvm-branch-commits

https://github.com/aaupov updated 
https://github.com/llvm/llvm-project/pull/90429


___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [BOLT][NFCI] Use heuristic for matching split global functions (PR #90429)

2024-04-29 Thread Amir Ayupov via llvm-branch-commits

https://github.com/aaupov updated 
https://github.com/llvm/llvm-project/pull/90429


___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[jenkinsci/stapler] a5901b: Bump org.kohsuke.stapler:json-lib from 2.4-jenkins...

2024-04-29 Thread 'dependabot[bot]' via Jenkins Commits
  Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/stapler
  Commit: a5901b5b5bfa1f03bae03f25738a3420e907d799
  
https://github.com/jenkinsci/stapler/commit/a5901b5b5bfa1f03bae03f25738a3420e907d799
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M core/pom.xml

  Log Message:
  ---
  Bump org.kohsuke.stapler:json-lib from 2.4-jenkins-5 to 2.4-jenkins-7 (#534)



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/stapler/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/stapler/push/refs/heads/master/9ce4a9-a5901b%40github.com.


[pmd-commits] [pmd/pmd-github-action] 8ccede: Bump eslint-plugin-jest from 27.9.0 to 28.3.0

2024-04-29 Thread dependabot[bot] via Pmd-commits
  Branch: refs/heads/dependabot/npm_and_yarn/eslint-plugin-jest-28.3.0
  Home:   https://github.com/pmd/pmd-github-action
  Commit: 8ccede1257072a0338a27de4a27491b0dba4d1ec
  
https://github.com/pmd/pmd-github-action/commit/8ccede1257072a0338a27de4a27491b0dba4d1ec
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M package-lock.json
M package.json

  Log Message:
  ---
  Bump eslint-plugin-jest from 27.9.0 to 28.3.0

Bumps 
[eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 
27.9.0 to 28.3.0.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- 
[Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md)
- 
[Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v27.9.0...v28.3.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] 



To unsubscribe from these emails, change your notification settings at 
https://github.com/pmd/pmd-github-action/settings/notifications


___
Pmd-commits mailing list
Pmd-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmd-commits


[pmd-commits] [pmd/pmd-github-action]

2024-04-29 Thread dependabot[bot] via Pmd-commits
  Branch: refs/heads/dependabot/npm_and_yarn/eslint-plugin-jest-28.2.0
  Home:   https://github.com/pmd/pmd-github-action

To unsubscribe from these emails, change your notification settings at 
https://github.com/pmd/pmd-github-action/settings/notifications


___
Pmd-commits mailing list
Pmd-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmd-commits


[pmd-commits] [pmd/pmd-github-action]

2024-04-29 Thread dependabot[bot] via Pmd-commits
  Branch: refs/heads/dependabot/npm_and_yarn/typescript-eslint/parser-7.7.1
  Home:   https://github.com/pmd/pmd-github-action

To unsubscribe from these emails, change your notification settings at 
https://github.com/pmd/pmd-github-action/settings/notifications


___
Pmd-commits mailing list
Pmd-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmd-commits


[pmd-commits] [pmd/pmd-github-action] 545ce8: Bump @typescript-eslint/parser from 7.5.0 to 7.8.0

2024-04-29 Thread dependabot[bot] via Pmd-commits
  Branch: refs/heads/dependabot/npm_and_yarn/typescript-eslint/parser-7.8.0
  Home:   https://github.com/pmd/pmd-github-action
  Commit: 545ce8fb41cee8f01a06469fcfbcda3ce1fa18f0
  
https://github.com/pmd/pmd-github-action/commit/545ce8fb41cee8f01a06469fcfbcda3ce1fa18f0
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M package-lock.json
M package.json

  Log Message:
  ---
  Bump @typescript-eslint/parser from 7.5.0 to 7.8.0

Bumps 
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
 from 7.5.0 to 7.8.0.
- [Release 
notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- 
[Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- 
[Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.8.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 



To unsubscribe from these emails, change your notification settings at 
https://github.com/pmd/pmd-github-action/settings/notifications


___
Pmd-commits mailing list
Pmd-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmd-commits


[pmd-commits] [pmd/pmd-github-action]

2024-04-29 Thread dependabot[bot] via Pmd-commits
  Branch: 
refs/heads/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-7.7.1
  Home:   https://github.com/pmd/pmd-github-action

To unsubscribe from these emails, change your notification settings at 
https://github.com/pmd/pmd-github-action/settings/notifications


___
Pmd-commits mailing list
Pmd-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmd-commits


[pmd-commits] [pmd/pmd-github-action] 8ab2d5: Bump @typescript-eslint/eslint-plugin from 7.5.0 t...

2024-04-29 Thread dependabot[bot] via Pmd-commits
  Branch: 
refs/heads/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-7.8.0
  Home:   https://github.com/pmd/pmd-github-action
  Commit: 8ab2d517664e53b6b25568d3c269c3db0bdfdb19
  
https://github.com/pmd/pmd-github-action/commit/8ab2d517664e53b6b25568d3c269c3db0bdfdb19
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M package-lock.json
M package.json

  Log Message:
  ---
  Bump @typescript-eslint/eslint-plugin from 7.5.0 to 7.8.0

Bumps 
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
 from 7.5.0 to 7.8.0.
- [Release 
notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- 
[Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- 
[Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.8.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] 



To unsubscribe from these emails, change your notification settings at 
https://github.com/pmd/pmd-github-action/settings/notifications


___
Pmd-commits mailing list
Pmd-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmd-commits


[Lldb-commits] [lldb] [lldb] Display breakpoint locations using display name (PR #90297)

2024-04-29 Thread Dave Lee via lldb-commits


@@ -685,7 +686,7 @@ bool Address::Dump(Stream *s, ExecutionContextScope 
*exe_scope, DumpStyle style,
   sc.DumpStopContext(s, exe_scope, *this, show_fullpaths,
  show_module, show_inlined_frames,
  show_function_arguments, show_function_name,
- settings);
+ false, settings);

kastiglione wrote:

I wanted to limit the initial scope of changes to just breakpoint locations. It 
may be that we want to change this to true, but it has not be discussed (or 
audited, or tested) and so I am not confident in changing this too.

https://github.com/llvm/llvm-project/pull/90297
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[llvm-branch-commits] [llvm] [BOLT] Use heuristic for matching split local functions (PR #90424)

2024-04-29 Thread Amir Ayupov via llvm-branch-commits
  Expected NameOrError = Symbol.getName();
+  Expected NameOrError = NextSymbol.getName();
   if (!NameOrError)
 break;
   StringRef Name = *NameOrError;

>From b39489c935a41882b55f6dba3a31e1c9fdb3e4b5 Mon Sep 17 00:00:00 2001
From: Amir Ayupov 
Date: Mon, 29 Apr 2024 16:05:05 -0700
Subject: [PATCH 4/4] Use cantFail(Symbol.getName()) for consistency

---
 bolt/lib/Rewrite/RewriteInstance.cpp | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp 
b/bolt/lib/Rewrite/RewriteInstance.cpp
index 5e7bcd06df82c4..997b158315fd76 100644
--- a/bolt/lib/Rewrite/RewriteInstance.cpp
+++ b/bolt/lib/Rewrite/RewriteInstance.cpp
@@ -1515,10 +1515,7 @@ void RewriteInstance::registerFragments() {
 // symbol.
 for (ELFSymbolRef NextSymbol = Symbol; NextSymbol < StopSymbol;
  NextSymbol.moveNext()) {
-  Expected NameOrError = NextSymbol.getName();
-  if (!NameOrError)
-break;
-  StringRef Name = *NameOrError;
+  StringRef Name = cantFail(NextSymbol.getName());
   if (Name == ParentName) {
 ParentAddress = cantFail(NextSymbol.getValue());
 goto registerParent;

___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] [BOLT] Use heuristic for matching split local functions (PR #90424)

2024-04-29 Thread Amir Ayupov via llvm-branch-commits
  Expected NameOrError = Symbol.getName();
+  Expected NameOrError = NextSymbol.getName();
   if (!NameOrError)
 break;
   StringRef Name = *NameOrError;

>From b39489c935a41882b55f6dba3a31e1c9fdb3e4b5 Mon Sep 17 00:00:00 2001
From: Amir Ayupov 
Date: Mon, 29 Apr 2024 16:05:05 -0700
Subject: [PATCH 4/4] Use cantFail(Symbol.getName()) for consistency

---
 bolt/lib/Rewrite/RewriteInstance.cpp | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp 
b/bolt/lib/Rewrite/RewriteInstance.cpp
index 5e7bcd06df82c4..997b158315fd76 100644
--- a/bolt/lib/Rewrite/RewriteInstance.cpp
+++ b/bolt/lib/Rewrite/RewriteInstance.cpp
@@ -1515,10 +1515,7 @@ void RewriteInstance::registerFragments() {
 // symbol.
 for (ELFSymbolRef NextSymbol = Symbol; NextSymbol < StopSymbol;
  NextSymbol.moveNext()) {
-  Expected NameOrError = NextSymbol.getName();
-  if (!NameOrError)
-break;
-  StringRef Name = *NameOrError;
+  StringRef Name = cantFail(NextSymbol.getName());
   if (Name == ParentName) {
 ParentAddress = cantFail(NextSymbol.getValue());
 goto registerParent;

___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[Lldb-commits] [lldb] [lldb] Display breakpoint locations using display name (PR #90297)

2024-04-29 Thread Dave Lee via lldb-commits

kastiglione wrote:

@jimingham I'm not sure I've understood your comment entirely. Are you saying 
the following?

1. Always use `GetDisplayName` when displaying a mangled name
2. Add a setting allowing the user to see `GetName` (which `GetDisplayName` 
will call whenever the setting is enabled)

What about the cases where the context ("is the name being displayed?") is 
unclear at the call site? This is why I introduced the 
`show_function_display_name` parameter, because `DumpStopContext` could be 
called from either context.

https://github.com/llvm/llvm-project/pull/90297
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb] Display breakpoint locations using display name (PR #90297)

2024-04-29 Thread Adrian Prantl via lldb-commits


@@ -685,7 +686,7 @@ bool Address::Dump(Stream *s, ExecutionContextScope 
*exe_scope, DumpStyle style,
   sc.DumpStopContext(s, exe_scope, *this, show_fullpaths,
  show_module, show_inlined_frames,
  show_function_arguments, show_function_name,
- settings);
+ false, settings);

adrian-prantl wrote:

Why is this one false?

https://github.com/llvm/llvm-project/pull/90297
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[jenkinsci/jenkins] 48975b: Bump org.kohsuke.stapler:json-lib from 2.4-jenkins...

2024-04-29 Thread 'dependabot[bot]' via Jenkins Commits
  Branch: refs/heads/dependabot/maven/org.kohsuke.stapler-json-lib-2.4-jenkins-7
  Home:   https://github.com/jenkinsci/jenkins
  Commit: 48975bf196cd9c39decf14d6ab25ca77f0280651
  
https://github.com/jenkinsci/jenkins/commit/48975bf196cd9c39decf14d6ab25ca77f0280651
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M bom/pom.xml

  Log Message:
  ---
  Bump org.kohsuke.stapler:json-lib from 2.4-jenkins-5 to 2.4-jenkins-7

Bumps [org.kohsuke.stapler:json-lib](https://github.com/jenkinsci/json-lib) 
from 2.4-jenkins-5 to 2.4-jenkins-7.
- [Release notes](https://github.com/jenkinsci/json-lib/releases)
- [Commits](https://github.com/jenkinsci/json-lib/commits)

---
updated-dependencies:
- dependency-name: org.kohsuke.stapler:json-lib
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] 



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/jenkins/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/jenkins/push/refs/heads/dependabot/maven/org.kohsuke.stapler-json-lib-2.4-jenkins-7/00-48975b%40github.com.


[clang] [SemaCXX] Implement CWG2351 `void{}` (PR #78060)

2024-04-29 Thread Shafik Yaghmour via cfe-commits

shafik wrote:

@MitalAshok ping 

https://github.com/llvm/llvm-project/pull/78060
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[jenkinsci/stapler] 7cfab3: Bump org.kohsuke.stapler:json-lib from 2.4-jenkins...

2024-04-29 Thread 'dependabot[bot]' via Jenkins Commits
  Branch: refs/heads/dependabot/maven/org.kohsuke.stapler-json-lib-2.4-jenkins-7
  Home:   https://github.com/jenkinsci/stapler
  Commit: 7cfab3b4e4c88e562aea30f52d1cb8b0bb95e155
  
https://github.com/jenkinsci/stapler/commit/7cfab3b4e4c88e562aea30f52d1cb8b0bb95e155
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M core/pom.xml

  Log Message:
  ---
  Bump org.kohsuke.stapler:json-lib from 2.4-jenkins-5 to 2.4-jenkins-7

Bumps [org.kohsuke.stapler:json-lib](https://github.com/jenkinsci/json-lib) 
from 2.4-jenkins-5 to 2.4-jenkins-7.
- [Release notes](https://github.com/jenkinsci/json-lib/releases)
- [Commits](https://github.com/jenkinsci/json-lib/commits)

---
updated-dependencies:
- dependency-name: org.kohsuke.stapler:json-lib
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] 



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/stapler/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/stapler/push/refs/heads/dependabot/maven/org.kohsuke.stapler-json-lib-2.4-jenkins-7/00-7cfab3%40github.com.


[Lldb-commits] [lldb] [lldb] Consult Language plugin in GetDisplayDemangledName (PR #90294)

2024-04-29 Thread Adrian Prantl via lldb-commits

https://github.com/adrian-prantl approved this pull request.


https://github.com/llvm/llvm-project/pull/90294
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[jenkinsci/json-lib] a4850e: [maven-release-plugin] prepare for next developmen...

2024-04-29 Thread 'Basil Crow' via Jenkins Commits
  Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/json-lib
  Commit: a4850e3ad12e083a0afe98ecafbdc57d54de03b1
  
https://github.com/jenkinsci/json-lib/commit/a4850e3ad12e083a0afe98ecafbdc57d54de03b1
  Author: Basil Crow 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M pom.xml

  Log Message:
  ---
  [maven-release-plugin] prepare for next development iteration



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/json-lib/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/json-lib/push/refs/heads/master/d5f746-a4850e%40github.com.


[jenkinsci/json-lib] d5f746: [maven-release-plugin] prepare release json-lib-2....

2024-04-29 Thread 'Basil Crow' via Jenkins Commits
  Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/json-lib
  Commit: d5f746045bb5820e1bc00f5c651c81718f58fb2a
  
https://github.com/jenkinsci/json-lib/commit/d5f746045bb5820e1bc00f5c651c81718f58fb2a
  Author: Basil Crow 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M pom.xml

  Log Message:
  ---
  [maven-release-plugin] prepare release json-lib-2.4-jenkins-7



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/json-lib/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/json-lib/push/refs/heads/master/f63a74-d5f746%40github.com.


[clang] [CUDA] make kernel stub ICF-proof (PR #90155)

2024-04-29 Thread Reid Kleckner via cfe-commits


@@ -424,6 +424,34 @@ void 
CGNVCUDARuntime::emitDeviceStubBodyNew(CodeGenFunction ,
   CGM.CreateRuntimeFunction(FTy, LaunchKernelName);
   CGF.EmitCall(FI, CGCallee::forDirect(cudaLaunchKernelFn), ReturnValueSlot(),
LaunchKernelArgs);
+
+  // To prevent CUDA device stub functions from being merged by ICF in MSVC
+  // environment, create an unique global variable for each kernel and write to
+  // the variable in the device stub.
+  if (CGM.getContext().getTargetInfo().getCXXABI().isMicrosoft() &&
+  !CGF.getLangOpts().HIP) {
+llvm::Function *KernelFunction = llvm::cast(Kernel);
+if (KernelFunction->hasComdat()) {
+  std::string KernelName = KernelFunction->getName().str();
+  std::string GlobalVarName = KernelName + ".id";
+
+  llvm::GlobalVariable *HandleVar =
+  CGM.getModule().getNamedGlobal(GlobalVarName);
+  if (!HandleVar) {
+HandleVar = new llvm::GlobalVariable(
+CGM.getModule(), CGM.Int8Ty,
+/*Constant=*/false, KernelFunction->getLinkage(),
+llvm::ConstantInt::get(CGM.Int8Ty, 0), GlobalVarName);
+HandleVar->setDSOLocal(KernelFunction->isDSOLocal());
+HandleVar->setVisibility(KernelFunction->getVisibility());
+HandleVar->setComdat(CGM.getModule().getOrInsertComdat(GlobalVarName));
+  }
+
+  CGF.Builder.CreateAlignedStore(llvm::ConstantInt::get(CGM.Int8Ty, 1),

rnk wrote:

LLVM knows how to optimize away a single write to an otherwise unused global, 
so I would mark this store volatile.

https://github.com/llvm/llvm-project/pull/90155
___________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [CUDA] make kernel stub ICF-proof (PR #90155)

2024-04-29 Thread Reid Kleckner via cfe-commits


@@ -424,6 +424,34 @@ void 
CGNVCUDARuntime::emitDeviceStubBodyNew(CodeGenFunction ,
   CGM.CreateRuntimeFunction(FTy, LaunchKernelName);
   CGF.EmitCall(FI, CGCallee::forDirect(cudaLaunchKernelFn), ReturnValueSlot(),
LaunchKernelArgs);
+
+  // To prevent CUDA device stub functions from being merged by ICF in MSVC
+  // environment, create an unique global variable for each kernel and write to
+  // the variable in the device stub.
+  if (CGM.getContext().getTargetInfo().getCXXABI().isMicrosoft() &&
+  !CGF.getLangOpts().HIP) {
+llvm::Function *KernelFunction = llvm::cast(Kernel);
+if (KernelFunction->hasComdat()) {
+  std::string KernelName = KernelFunction->getName().str();

rnk wrote:

Please avoid making an extra copy of the original name, since C++ names can be 
many kilobytes. Use `(KernelFunction->getName() + ".id").str()` to construct 
the `std::string`.

https://github.com/llvm/llvm-project/pull/90155
_______
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [CUDA] make kernel stub ICF-proof (PR #90155)

2024-04-29 Thread Reid Kleckner via cfe-commits


@@ -424,6 +424,34 @@ void 
CGNVCUDARuntime::emitDeviceStubBodyNew(CodeGenFunction ,
   CGM.CreateRuntimeFunction(FTy, LaunchKernelName);
   CGF.EmitCall(FI, CGCallee::forDirect(cudaLaunchKernelFn), ReturnValueSlot(),
LaunchKernelArgs);
+
+  // To prevent CUDA device stub functions from being merged by ICF in MSVC
+  // environment, create an unique global variable for each kernel and write to
+  // the variable in the device stub.
+  if (CGM.getContext().getTargetInfo().getCXXABI().isMicrosoft() &&
+  !CGF.getLangOpts().HIP) {
+llvm::Function *KernelFunction = llvm::cast(Kernel);
+if (KernelFunction->hasComdat()) {

rnk wrote:

ICF may apply to all functions under 
[`/Gy`](https://learn.microsoft.com/en-us/cpp/build/reference/gy-enable-function-level-linking?view=msvc-170),
 and those are not reflected in the IR, so I would just do this for all kernels.

https://github.com/llvm/llvm-project/pull/90155
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[jenkinsci/json-lib] f63a74: Revert part of #33 (#38)

2024-04-29 Thread 'Basil Crow' via Jenkins Commits
  Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/json-lib
  Commit: f63a74abe08dfe83b29eaf5aeef84e47d403990a
  
https://github.com/jenkinsci/json-lib/commit/f63a74abe08dfe83b29eaf5aeef84e47d403990a
  Author: Basil Crow 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M src/main/java/net/sf/json/JSONObject.java

  Log Message:
  ---
  Revert part of #33 (#38)



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/json-lib/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/json-lib/push/refs/heads/master/e1d263-f63a74%40github.com.


[clang] Add support for builtin_verbose_trap (PR #79230)

2024-04-29 Thread Adrian Prantl via cfe-commits


@@ -27,6 +27,9 @@ namespace llvm {
   }
 }
 
+// Prefix for __builtin_verbose_trap.
+#define CLANG_VERBOSE_TRAP_PREFIX "__llvm_verbose_trap"

adrian-prantl wrote:

Does this have to be a macro or could it be a C++ constant?

https://github.com/llvm/llvm-project/pull/79230
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[Lldb-commits] [lldb] [lldb] Display breakpoint locations using display name (PR #90297)

2024-04-29 Thread Dave Lee via lldb-commits

https://github.com/kastiglione edited 
https://github.com/llvm/llvm-project/pull/90297
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[jenkinsci/plugin-pom]

2024-04-29 Thread 'dependabot[bot]' via Jenkins Commits
  Branch: 
refs/heads/dependabot/maven/org.jenkins-ci.main-jenkins-test-harness-2193.v71b_f09ec6d46
  Home:   https://github.com/jenkinsci/plugin-pom

To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/plugin-pom/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/plugin-pom/push/refs/heads/dependabot/maven/org.jenkins-ci.main-jenkins-test-harness-2193.v71b_f09ec6d46/8e1f2a-00%40github.com.


[jenkinsci/plugin-pom] 57ab95: Bump org.jenkins-ci.main:jenkins-test-harness (#928)

2024-04-29 Thread 'dependabot[bot]' via Jenkins Commits
  Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/plugin-pom
  Commit: 57ab95b2d39c3ad39c55088a71c9dd434fc4b815
  
https://github.com/jenkinsci/plugin-pom/commit/57ab95b2d39c3ad39c55088a71c9dd434fc4b815
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M pom.xml

  Log Message:
  ---
  Bump org.jenkins-ci.main:jenkins-test-harness (#928)



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/plugin-pom/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/plugin-pom/push/refs/heads/master/8b2d91-57ab95%40github.com.


[llvm-branch-commits] [llvm] [BOLT] Use heuristic for matching split local functions (PR #90424)

2024-04-29 Thread Amir Ayupov via llvm-branch-commits

https://github.com/aaupov edited https://github.com/llvm/llvm-project/pull/90424
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[clang] [llvm] Implement resource binding type prefix mismatch errors (PR #87578)

2024-04-29 Thread Xiang Li via cfe-commits


@@ -44,7 +44,7 @@ void foo2() {
   // expected-warning@+1 {{'register' attribute only applies to 
cbuffer/tbuffer and external global variables}}
   extern RWBuffer U2 : register(u5);
 }
-// FIXME: expect-error once fix 
https://github.com/llvm/llvm-project/issues/57886.
+// expected-error@+1 {{invalid register name prefix 'u' for 'float' (expected 
't')}}

python3kgae wrote:

Since here the float is in global scope, it will be treated as constant inside 
Global CBuffer.

https://github.com/llvm/llvm-project/pull/87578
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[llvm-branch-commits] [llvm] [BOLT] Use heuristic for matching split local functions (PR #90424)

2024-04-29 Thread Amir Ayupov via llvm-branch-commits
  Expected NameOrError = Symbol.getName();
+  Expected NameOrError = NextSymbol.getName();
   if (!NameOrError)
 break;
   StringRef Name = *NameOrError;

>From b39489c935a41882b55f6dba3a31e1c9fdb3e4b5 Mon Sep 17 00:00:00 2001
From: Amir Ayupov 
Date: Mon, 29 Apr 2024 16:05:05 -0700
Subject: [PATCH 4/4] Use cantFail(Symbol.getName()) for consistency

---
 bolt/lib/Rewrite/RewriteInstance.cpp | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp 
b/bolt/lib/Rewrite/RewriteInstance.cpp
index 5e7bcd06df82c4..997b158315fd76 100644
--- a/bolt/lib/Rewrite/RewriteInstance.cpp
+++ b/bolt/lib/Rewrite/RewriteInstance.cpp
@@ -1515,10 +1515,7 @@ void RewriteInstance::registerFragments() {
 // symbol.
 for (ELFSymbolRef NextSymbol = Symbol; NextSymbol < StopSymbol;
  NextSymbol.moveNext()) {
-  Expected NameOrError = NextSymbol.getName();
-  if (!NameOrError)
-break;
-  StringRef Name = *NameOrError;
+  StringRef Name = cantFail(NextSymbol.getName());
   if (Name == ParentName) {
 ParentAddress = cantFail(NextSymbol.getValue());
 goto registerParent;

___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[clang] [llvm] Implement resource binding type prefix mismatch errors (PR #87578)

2024-04-29 Thread Xiang Li via cfe-commits


@@ -44,7 +44,7 @@ void foo2() {
   // expected-warning@+1 {{'register' attribute only applies to 
cbuffer/tbuffer and external global variables}}
   extern RWBuffer U2 : register(u5);
 }
-// FIXME: expect-error once fix 
https://github.com/llvm/llvm-project/issues/57886.
+// expected-error@+1 {{invalid register name prefix 'u' for 'float' (expected 
't')}}

python3kgae wrote:

dxc will report
error: invalid register specification, expected 'b', 'c', or 'i' binding
float t : register(u0);
  ^
fxc will just ignore the register(u0).

https://github.com/llvm/llvm-project/pull/87578
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[jenkinsci/plugin-pom] 8e1f2a: Bump org.jenkins-ci.main:jenkins-test-harness

2024-04-29 Thread 'dependabot[bot]' via Jenkins Commits
  Branch: 
refs/heads/dependabot/maven/org.jenkins-ci.main-jenkins-test-harness-2193.v71b_f09ec6d46
  Home:   https://github.com/jenkinsci/plugin-pom
  Commit: 8e1f2a7b19f0f0cf5c9b3df5c9874e3fd19dc33c
  
https://github.com/jenkinsci/plugin-pom/commit/8e1f2a7b19f0f0cf5c9b3df5c9874e3fd19dc33c
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M pom.xml

  Log Message:
  ---
  Bump org.jenkins-ci.main:jenkins-test-harness

Bumps 
[org.jenkins-ci.main:jenkins-test-harness](https://github.com/jenkinsci/jenkins-test-harness)
 from 2189.v1c38d94b_43b_a_ to 2193.v71b_f09ec6d46.
- [Release notes](https://github.com/jenkinsci/jenkins-test-harness/releases)
- 
[Changelog](https://github.com/jenkinsci/jenkins-test-harness/blob/master/docs/CHANGELOG-OLD.md)
- [Commits](https://github.com/jenkinsci/jenkins-test-harness/commits)

---
updated-dependencies:
- dependency-name: org.jenkins-ci.main:jenkins-test-harness
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] 



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/plugin-pom/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/plugin-pom/push/refs/heads/dependabot/maven/org.jenkins-ci.main-jenkins-test-harness-2193.v71b_f09ec6d46/00-8e1f2a%40github.com.


[clang] [WebAssembly] Add preprocessor define for half-precision (PR #90528)

2024-04-29 Thread Thomas Lively via cfe-commits

https://github.com/tlively approved this pull request.


https://github.com/llvm/llvm-project/pull/90528
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[Lldb-commits] [lldb] Summarize std::string's when created from data. (PR #89110)

2024-04-29 Thread Greg Clayton via lldb-commits


@@ -287,8 +291,52 @@ bool 
lldb_private::formatters::LibStdcppStringSummaryProvider(
   } else
 return true;
 } break;
-case eAddressTypeHost:
-  break;
+case eAddressTypeHost: {
+
+  DataExtractor data;
+  Status error;
+  valobj.GetData(data, error);
+  if (error.Fail())
+return false;
+

clayborg wrote:

Where is the code that detects the short string optimization? I don't see it 
here anywhere?

https://github.com/llvm/llvm-project/pull/89110
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Summarize std::string's when created from data. (PR #89110)

2024-04-29 Thread Greg Clayton via lldb-commits


@@ -287,8 +291,52 @@ bool 
lldb_private::formatters::LibStdcppStringSummaryProvider(
   } else
 return true;
 } break;
-case eAddressTypeHost:
-  break;
+case eAddressTypeHost: {
+
+  DataExtractor data;
+  Status error;
+  valobj.GetData(data, error);
+  if (error.Fail())
+return false;
+
+  lldb::offset_t offset = 0;
+  AddressType child_addressType = valobj.GetAddressTypeOfChildren();
+  if (child_addressType == eAddressTypeLoad)
+  {

clayborg wrote:

The `{` goes at the end of the `if` line per llvm coding guidelines

https://github.com/llvm/llvm-project/pull/89110
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Summarize std::string's when created from data. (PR #89110)

2024-04-29 Thread Greg Clayton via lldb-commits


@@ -287,8 +291,52 @@ bool 
lldb_private::formatters::LibStdcppStringSummaryProvider(
   } else
 return true;
 } break;
-case eAddressTypeHost:
-  break;
+case eAddressTypeHost: {
+
+  DataExtractor data;
+  Status error;
+  valobj.GetData(data, error);
+  if (error.Fail())
+return false;
+
+  lldb::offset_t offset = 0;
+  AddressType child_addressType = valobj.GetAddressTypeOfChildren();
+  if (child_addressType == eAddressTypeLoad)
+  {
+// We have the host address of our std::string
+// But we need to read the pointee data from the debugged process.
+ProcessSP process_sp(valobj.GetProcessSP());
+// We want to read the address from std::string, which is the first 8 
bytes.
+lldb::addr_t addr = data.GetAddress();
+if (!addr)
+{

clayborg wrote:

The `{` goes at the end of the `if` line per llvm coding guidelines

https://github.com/llvm/llvm-project/pull/89110
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Summarize std::string's when created from data. (PR #89110)

2024-04-29 Thread Greg Clayton via lldb-commits


@@ -287,8 +291,52 @@ bool 
lldb_private::formatters::LibStdcppStringSummaryProvider(
   } else
 return true;
 } break;
-case eAddressTypeHost:
-  break;
+case eAddressTypeHost: {
+
+  DataExtractor data;
+  Status error;
+  valobj.GetData(data, error);
+  if (error.Fail())
+return false;
+
+  lldb::offset_t offset = 0;
+  AddressType child_addressType = valobj.GetAddressTypeOfChildren();
+  if (child_addressType == eAddressTypeLoad)
+  {
+// We have the host address of our std::string
+// But we need to read the pointee data from the debugged process.
+ProcessSP process_sp(valobj.GetProcessSP());
+// We want to read the address from std::string, which is the first 8 
bytes.
+lldb::addr_t addr = data.GetAddress();
+if (!addr)
+{
+  stream.Printf("nullptr");
+  return true;
+}
+std::string contents;
+process_sp->ReadCStringFromMemory(addr, contents, error);
+if (error.Fail())
+  return false;
+
+stream.Printf("%s", contents.c_str());
+return true;
+  }
+
+  if (child_addressType == eAddressTypeHost)
+  {

clayborg wrote:

The `{` goes at the end of the `if` line per llvm coding guidelines

https://github.com/llvm/llvm-project/pull/89110
_______
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Summarize std::string's when created from data. (PR #89110)

2024-04-29 Thread Greg Clayton via lldb-commits


@@ -254,13 +254,17 @@ bool 
lldb_private::formatters::LibStdcppStringSummaryProvider(
   } else
 addr_of_string =
 valobj.GetAddressOf(scalar_is_load_addr, _type);
-  if (addr_of_string != LLDB_INVALID_ADDRESS) {
+
+  // We have to check for host address here
+  // because GetAddressOf returns INVALID for all non load addresses.
+  // But we can still format strings in host memory.
+  if (addr_of_string != LLDB_INVALID_ADDRESS ||
+addr_type == eAddressTypeHost) {

clayborg wrote:

Why does `addr_of_string = valobj.GetAddressOf(scalar_is_load_addr, 
_type);` return `eAddressTypeHost` with `addr_of_string` being set to 
`LLDB_INVALID_ADDRESS`?

https://github.com/llvm/llvm-project/pull/89110
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[llvm-branch-commits] [llvm] [MTE] add stack frame history buffer (PR #86356)

2024-04-29 Thread Florian Mayer via llvm-branch-commits

https://github.com/fmayer updated 
https://github.com/llvm/llvm-project/pull/86356

>From a64c5d63a4df7f59845291ca0d634466713b1ff8 Mon Sep 17 00:00:00 2001
From: Florian Mayer 
Date: Fri, 29 Mar 2024 16:53:52 -0700
Subject: [PATCH 1/3] update

Created using spr 1.3.4
---
 llvm/lib/Target/AArch64/AArch64StackTagging.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/llvm/lib/Target/AArch64/AArch64StackTagging.cpp 
b/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
index a6e236386d5baa..6538abea832907 100644
--- a/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
+++ b/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
@@ -489,7 +489,6 @@ Instruction *AArch64StackTagging::insertBaseTaggedPointer(
 
 auto *IntptrTy = IRB.getIntPtrTy(M.getDataLayout());
 Value *SlotPtr = memtag::getAndroidSlotPtr(IRB, StackMteSlot);
-SlotPtr->setName("TLS_SLOT_STACK_MTE");
 auto *ThreadLong = IRB.CreateLoad(IntptrTy, SlotPtr);
 Value *TaggedFP = IRB.CreateOr(
 memtag::getFP(IRB),

>From 8591fb38c7e065862a0814792a368e2983b8b10c Mon Sep 17 00:00:00 2001
From: Florian Mayer 
Date: Mon, 29 Apr 2024 14:45:16 -0700
Subject: [PATCH 2/3] api lvl

Created using spr 1.3.4
---
 llvm/lib/Target/AArch64/AArch64StackTagging.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/lib/Target/AArch64/AArch64StackTagging.cpp 
b/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
index 840635315eee04..e38cce94a5cc0b 100644
--- a/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
+++ b/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
@@ -484,7 +484,7 @@ Instruction *AArch64StackTagging::insertBaseTaggedPointer(
   Base->setName("basetag");
   auto TargetTriple = Triple(M.getTargetTriple());
   if (ClRecordStackHistory == instr && TargetTriple.isAndroid() &&
-  TargetTriple.isAArch64() && !TargetTriple.isAndroidVersionLT(35)) {
+  TargetTriple.isAArch64() && !TargetTriple.isAndroidVersionLT(36)) {
 constexpr int StackMteSlot = -3;
 constexpr uint64_t TagMask = 0xFULL << 56;
 

>From 66fbd757608c44b04d64de3f058ce813b14706fe Mon Sep 17 00:00:00 2001
From: Florian Mayer 
Date: Mon, 29 Apr 2024 16:00:09 -0700
Subject: [PATCH 3/3] hidden

Created using spr 1.3.4
---
 llvm/lib/Target/AArch64/AArch64StackTagging.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/lib/Target/AArch64/AArch64StackTagging.cpp 
b/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
index e38cce94a5cc0b..43d82a1234f7af 100644
--- a/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
+++ b/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
@@ -102,7 +102,7 @@ static cl::opt ClRecordStackHistory(
 cl::values(clEnumVal(none, "Do not record stack ring history"),
clEnumVal(instr, "Insert instructions into the prologue for "
 "storing into the stack ring buffer")),
-cl::Hidden, cl::init(instr));
+cl::Hidden, cl::init(none));
 
 static const Align kTagGranuleSize = Align(16);
 

___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[jenkinsci/active-choices-plugin] 7070c1: Update CHANGES.md

2024-04-29 Thread 'Bruno P. Kinoshita' via Jenkins Commits
  Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/active-choices-plugin
  Commit: 7070c1fa5235333e3c752129b39a3f6cd18a1aff
  
https://github.com/jenkinsci/active-choices-plugin/commit/7070c1fa5235333e3c752129b39a3f6cd18a1aff
  Author: Bruno P. Kinoshita 
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
M CHANGES.md

  Log Message:
  ---
  Update CHANGES.md



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/active-choices-plugin/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/active-choices-plugin/push/refs/heads/master/6a5762-7070c1%40github.com.


[jenkinsci/active-choices-plugin] 6a5762: Bump @babel/core from 7.24.4 to 7.24.5

2024-04-29 Thread 'dependabot[bot]' via Jenkins Commits
  Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/active-choices-plugin
  Commit: 6a576201605319211bc22739d005ff90681801a9
  
https://github.com/jenkinsci/active-choices-plugin/commit/6a576201605319211bc22739d005ff90681801a9
  Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
M package.json
M yarn.lock

  Log Message:
  ---
  Bump @babel/core from 7.24.4 to 7.24.5

Bumps 
[@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) 
from 7.24.4 to 7.24.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.5/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] 



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/active-choices-plugin/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/active-choices-plugin/push/refs/heads/master/c42a94-6a5762%40github.com.


[Lldb-commits] [lldb] 1b70580 - Skip various tests under ASAN on green dragon (#90531)

2024-04-29 Thread via lldb-commits
hs=["arm", "aarch64"])  # Randomly fails on 
buildbot
 @expectedFlakeyFreeBSD("llvm.org/pr25172 fails rarely on the buildbot")
 def test_batch_mode_launch_stop_at_entry(self):
@@ -125,6 +128,7 @@ def closeVictim(self):
 self.victim.close()
 self.victim = None
 
+@skipIf(macos_version=["<", "14.0"], asan=True)
 @skipIf(oslist=["linux"], archs=["arm", "aarch64"])  # Randomly fails on 
buildbot
 @expectedFlakeyFreeBSD("llvm.org/pr25172 fails rarely on the buildbot")
 @expectedFailureNetBSD

diff  --git a/lldb/test/API/driver/job_control/TestJobControl.py 
b/lldb/test/API/driver/job_control/TestJobControl.py
index 1a1739f4cb391d..648acb1d4730bc 100644
--- a/lldb/test/API/driver/job_control/TestJobControl.py
+++ b/lldb/test/API/driver/job_control/TestJobControl.py
@@ -8,6 +8,7 @@
 
 
 class JobControlTest(PExpectTest):
+@skipIf(macos_version=["<", "14.0"], asan=True)
 @skipIf(oslist=["linux"], archs=["arm", "aarch64"])
 def test_job_control(self):
 def post_spawn():

diff  --git a/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py 
b/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
index 42527c88b99213..c75ac977ea2094 100644
--- a/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
+++ b/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
@@ -31,4 +31,4 @@ def test_run_quit(self):
 print("Got launch message")
 child.sendline("quit")
 print("sent quit")
-child.expect(pexpect.EOF, timeout=15)
+child.expect(pexpect.EOF, timeout=60)

diff  --git a/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py 
b/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
index 8e19d56cd0c2f9..75ac0f6c0289a4 100644
--- a/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
+++ b/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
@@ -11,6 +11,7 @@
 
 
 class TestCase(PExpectTest):
+@skipIf(macos_version=["<", "14.0"], asan=True)
 @skipIf(compiler="clang", compiler_version=["<", "11.0"])
 @skipIf(oslist=["linux"], archs=["arm", "aarch64"])
 def test(self):

diff  --git a/lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py 
b/lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
index 15d9feb543895a..f6bda16560b962 100644
--- a/lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
+++ b/lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
@@ -20,8 +20,6 @@
 class DarwinNSLogOutputTestCase(TestBase):
 NO_DEBUG_INFO_TESTCASE = True
 
-@skipUnlessDarwin
-@skipIfRemote  # this test is currently written using lldb commands & 
assumes running on local system
 def setUp(self):
 # Call super's setUp().
 TestBase.setUp(self)
@@ -119,6 +117,9 @@ def do_test(self, expect_regexes=None, 
settings_commands=None):
 self.runCmd("process continue")
 self.expect(expect_regexes)
 
+@skipIf(oslist=["linux"], archs=["arm", "aarch64"])
+@skipUnlessDarwin
+@skipIfRemote  # this test is currently written using lldb commands & 
assumes running on local system
 def test_nslog_output_is_displayed(self):
 """Test that NSLog() output shows up in the command-line debugger."""
 self.do_test(
@@ -131,6 +132,9 @@ def test_nslog_output_is_displayed(self):
 self.assertGreater(len(self.child.match.groups()), 0)
 self.assertEqual("This is a message from NSLog", 
self.child.match.group(1))
 
+@skipIf(oslist=["linux"], archs=["arm", "aarch64"])
+@skipUnlessDarwin
+@skipIfRemote  # this test is currently written using lldb commands & 
assumes running on local system
 def test_nslog_output_is_suppressed_with_env_var(self):
 """Test that NSLog() output does not show up with the ignore env 
var."""
 # This test will only work properly on macOS 10.12+.  Skip it on 
earlier versions.

diff  --git a/lldb/test/API/terminal/TestSTTYBeforeAndAfter.py 
b/lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
index 21aca5fc85d5f1..313a265319dbac 100644
--- a/lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
+++ b/lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
@@ -19,6 +19,7 @@ def classCleanup(cls):
 cls.RemoveTempFile("child_send2.txt")
 cls.RemoveTempFile("child_read2.txt")
 
+@skipIf(macos_version=["<", "14.0"], asan=True)
 @add_test_categories(["pexpect"])
 @no_debug_info_test
 def test_stty_dash_a_before_and_afetr_invoking_lldb_command(self):



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Skip various tests under ASAN on green dragon (PR #90531)

2024-04-29 Thread Adrian Prantl via lldb-commits

https://github.com/adrian-prantl closed 
https://github.com/llvm/llvm-project/pull/90531
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[jenkinsci/parasoft-findings-plugin] f4dafb: Ignored complaint about private class DefaultResul...

2024-04-29 Thread 'Yuqian Shi' via Jenkins Commits
  Branch: refs/heads/master
  Home:   https://github.com/jenkinsci/parasoft-findings-plugin
  Commit: f4dafb99b46a3c87ba09418bfd16f156fc611021
  
https://github.com/jenkinsci/parasoft-findings-plugin/commit/f4dafb99b46a3c87ba09418bfd16f156fc611021
  Author: yshi-parasoft 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M pom.xml

  Log Message:
  ---
  Ignored complaint about private class DefaultResultsCore in UResults of utils 
dependency



To unsubscribe from these emails, change your notification settings at 
https://github.com/jenkinsci/parasoft-findings-plugin/settings/notifications

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/parasoft-findings-plugin/push/refs/heads/master/9d33cc-f4dafb%40github.com.


[clang] [clang] Handle trivial_abi attribute for Microsoft ABI. (PR #88857)

2024-04-29 Thread Reid Kleckner via cfe-commits


@@ -1105,6 +1105,11 @@ bool MicrosoftCXXABI::hasMostDerivedReturn(GlobalDecl 
GD) const {
 
 static bool isTrivialForMSVC(const CXXRecordDecl *RD, QualType Ty,
  CodeGenModule ) {
+  // If the record is marked with the trivial_abi attribute, we don't
+  // have to conform to the standard MSVC ABI.
+  if (RD->hasAttr())

rnk wrote:

The pseudo code version is something like:
  bool containsTrivialAbiSubobject(CXXRecordDecl *RD) {
if (RD->hasAttr()) return true;
for (auto B : RD->bases()) {
  if (containsTrivialAbiSubobject(B->getAsCXXRecordDecl()))
return true;
}
for (auto F : RD->fields()) {
  const CXXRecordDecl* FRD = F->getType()->getAsCXXRecordDecl();
  if (FRD && containsTrivialAbiSubobject(FRD))
return true;
}
return false;
  }

A bit of a gross inefficient DFS, with some CXXBaseSpecifier details omitted. 
It might also be worth tracking Visited records to handle fields of the same 
record type without recursing over all subobjects again.

https://github.com/llvm/llvm-project/pull/88857
_______
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[Lldb-commits] [lldb] Skip various tests under ASAN on green dragon (PR #90531)

2024-04-29 Thread Adrian Prantl via lldb-commits
t
 @expectedFlakeyFreeBSD("llvm.org/pr25172 fails rarely on the buildbot")
 def test_batch_mode_launch_stop_at_entry(self):
@@ -125,6 +128,7 @@ def closeVictim(self):
 self.victim.close()
 self.victim = None
 
+@skipIf(macos_version=["<", "14.0"], asan=True)
 @skipIf(oslist=["linux"], archs=["arm", "aarch64"])  # Randomly fails on 
buildbot
 @expectedFlakeyFreeBSD("llvm.org/pr25172 fails rarely on the buildbot")
 @expectedFailureNetBSD
diff --git a/lldb/test/API/driver/job_control/TestJobControl.py 
b/lldb/test/API/driver/job_control/TestJobControl.py
index 1a1739f4cb391d..648acb1d4730bc 100644
--- a/lldb/test/API/driver/job_control/TestJobControl.py
+++ b/lldb/test/API/driver/job_control/TestJobControl.py
@@ -8,6 +8,7 @@
 
 
 class JobControlTest(PExpectTest):
+@skipIf(macos_version=["<", "14.0"], asan=True)
 @skipIf(oslist=["linux"], archs=["arm", "aarch64"])
 def test_job_control(self):
 def post_spawn():
diff --git a/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py 
b/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
index 42527c88b99213..c75ac977ea2094 100644
--- a/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
+++ b/lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
@@ -31,4 +31,4 @@ def test_run_quit(self):
 print("Got launch message")
 child.sendline("quit")
 print("sent quit")
-child.expect(pexpect.EOF, timeout=15)
+child.expect(pexpect.EOF, timeout=60)
diff --git a/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py 
b/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
index 8e19d56cd0c2f9..75ac0f6c0289a4 100644
--- a/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
+++ b/lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py
@@ -11,6 +11,7 @@
 
 
 class TestCase(PExpectTest):
+@skipIf(macos_version=["<", "14.0"], asan=True)
 @skipIf(compiler="clang", compiler_version=["<", "11.0"])
 @skipIf(oslist=["linux"], archs=["arm", "aarch64"])
 def test(self):
diff --git a/lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py 
b/lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
index 15d9feb543895a..f6bda16560b962 100644
--- a/lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
+++ b/lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py
@@ -20,8 +20,6 @@
 class DarwinNSLogOutputTestCase(TestBase):
 NO_DEBUG_INFO_TESTCASE = True
 
-@skipUnlessDarwin
-@skipIfRemote  # this test is currently written using lldb commands & 
assumes running on local system
 def setUp(self):
 # Call super's setUp().
 TestBase.setUp(self)
@@ -119,6 +117,9 @@ def do_test(self, expect_regexes=None, 
settings_commands=None):
 self.runCmd("process continue")
 self.expect(expect_regexes)
 
+@skipIf(oslist=["linux"], archs=["arm", "aarch64"])
+@skipUnlessDarwin
+@skipIfRemote  # this test is currently written using lldb commands & 
assumes running on local system
 def test_nslog_output_is_displayed(self):
 """Test that NSLog() output shows up in the command-line debugger."""
 self.do_test(
@@ -131,6 +132,9 @@ def test_nslog_output_is_displayed(self):
 self.assertGreater(len(self.child.match.groups()), 0)
 self.assertEqual("This is a message from NSLog", 
self.child.match.group(1))
 
+@skipIf(oslist=["linux"], archs=["arm", "aarch64"])
+@skipUnlessDarwin
+@skipIfRemote  # this test is currently written using lldb commands & 
assumes running on local system
 def test_nslog_output_is_suppressed_with_env_var(self):
 """Test that NSLog() output does not show up with the ignore env 
var."""
 # This test will only work properly on macOS 10.12+.  Skip it on 
earlier versions.
diff --git a/lldb/test/API/terminal/TestSTTYBeforeAndAfter.py 
b/lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
index 21aca5fc85d5f1..313a265319dbac 100644
--- a/lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
+++ b/lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
@@ -19,6 +19,7 @@ def classCleanup(cls):
 cls.RemoveTempFile("child_send2.txt")
 cls.RemoveTempFile("child_read2.txt")
 
+@skipIf(macos_version=["<", "14.0"], asan=True)
 @add_test_categories(["pexpect"])
 @no_debug_info_test
 def test_stty_dash_a_before_and_afetr_invoking_lldb_command(self):

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[clang] [llvm] Implement resource binding type prefix mismatch errors (PR #87578)

2024-04-29 Thread Joshua Batista via cfe-commits


@@ -44,7 +44,7 @@ void foo2() {
   // expected-warning@+1 {{'register' attribute only applies to 
cbuffer/tbuffer and external global variables}}
   extern RWBuffer U2 : register(u5);
 }
-// FIXME: expect-error once fix 
https://github.com/llvm/llvm-project/issues/57886.
+// expected-error@+1 {{invalid register name prefix 'u' for 'float' (expected 
't')}}

bob80905 wrote:

I don't have a prior example to base this off of at hand, but I think I saw 
some hlsl with a builtin type bound to a register and the valid prefix was 't'.
To answer your question, the assignment is represented as a VarDecl, so the 
compiler assumes this resource is a Sampler, UAV, or  SRV. Then the resource 
type is analyzed to see if it's a builtin (float happens to be a builtin).
Then we check the binding prefix to see if it's 't', and if not, emit an error. 
float is a builtin type, and the prefix isn't t, so that's why this test case 
expects 't'.
What prefix should it expect, if any?

https://github.com/llvm/llvm-project/pull/87578
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[llvm-branch-commits] [clang] f341c76 - [Clang] Handle structs with inner structs and no fields (#89126)

2024-04-29 Thread Tom Stellard via llvm-branch-commits
EL: define dso_local void @_ZN3foo3barC1Ev(
+// CHECK-SAME: ptr noundef nonnull align 4 dereferenceable(1) [[THIS:%.*]]) 
unnamed_addr #[[ATTR0:[0-9]+]] align 2 {
+// CHECK-NEXT:  entry:
+// CHECK-NEXT:tail call void @_Z4initPvU25pass_dynamic_object_size0(ptr 
noundef nonnull [[THIS]], i64 noundef -1) #[[ATTR2:[0-9]+]]
+// CHECK-NEXT:ret void
+//
+foo::bar::bar() {
+  init(array);
+}


    
_______
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [clang] [Clang] Handle structs with inner structs and no fields (#89126) (PR #90133)

2024-04-29 Thread Tom Stellard via llvm-branch-commits

https://github.com/tstellar closed 
https://github.com/llvm/llvm-project/pull/90133
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[clang] [WebAssembly] Add preprocessor define for half-precision (PR #90528)

2024-04-29 Thread via cfe-commits

llvmbot wrote:



@llvm/pr-subscribers-backend-webassembly

@llvm/pr-subscribers-clang

Author: Heejin Ahn (aheejin)


Changes

This adds the preprocessor define for the half-precision feature and also adds 
preprocessor tests.

---
Full diff: https://github.com/llvm/llvm-project/pull/90528.diff


2 Files Affected:

- (modified) clang/lib/Basic/Targets/WebAssembly.cpp (+2) 
- (modified) clang/test/Preprocessor/wasm-target-features.c (+12) 


``diff
diff --git a/clang/lib/Basic/Targets/WebAssembly.cpp 
b/clang/lib/Basic/Targets/WebAssembly.cpp
index 0db7b668d8a0ac..1f0418b21c1f86 100644
--- a/clang/lib/Basic/Targets/WebAssembly.cpp
+++ b/clang/lib/Basic/Targets/WebAssembly.cpp
@@ -100,6 +100,8 @@ void WebAssemblyTargetInfo::getTargetDefines(const 
LangOptions ,
 Builder.defineMacro("__wasm_extended_const__");
   if (HasMultiMemory)
 Builder.defineMacro("__wasm_multimemory__");
+  if (HasHalfPrecision)
+Builder.defineMacro("__wasm_half_precision__");
 
   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
diff --git a/clang/test/Preprocessor/wasm-target-features.c 
b/clang/test/Preprocessor/wasm-target-features.c
index 19bd918543dfea..72ecc60a6e7898 100644
--- a/clang/test/Preprocessor/wasm-target-features.c
+++ b/clang/test/Preprocessor/wasm-target-features.c
@@ -43,6 +43,15 @@
 //
 // EXTENDED-CONST: #define __wasm_extended_const__ 1{{$}}
 
+// RUN: %clang -E -dM %s -o - 2>&1 \
+// RUN: -target wasm32-unknown-unknown -mhalf-precision \
+// RUN:   | FileCheck %s -check-prefix=HALF-PRECISION
+// RUN: %clang -E -dM %s -o - 2>&1 \
+// RUN: -target wasm64-unknown-unknown -mhalf-precision \
+// RUN:   | FileCheck %s -check-prefix=HALF-PRECISION
+//
+// HALF-PRECISION: #define __wasm_half_precision__ 1{{$}}
+
 // RUN: %clang -E -dM %s -o - 2>&1 \
 // RUN: -target wasm32-unknown-unknown -mmultimemory \
 // RUN:   | FileCheck %s -check-prefix=MULTIMEMORY
@@ -135,6 +144,7 @@
 // MVP-NOT: #define __wasm_bulk_memory__ 1{{$}}
 // MVP-NOT: #define __wasm_exception_handling__ 1{{$}}
 // MVP-NOT: #define __wasm_extended_const__ 1{{$}}
+// MVP-NOT: #define __wasm_half_precision__ 1{{$}}
 // MVP-NOT: #define __wasm_multimemory__ 1{{$}}
 // MVP-NOT: #define __wasm_multivalue__ 1{{$}}
 // MVP-NOT: #define __wasm_mutable_globals__ 1{{$}}
@@ -168,6 +178,7 @@
 // GENERIC-NOT: #define __wasm_bulk_memory__ 1{{$}}
 // GENERIC-NOT: #define __wasm_exception_handling__ 1{{$}}
 // GENERIC-NOT: #define __wasm_extended_const__ 1{{$}}
+// GENERIC-NOT: #define __wasm_half_precision__ 1{{$}}
 // GENERIC-NOT: #define __wasm_multimemory__ 1{{$}}
 // GENERIC-NOT: #define __wasm_nontrapping_fptoint__ 1{{$}}
 // GENERIC-NOT: #define __wasm_relaxed_simd__ 1{{$}}
@@ -183,6 +194,7 @@
 //
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_atomics__ 1{{$}}
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_bulk_memory__ 1{{$}}
+// BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_half_precision__ 1{{$}}
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_multimemory__ 1{{$}}
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_multivalue__ 1{{$}}
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_mutable_globals__ 1{{$}}

``




https://github.com/llvm/llvm-project/pull/90528
_______
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [WebAssembly] Add preprocessor define for half-precision (PR #90528)

2024-04-29 Thread Heejin Ahn via cfe-commits

aheejin wrote:

cc @brendandahl (I couldn't add you as a reviewer because you didn't pop up in 
the reviewers list)

Also, this just adds the preprocessor directive, but I'm wondering whether you 
really meant to add this to bleeding-edge: 
https://github.com/llvm/llvm-project/commit/d9fd0ddef38bb9d5cce7300ff820272183c09fcd#r141495634

https://github.com/llvm/llvm-project/pull/90528
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


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

2024-04-29 Thread via cfe-commits

https://github.com/jyu2-git edited 
https://github.com/llvm/llvm-project/pull/90499
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [WebAssembly] Add preprocessor define for half-precision (PR #90528)

2024-04-29 Thread Heejin Ahn via cfe-commits

https://github.com/aheejin created 
https://github.com/llvm/llvm-project/pull/90528

This adds the preprocessor define for the half-precision feature and also adds 
preprocessor tests.

>From 036d8a7486eab8ee2b434826c6ad5807daba2574 Mon Sep 17 00:00:00 2001
From: Heejin Ahn 
Date: Mon, 29 Apr 2024 22:02:52 +
Subject: [PATCH] [WebAssembly] Add preprocessor define for half-precision

This adds the preprocessor define for the half-precision feature and
also adds preprocessor tests.
---
 clang/lib/Basic/Targets/WebAssembly.cpp|  2 ++
 clang/test/Preprocessor/wasm-target-features.c | 12 
 2 files changed, 14 insertions(+)

diff --git a/clang/lib/Basic/Targets/WebAssembly.cpp 
b/clang/lib/Basic/Targets/WebAssembly.cpp
index 0db7b668d8a0ac..1f0418b21c1f86 100644
--- a/clang/lib/Basic/Targets/WebAssembly.cpp
+++ b/clang/lib/Basic/Targets/WebAssembly.cpp
@@ -100,6 +100,8 @@ void WebAssemblyTargetInfo::getTargetDefines(const 
LangOptions ,
 Builder.defineMacro("__wasm_extended_const__");
   if (HasMultiMemory)
 Builder.defineMacro("__wasm_multimemory__");
+  if (HasHalfPrecision)
+Builder.defineMacro("__wasm_half_precision__");
 
   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
diff --git a/clang/test/Preprocessor/wasm-target-features.c 
b/clang/test/Preprocessor/wasm-target-features.c
index 19bd918543dfea..72ecc60a6e7898 100644
--- a/clang/test/Preprocessor/wasm-target-features.c
+++ b/clang/test/Preprocessor/wasm-target-features.c
@@ -43,6 +43,15 @@
 //
 // EXTENDED-CONST: #define __wasm_extended_const__ 1{{$}}
 
+// RUN: %clang -E -dM %s -o - 2>&1 \
+// RUN: -target wasm32-unknown-unknown -mhalf-precision \
+// RUN:   | FileCheck %s -check-prefix=HALF-PRECISION
+// RUN: %clang -E -dM %s -o - 2>&1 \
+// RUN: -target wasm64-unknown-unknown -mhalf-precision \
+// RUN:   | FileCheck %s -check-prefix=HALF-PRECISION
+//
+// HALF-PRECISION: #define __wasm_half_precision__ 1{{$}}
+
 // RUN: %clang -E -dM %s -o - 2>&1 \
 // RUN: -target wasm32-unknown-unknown -mmultimemory \
 // RUN:   | FileCheck %s -check-prefix=MULTIMEMORY
@@ -135,6 +144,7 @@
 // MVP-NOT: #define __wasm_bulk_memory__ 1{{$}}
 // MVP-NOT: #define __wasm_exception_handling__ 1{{$}}
 // MVP-NOT: #define __wasm_extended_const__ 1{{$}}
+// MVP-NOT: #define __wasm_half_precision__ 1{{$}}
 // MVP-NOT: #define __wasm_multimemory__ 1{{$}}
 // MVP-NOT: #define __wasm_multivalue__ 1{{$}}
 // MVP-NOT: #define __wasm_mutable_globals__ 1{{$}}
@@ -168,6 +178,7 @@
 // GENERIC-NOT: #define __wasm_bulk_memory__ 1{{$}}
 // GENERIC-NOT: #define __wasm_exception_handling__ 1{{$}}
 // GENERIC-NOT: #define __wasm_extended_const__ 1{{$}}
+// GENERIC-NOT: #define __wasm_half_precision__ 1{{$}}
 // GENERIC-NOT: #define __wasm_multimemory__ 1{{$}}
 // GENERIC-NOT: #define __wasm_nontrapping_fptoint__ 1{{$}}
 // GENERIC-NOT: #define __wasm_relaxed_simd__ 1{{$}}
@@ -183,6 +194,7 @@
 //
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_atomics__ 1{{$}}
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_bulk_memory__ 1{{$}}
+// BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_half_precision__ 1{{$}}
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_multimemory__ 1{{$}}
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_multivalue__ 1{{$}}
 // BLEEDING-EDGE-INCLUDE-DAG: #define __wasm_mutable_globals__ 1{{$}}

_______
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[llvm-branch-commits] [clang] [Clang] Handle structs with inner structs and no fields (#89126) (PR #90133)

2024-04-29 Thread Tom Stellard via llvm-branch-commits
 bar {
+int array[];
+bar();
+  };
+};
+
+void init(void * __attribute__((pass_dynamic_object_size(0;
+
+// CHECK-LABEL: define dso_local void @_ZN3foo3barC1Ev(
+// CHECK-SAME: ptr noundef nonnull align 4 dereferenceable(1) [[THIS:%.*]]) 
unnamed_addr #[[ATTR0:[0-9]+]] align 2 {
+// CHECK-NEXT:  entry:
+// CHECK-NEXT:tail call void @_Z4initPvU25pass_dynamic_object_size0(ptr 
noundef nonnull [[THIS]], i64 noundef -1) #[[ATTR2:[0-9]+]]
+// CHECK-NEXT:ret void
+//
+foo::bar::bar() {
+  init(array);
+}

_______
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] abf6b13 - [IRCE] Skip icmp ptr in `InductiveRangeCheck::parseRangeCheckICmp` (#89967)

2024-04-29 Thread Tom Stellard via llvm-branch-commits

Author: Yingwei Zheng
Date: 2024-04-29T15:47:28-07:00
New Revision: abf6b13085fbffe6d0384420d9bf562e2f1698c8

URL: 
https://github.com/llvm/llvm-project/commit/abf6b13085fbffe6d0384420d9bf562e2f1698c8
DIFF: 
https://github.com/llvm/llvm-project/commit/abf6b13085fbffe6d0384420d9bf562e2f1698c8.diff

LOG: [IRCE] Skip icmp ptr in `InductiveRangeCheck::parseRangeCheckICmp` (#89967)

Fixes https://github.com/llvm/llvm-project/issues/89959.

(cherry picked from commit 22da5a6e34ed6146752b24d9156a678b50fddaef)

Added: 
llvm/test/Transforms/IRCE/pr89959.ll

Modified: 
llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp

Removed: 




diff  --git a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp 
b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
index 9df28747570c4d..104e8ceb796700 100644
--- a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
+++ b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
@@ -279,6 +279,9 @@ bool InductiveRangeCheck::parseRangeCheckICmp(Loop *L, 
ICmpInst *ICI,
   Value *LHS = ICI->getOperand(0);
   Value *RHS = ICI->getOperand(1);
 
+  if (!LHS->getType()->isIntegerTy())
+return false;
+
   // Canonicalize to the `Index Pred Invariant` comparison
   if (IsLoopInvariant(LHS)) {
 std::swap(LHS, RHS);

diff  --git a/llvm/test/Transforms/IRCE/pr89959.ll 
b/llvm/test/Transforms/IRCE/pr89959.ll
new file mode 100644
index 00..dc7c0dfbc57a97
--- /dev/null
+++ b/llvm/test/Transforms/IRCE/pr89959.ll
@@ -0,0 +1,33 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 
UTC_ARGS: --version 4
+; RUN: opt -passes=irce -S < %s 2>&1 | FileCheck %s
+
+; Make sure we don't crash.
+define void @pr89959() {
+; CHECK-LABEL: define void @pr89959() {
+; CHECK-NEXT:  top:
+; CHECK-NEXT:br label [[L3:%.*]]
+; CHECK:   L3:
+; CHECK-NEXT:[[VALUE_PHI:%.*]] = phi ptr [ null, [[TOP:%.*]] ], [ 
[[TMP0:%.*]], [[L13:%.*]] ]
+; CHECK-NEXT:[[TMP0]] = getelementptr i8, ptr [[VALUE_PHI]], i64 8
+; CHECK-NEXT:[[DOTNOT:%.*]] = icmp ule ptr [[VALUE_PHI]], null
+; CHECK-NEXT:br i1 [[DOTNOT]], label [[L13]], label [[L15:%.*]]
+; CHECK:   L13:
+; CHECK-NEXT:br label [[L3]]
+; CHECK:   L15:
+; CHECK-NEXT:ret void
+;
+top:
+  br label %L3
+
+L3:
+  %value_phi = phi ptr [ null, %top ], [ %0, %L13 ]
+  %0 = getelementptr i8, ptr %value_phi, i64 8
+  %.not = icmp ule ptr %value_phi, null
+  br i1 %.not, label %L13, label %L15
+
+L13:
+  br label %L3
+
+L15:
+  ret void
+}



_______
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] release/18.x: [IRCE] Skip icmp ptr in `InductiveRangeCheck::parseRangeCheckICmp` (#89967) (PR #90182)

2024-04-29 Thread Tom Stellard via llvm-branch-commits

https://github.com/tstellar closed 
https://github.com/llvm/llvm-project/pull/90182
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[llvm-branch-commits] [llvm] release/18.x: [IRCE] Skip icmp ptr in `InductiveRangeCheck::parseRangeCheckICmp` (#89967) (PR #90182)

2024-04-29 Thread Tom Stellard via llvm-branch-commits

https://github.com/tstellar updated 
https://github.com/llvm/llvm-project/pull/90182

>From abf6b13085fbffe6d0384420d9bf562e2f1698c8 Mon Sep 17 00:00:00 2001
From: Yingwei Zheng 
Date: Fri, 26 Apr 2024 16:25:33 +0800
Subject: [PATCH] [IRCE] Skip icmp ptr in
 `InductiveRangeCheck::parseRangeCheckICmp` (#89967)

Fixes https://github.com/llvm/llvm-project/issues/89959.

(cherry picked from commit 22da5a6e34ed6146752b24d9156a678b50fddaef)
---
 .../Scalar/InductiveRangeCheckElimination.cpp |  3 ++
 llvm/test/Transforms/IRCE/pr89959.ll  | 33 +++
 2 files changed, 36 insertions(+)
 create mode 100644 llvm/test/Transforms/IRCE/pr89959.ll

diff --git a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp 
b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
index 9df28747570c4d..104e8ceb796700 100644
--- a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
+++ b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
@@ -279,6 +279,9 @@ bool InductiveRangeCheck::parseRangeCheckICmp(Loop *L, 
ICmpInst *ICI,
   Value *LHS = ICI->getOperand(0);
   Value *RHS = ICI->getOperand(1);
 
+  if (!LHS->getType()->isIntegerTy())
+return false;
+
   // Canonicalize to the `Index Pred Invariant` comparison
   if (IsLoopInvariant(LHS)) {
 std::swap(LHS, RHS);
diff --git a/llvm/test/Transforms/IRCE/pr89959.ll 
b/llvm/test/Transforms/IRCE/pr89959.ll
new file mode 100644
index 00..dc7c0dfbc57a97
--- /dev/null
+++ b/llvm/test/Transforms/IRCE/pr89959.ll
@@ -0,0 +1,33 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 
UTC_ARGS: --version 4
+; RUN: opt -passes=irce -S < %s 2>&1 | FileCheck %s
+
+; Make sure we don't crash.
+define void @pr89959() {
+; CHECK-LABEL: define void @pr89959() {
+; CHECK-NEXT:  top:
+; CHECK-NEXT:br label [[L3:%.*]]
+; CHECK:   L3:
+; CHECK-NEXT:[[VALUE_PHI:%.*]] = phi ptr [ null, [[TOP:%.*]] ], [ 
[[TMP0:%.*]], [[L13:%.*]] ]
+; CHECK-NEXT:[[TMP0]] = getelementptr i8, ptr [[VALUE_PHI]], i64 8
+; CHECK-NEXT:[[DOTNOT:%.*]] = icmp ule ptr [[VALUE_PHI]], null
+; CHECK-NEXT:br i1 [[DOTNOT]], label [[L13]], label [[L15:%.*]]
+; CHECK:   L13:
+; CHECK-NEXT:br label [[L3]]
+; CHECK:   L15:
+; CHECK-NEXT:ret void
+;
+top:
+  br label %L3
+
+L3:
+  %value_phi = phi ptr [ null, %top ], [ %0, %L13 ]
+  %0 = getelementptr i8, ptr %value_phi, i64 8
+  %.not = icmp ule ptr %value_phi, null
+  br i1 %.not, label %L13, label %L15
+
+L13:
+  br label %L3
+
+L15:
+  ret void
+}

_______
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[Lldb-commits] [lldb] Skip various tests under ASAN on green dragon (PR #90531)

2024-04-29 Thread via lldb-commits

github-actions[bot] wrote:




:warning: Python code formatter, darker found issues in your code. :warning:



You can test this locally with the following command:


``bash
darker --check --diff -r 
975eca0e6a3459e59e96b0df33ea0cfbd157c597...46d19cc3211fa6e27f7e49238777e533c0a173bc
 lldb/packages/Python/lldbsuite/test/decorators.py 
lldb/test/API/driver/batch_mode/TestBatchMode.py 
lldb/test/API/driver/job_control/TestJobControl.py 
lldb/test/API/driver/quit_speed/TestQuitWithProcess.py 
lldb/test/API/iohandler/sigint/TestProcessIOHandlerInterrupt.py 
lldb/test/API/macosx/nslog/TestDarwinNSLogOutput.py 
lldb/test/API/terminal/TestSTTYBeforeAndAfter.py
``





View the diff from darker here.


``diff
--- packages/Python/lldbsuite/test/decorators.py2024-04-29 
22:38:25.00 +
+++ packages/Python/lldbsuite/test/decorators.py2024-04-29 
22:46:41.105318 +
@@ -373,11 +373,11 @@
 py_version=None,
 macos_version=None,
 remote=None,
 dwarf_version=None,
 setting=None,
-asan=None
+asan=None,
 ):
 return _decorateTest(
 DecorateMode.Skip,
 bugnumber=bugnumber,
 oslist=oslist,
@@ -391,11 +391,11 @@
 py_version=py_version,
 macos_version=macos_version,
 remote=remote,
 dwarf_version=dwarf_version,
 setting=setting,
-asan=asan
+asan=asan,
 )
 
 
 def _skip_fn_for_android(reason, api_levels, archs):
 def impl():

``




https://github.com/llvm/llvm-project/pull/90531
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[llvm-branch-commits] [clang] ee5bb0c - Fix Objective-C++ Sret of non-trivial data types on Windows ARM64 (#88671)

2024-04-29 Thread Tom Stellard via llvm-branch-commits
m64.mm
@@ -0,0 +1,77 @@
+// RUN: %clang_cc1 -triple aarch64-pc-windows-msvc -fobjc-runtime=gnustep-2.2 
-fobjc-dispatch-method=non-legacy -emit-llvm -o - %s | FileCheck %s
+
+// Pass and return for type size <= 8 bytes.
+struct S1 {
+  int a[2];
+};
+
+// Pass and return hfa <= 8 bytes
+struct F1 {
+  float a[2];
+};
+
+// Pass and return for type size > 16 bytes.
+struct S2 {
+  int a[5];
+};
+
+// Pass and return aggregate (of size < 16 bytes) with non-trivial destructor.
+// Sret and inreg: Returned in x0
+struct S3 {
+  int a[3];
+  ~S3();
+};
+S3::~S3() {
+}
+
+
+@interface MsgTest { id isa; } @end
+@implementation MsgTest 
+- (S1) smallS1 {
+  S1 x;
+  x.a[0] = 0;
+  x.a[1] = 1;
+  return x;
+
+}
+- (F1) smallF1 {
+  F1 x;
+  x.a[0] = 0.2f;
+  x.a[1] = 0.5f;
+  return x;
+}
+- (S2) stretS2 {
+  S2 x;
+  for (int i = 0; i < 5; i++) {
+x.a[i] = i;
+  }
+  return x;
+}
+- (S3) stretInRegS3 {
+  S3 x;
+  for (int i = 0; i < 3; i++) {
+x.a[i] = i;
+  }
+  return x;
+}
++ (S3) msgTestStretInRegS3 {
+  S3 x;
+  for (int i = 0; i < 3; i++) {
+x.a[i] = i;
+  }
+  return x;
+}
+@end
+
+void test0(MsgTest *t) {
+// CHECK: call {{.*}} @objc_msgSend
+S1 ret = [t smallS1];
+// CHECK: call {{.*}} @objc_msgSend
+F1 ret2 = [t smallF1];
+// CHECK: call {{.*}} @objc_msgSend_stret
+S2 ret3 = [t stretS2];
+// CHECK: call {{.*}} @objc_msgSend_stret2
+S3 ret4 = [t stretInRegS3];
+// CHECK: call {{.*}} @objc_msgSend_stret2
+    S3 ret5 = [MsgTest msgTestStretInRegS3];
+}



___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits


[Lldb-commits] [lldb] Skip various tests under ASAN on green dragon (PR #90531)

2024-04-29 Thread Jonas Devlieghere via lldb-commits

https://github.com/JDevlieghere approved this pull request.


https://github.com/llvm/llvm-project/pull/90531
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


  1   2   3   4   5   6   7   8   9   10   >