[llvm-branch-commits] [llvm] PR for llvm/llvm-project#80877 (PR #80878)

2024-02-06 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

> This PR, if merged into 18.1, should fix 
> [rust-lang/rust#108835](https://github.com/rust-lang/rust/issues/108835)

Ya, that's especially why I pushed it.

https://github.com/llvm/llvm-project/pull/80878
___
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] [Sparc] limit MaxAtomicSizeInBitsSupported to 32 for 32-bit Sparc. (#81655) (PR #81713)

2024-02-13 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 created https://github.com/llvm/llvm-project/pull/81713

When in 32-bit mode, the backend doesn't currently implement 64-bit atomics, 
even though the hardware is capable if you have specified a V9 CPU. Thus, limit 
the width to 32-bit, for now, leaving behind a TODO.

This fixes a regression triggered by PR #73176.

(cherry picked from commit c1a99b2c77499176362f24f09a39850867122ea4)

>From 564fbdef0327af0fb24939171b891955e1062ffc Mon Sep 17 00:00:00 2001
From: Brad Smith 
Date: Wed, 14 Feb 2024 02:11:56 -0500
Subject: [PATCH] [Sparc] limit MaxAtomicSizeInBitsSupported to 32 for 32-bit 
 Sparc. (#81655)

When in 32-bit mode, the backend doesn't currently implement 64-bit
atomics, even though the hardware is capable if you have specified a V9
CPU. Thus, limit the width to 32-bit, for now, leaving behind a TODO.

This fixes a regression triggered by PR #73176.

(cherry picked from commit c1a99b2c77499176362f24f09a39850867122ea4)
---
 llvm/lib/Target/Sparc/SparcISelLowering.cpp   |  11 +-
 llvm/test/CodeGen/SPARC/64atomics.ll  |  54 
 .../CodeGen/SPARC/atomicrmw-uinc-udec-wrap.ll | 120 +-
 3 files changed, 96 insertions(+), 89 deletions(-)

diff --git a/llvm/lib/Target/Sparc/SparcISelLowering.cpp 
b/llvm/lib/Target/Sparc/SparcISelLowering.cpp
index bdefb0841a124b..13184a1eb0b101 100644
--- a/llvm/lib/Target/Sparc/SparcISelLowering.cpp
+++ b/llvm/lib/Target/Sparc/SparcISelLowering.cpp
@@ -1764,9 +1764,14 @@ SparcTargetLowering::SparcTargetLowering(const 
TargetMachine &TM,
   // Atomics are supported on SparcV9. 32-bit atomics are also
   // supported by some Leon SparcV8 variants. Otherwise, atomics
   // are unsupported.
-  if (Subtarget->isV9())
-setMaxAtomicSizeInBitsSupported(64);
-  else if (Subtarget->hasLeonCasa())
+  if (Subtarget->isV9()) {
+// TODO: we _ought_ to be able to support 64-bit atomics on 32-bit sparcv9,
+// but it hasn't been implemented in the backend yet.
+if (Subtarget->is64Bit())
+  setMaxAtomicSizeInBitsSupported(64);
+else
+  setMaxAtomicSizeInBitsSupported(32);
+  } else if (Subtarget->hasLeonCasa())
 setMaxAtomicSizeInBitsSupported(32);
   else
 setMaxAtomicSizeInBitsSupported(0);
diff --git a/llvm/test/CodeGen/SPARC/64atomics.ll 
b/llvm/test/CodeGen/SPARC/64atomics.ll
index 89175b6242e639..b11c0498fbbb46 100644
--- a/llvm/test/CodeGen/SPARC/64atomics.ll
+++ b/llvm/test/CodeGen/SPARC/64atomics.ll
@@ -1,12 +1,14 @@
-; RUN: llc < %s -march=sparcv9 -verify-machineinstrs | FileCheck %s
+; RUN: llc < %s -march=sparc -mcpu=v9 -verify-machineinstrs | FileCheck %s 
--check-prefixes=SPARC,SPARC32
+; RUN: llc < %s -march=sparcv9 -verify-machineinstrs | FileCheck %s 
--check-prefixes=SPARC,SPARC64
 
-; CHECK-LABEL: test_atomic_i64
-; CHECK:   ldx [%o0]
-; CHECK:   membar
-; CHECK:   ldx [%o1]
-; CHECK:   membar
-; CHECK:   membar
-; CHECK:   stx {{.+}}, [%o2]
+; SPARC-LABEL: test_atomic_i64
+; SPARC32:   __atomic_load_8
+; SPARC64:   ldx [%o0]
+; SPARC64:   membar
+; SPARC64:   ldx [%o1]
+; SPARC64:   membar
+; SPARC64:   membar
+; SPARC64:   stx {{.+}}, [%o2]
 define i64 @test_atomic_i64(i64* %ptr1, i64* %ptr2, i64* %ptr3) {
 entry:
   %0 = load atomic i64, i64* %ptr1 acquire, align 8
@@ -16,9 +18,10 @@ entry:
   ret i64 %2
 }
 
-; CHECK-LABEL: test_cmpxchg_i64
-; CHECK:   mov 123, [[R:%[gilo][0-7]]]
-; CHECK:   casx [%o1], %o0, [[R]]
+; SPARC-LABEL: test_cmpxchg_i64
+; SPARC32:   __atomic_compare_exchange_8
+; SPARC64:   mov 123, [[R:%[gilo][0-7]]]
+; SPARC64:   casx [%o1], %o0, [[R]]
 
 define i64 @test_cmpxchg_i64(i64 %a, i64* %ptr) {
 entry:
@@ -27,8 +30,9 @@ entry:
   ret i64 %b
 }
 
-; CHECK-LABEL: test_swap_i64
-; CHECK:   casx [%o1],
+; SPARC-LABEL: test_swap_i64
+; SPARC32:   __atomic_exchange_8
+; SPARC64:   casx [%o1],
 
 define i64 @test_swap_i64(i64 %a, i64* %ptr) {
 entry:
@@ -36,23 +40,25 @@ entry:
   ret i64 %b
 }
 
-; CHECK-LABEL: test_load_sub_64
-; CHECK: membar
-; CHECK: sub
-; CHECK: casx [%o0]
-; CHECK: membar
+; SPARC-LABEL: test_load_sub_64
+; SPARC32: __atomic_fetch_sub_8
+; SPARC64: membar
+; SPARC64: sub
+; SPARC64: casx [%o0]
+; SPARC64: membar
 define zeroext i64 @test_load_sub_64(i64* %p, i64 zeroext %v) {
 entry:
   %0 = atomicrmw sub i64* %p, i64 %v seq_cst
   ret i64 %0
 }
 
-; CHECK-LABEL: test_load_max_64
-; CHECK: membar
-; CHECK: cmp
-; CHECK: movg %xcc
-; CHECK: casx [%o0]
-; CHECK: membar
+; SPARC-LABEL: test_load_max_64
+; SPARC32: __atomic_compare_exchange_8
+; SPARC64: membar
+; SPARC64: cmp
+; SPARC64: movg %xcc
+; SPARC64: casx [%o0]
+; SPARC64: membar
 define zeroext i64 @test_load_max_64(i64* %p, i64 zeroext %v) {
 entry:
   %0 = atomicrmw max i64* %p, i64 %v seq_cst
diff --git a/llvm/test/CodeGen/SPARC/atomicrmw-uinc-udec-wrap.ll 
b/llvm/test/CodeGen/SPARC/atomicrmw-uinc-udec-wrap.ll
index 9b49035c460407..0f9feeb17716af 100644
--- a/llvm/test/CodeGen/SPARC/atomicrmw-u

[llvm-branch-commits] [llvm] [Sparc] limit MaxAtomicSizeInBitsSupported to 32 for 32-bit Sparc. (#81655) (PR #81713)

2024-02-13 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 milestoned 
https://github.com/llvm/llvm-project/pull/81713
___
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: [Support/ELF] Add OpenBSD PT_OPENBSD_SYSCALLS constant. (PR #82143)

2024-02-17 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/82143
___
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: [llvm-readobj] Add support for the PT_OPENBSD_SYSCALLS segment type. (#82122) (PR #82318)

2024-02-20 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/82318
___
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: [llvm-objdump] Add support for the PT_OPENBSD_SYSCALLS segment type. (#82121) (PR #82317)

2024-02-20 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/82317
___
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] [llvm-readobj, ELF] Support --decompress/-z (#82594) (PR #82713)

2024-02-22 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 milestoned 
https://github.com/llvm/llvm-project/pull/82713
___
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] [llvm-readobj, ELF] Support --decompress/-z (#82594) (PR #82713)

2024-02-22 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 created https://github.com/llvm/llvm-project/pull/82713

When a section has the SHF_COMPRESSED flag, -p/-x dump the compressed
content by default. In GNU readelf, if --decompress/-z is specified,
-p/-x will dump the decompressed content. This patch implements the
option.

Close #82507

(cherry picked from commit 26d71d9ed56c4c23e6284dac7a9bdf603a5801f3)

>From 0a534697de043d57fbc3c37591ee603b994e2606 Mon Sep 17 00:00:00 2001
From: Brad Smith 
Date: Thu, 22 Feb 2024 19:20:28 -0500
Subject: [PATCH] [llvm-readobj,ELF] Support --decompress/-z (#82594)

When a section has the SHF_COMPRESSED flag, -p/-x dump the compressed
content by default. In GNU readelf, if --decompress/-z is specified,
-p/-x will dump the decompressed content. This patch implements the
option.

Close #82507

(cherry picked from commit 26d71d9ed56c4c23e6284dac7a9bdf603a5801f3)
---
 llvm/docs/CommandGuide/llvm-readelf.rst   |  5 ++
 llvm/docs/CommandGuide/llvm-readobj.rst   |  5 ++
 .../ELF/decompress-zlib-unsupported.test  | 32 
 .../llvm-readobj/ELF/decompress-zlib.test | 76 +++
 .../ELF/decompress-zstd-unsupported.test  | 31 
 .../llvm-readobj/ELF/decompress-zstd.test | 28 +++
 llvm/tools/llvm-readobj/ObjDumper.cpp | 26 ++-
 llvm/tools/llvm-readobj/ObjDumper.h   |  4 +-
 llvm/tools/llvm-readobj/Opts.td   |  2 +
 llvm/tools/llvm-readobj/llvm-readobj.cpp  |  6 +-
 10 files changed, 209 insertions(+), 6 deletions(-)
 create mode 100644 
llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
 create mode 100644 llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
 create mode 100644 
llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
 create mode 100644 llvm/test/tools/llvm-readobj/ELF/decompress-zstd.test

diff --git a/llvm/docs/CommandGuide/llvm-readelf.rst 
b/llvm/docs/CommandGuide/llvm-readelf.rst
index 6ee4a5dfb15917..675628fdda45ec 100644
--- a/llvm/docs/CommandGuide/llvm-readelf.rst
+++ b/llvm/docs/CommandGuide/llvm-readelf.rst
@@ -38,6 +38,11 @@ OPTIONS
  Display the contents of the basic block address map section(s), which contain 
the
  address of each function, along with the relative offset of each basic block.
 
+.. option:: --decompress, -z
+
+  Dump decompressed section content when used with ``-x`` or ``-p``.
+  If the section(s) are not compressed, they are displayed as is.
+
 .. option:: --demangle, -C
 
  Display demangled symbol names in the output.
diff --git a/llvm/docs/CommandGuide/llvm-readobj.rst 
b/llvm/docs/CommandGuide/llvm-readobj.rst
index cb9232ef5e560a..6d78a038723445 100644
--- a/llvm/docs/CommandGuide/llvm-readobj.rst
+++ b/llvm/docs/CommandGuide/llvm-readobj.rst
@@ -56,6 +56,11 @@ file formats.
 
  Display the address-significance table.
 
+.. option:: --decompress, -z
+
+  Dump decompressed section content when used with ``-x`` or ``-p``.
+  If the section(s) are not compressed, they are displayed as is.
+
 .. option:: --expand-relocs
 
  When used with :option:`--relocs`, display each relocation in an expanded
diff --git a/llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test 
b/llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
new file mode 100644
index 00..f4c73de7ca6c9d
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
@@ -0,0 +1,32 @@
+# UNSUPPORTED: zlib
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-readobj -z -p .a -x .b %t 2>&1 | FileCheck %s -DFILE=%t
+
+# CHECK:  String dump of section '.a':
+# CHECK-NEXT: warning: '[[FILE]]': LLVM was not built with LLVM_ENABLE_ZLIB or 
did not find zlib at build time
+# CHECK-NEXT: [ 0] .
+# CHECK-NEXT: [ 8] .
+# CHECK-NEXT: [10] .
+# CHECK-NEXT: [18] x.c.
+# CHECK-NEXT: [1e] .
+# CHECK-NEXT: [20] .
+# CHECK-NEXT: Hex dump of section '.b':
+# CHECK-NEXT: warning: '[[FILE]]': LLVM was not built with LLVM_ENABLE_ZLIB or 
did not find zlib at build time
+# CHECK-NEXT: 0x 0100  0100  
+# CHECK-NEXT: 0x0010 0100  789c6304 0200 x.c.
+# CHECK-NEXT: 0x0020 02  .
+
+--- !ELF
+FileHeader:
+  Class: ELFCLASS64
+  Data:  ELFDATA2LSB
+  Type:  ET_REL
+Sections:
+  - Name: .a
+Type: SHT_PROGBITS
+Flags: [SHF_COMPRESSED]
+Content: 010001000100789c6304020002
+  - Name: .b
+Type: SHT_PROGBITS
+Flags: [SHF_COMPRESSED]
+Content: 010001000100789c6304020002
diff --git a/llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test 
b/llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
new file mode 100644
index 00..ea7a8854eb1a0c
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
@@ -0,0 +1,76 @@
+# REQUIRES: zlib
+## Test --decompress/-z.
+
+# RUN: yaml2obj %s -o %t
+
+# RUN: llvm-readelf -z -x .s

[llvm-branch-commits] [llvm] release/18.x: [llvm-readobj, ELF] Support --decompress/-z (#82594) (PR #82693)

2024-02-22 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/82693
___
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] [llvm-readobj, ELF] Support --decompress/-z (#82594) (PR #82713)

2024-02-22 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

> Does `/cherry-pick $commit_id` work? I think it's the preferred way to 
> backport a commit.

I tried.  https://github.com/llvm/llvm-project/issues/82692

https://github.com/llvm/llvm-project/pull/82713
___
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] [llvm-readobj, ELF] Support --decompress/-z (#82594) (PR #82713)

2024-02-22 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/82713
___
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: [llvm-readobj, ELF] Support --decompress/-z (#82594) (PR #82718)

2024-02-22 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

> LGTM since this helps at least FreeBSD. Does OpenBSD want to try llvm binary 
> utilities?

We're slowly moving in that direction with sparing use of objcopy and readelf 
in some places with a desire for more like ar, ranlib and strip.

https://github.com/llvm/llvm-project/pull/82718
___
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] [openmp] release/18.x: [OpenMP] Implement __kmp_is_address_mapped on DragonFlyBSD. (#82895) (PR #82940)

2024-02-26 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

> @brad0 Generally we don't back port feature-implementation patches but we 
> (actually it's me) already made an exception by mistake 
> [ebc589e](https://github.com/llvm/llvm-project/commit/ebc589e44ffe7b77cc500f3d2dc1a7ba11dd82b1).
>  How many patches like this do you expect to be back ported?

Just this one. But I can drop it. It's not critical.

https://github.com/llvm/llvm-project/pull/82940
___
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] [openmp] release/18.x: [OpenMP] Implement __kmp_is_address_mapped on DragonFlyBSD. (#82895) (PR #82940)

2024-02-26 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/82940
___
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] [lld] [llvm] release/18.x: [Mips] Fix unable to handle inline assembly ends with compat-branch o… (#77291) (PR #82870)

2024-02-26 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/82870
___
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] [Sparc] limit MaxAtomicSizeInBitsSupported to 32 for 32-bit Sparc. (#81655) (PR #81713)

2024-03-01 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/81713
___
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: [Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072) (PR #84566)

2024-03-11 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

@topperc 

https://github.com/llvm/llvm-project/pull/84566
___
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: MIPS: fix emitDirectiveCpsetup on N32 (#80534) (PR #83198)

2024-03-11 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/83198
___
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] Backport #85277 (PR #85422)

2024-03-16 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

/cherry-pick 328cb9b731cb61eaa853fa6cc3bd641dd1d71b98

https://github.com/llvm/llvm-project/pull/85422
___
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: [Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072) (PR #84566)

2024-03-16 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/84566
___
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: [AVR] Remove earlyclobber from LDDRdPtrQ (#85277) (PR #85512)

2024-03-16 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/85512
___
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] Backport #85277 (PR #85422)

2024-03-16 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 reopened 
https://github.com/llvm/llvm-project/pull/85422
___
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] Backport #85277 (PR #85422)

2024-03-16 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

Sorry, I didn't mean to mess that up.

https://github.com/llvm/llvm-project/pull/85422
___
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: [Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072) (PR #84566)

2024-03-19 Thread Brad Smith via llvm-branch-commits


@@ -2001,8 +2225,6 @@ define i16 @test_umax_16(ptr nocapture %ptr, i16 signext 
%val) {
 ; MIPSELR6-NEXT:  $BB6_1: # %entry
 ; MIPSELR6-NEXT:# =>This Inner Loop Header: Depth=1
 ; MIPSELR6-NEXT:ll $2, 0($6)
-; MIPSELR6-NEXT:and $2, $2, $8

brad0 wrote:

> @brad0 I think I missed this in the previous review. Why is it ok to remove 
> the AND from the unsigned tests? My original command about the AND being 
> unnecssary was for the signed cases.

Looking at the PR I am not sure that was clear and @yingopq might have 
interpreted your comment as to remove all together.

https://github.com/llvm/llvm-project/pull/84566
___
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: [Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072) (PR #84566)

2024-03-23 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/84566
___
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: [Mips] Restore wrong deletion of instruction 'and' in unsigned min/max processing. (#85902) (PR #86424)

2024-03-24 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

@topperc 

https://github.com/llvm/llvm-project/pull/86424
___
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] [openmp] release/18x: [OpenMP][AIX] Affinity implementation for AIX (#84984) (PR #86695)

2024-03-30 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/86695
___
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] [libcxx] [libcxxabi] release/18.x: [libcxx][libcxxabi] Fix build for OpenBSD (#92186) (PR #92601)

2024-05-17 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/92601
___
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] release/18.x: [clang] Don't assume location of compiler-rt for OpenBSD (#92183) (PR #92293)

2024-05-17 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/92293
___
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] [libcxx] [libcxxabi] release/18.x: [libcxx][libcxxabi] Fix build for OpenBSD (#92186) (PR #92601)

2024-05-17 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

> Thanks, both of you. I can't merge these, so I am guessing someone else will 
> come along that can?

The RE manager does. This release cycle being tsteller.

https://github.com/llvm/llvm-project/pull/92601
___
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] [llvm] [SPARC] Prefer RDPC over CALL to implement GETPCX for 64-bit target (PR #77196)

2024-01-14 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/77196
___
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] [llvm] [SPARC] Prefer RDPC over CALL to implement GETPCX for 64-bit target (PR #77196)

2024-01-14 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

I intentionally restored the branch as I only noticed after the merge that the 
target branch was set incorrectly. It wasn't merged into the LLVM repo.

https://github.com/llvm/llvm-project/pull/77196
___
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] [clang] [SPARC] Prefer RDPC over CALL to implement GETPCX for 64-bit target (PR #77196)

2024-01-15 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

> Uh oh, seems like I couldn't merge it with the tool either... Guess I'll open 
> a new PR to merge this, would that be okay? @brad0 @s-barannikov

Ya, sure. Whatever path is easier and quickest for you.

https://github.com/llvm/llvm-project/pull/77196
___
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/19.x: [MIPS] Optimize sortRelocs for o32 (PR #106008)

2024-08-25 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 milestoned 
https://github.com/llvm/llvm-project/pull/106008
___
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] 018984a - [PowerPC] Fix va_arg in C++, Objective-C on 32-bit ELF targets

2021-01-22 Thread Brad Smith via llvm-branch-commits

Author: George Koehler
Date: 2021-01-23T00:13:36-05:00
New Revision: 018984ae6833fae107aa9c502ab5536efceca88e

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

LOG: [PowerPC] Fix va_arg in C++, Objective-C on 32-bit ELF targets

In the PPC32 SVR4 ABI, a va_list has copies of registers from the function call.
va_arg looked in the wrong registers for (the pointer representation of) an
object in Objective-C, and for some types in C++. Fix va_arg to look in the
general-purpose registers, not the floating-point registers. Also fix va_arg
for some C++ types, like a member function pointer, that are aggregates for
the ABI.

Anthony Richardby found the problem in Objective-C. Eli Friedman suggested
part of this fix.

Fixes https://bugs.llvm.org/show_bug.cgi?id=47921

Reviewed By: efriedma, nemanjai

Differential Revision: https://reviews.llvm.org/D90329

Added: 
clang/test/CodeGenCXX/ppc32-varargs-method.cpp
clang/test/CodeGenObjC/ppc32-varargs-id.m

Modified: 
clang/lib/CodeGen/TargetInfo.cpp

Removed: 




diff  --git a/clang/lib/CodeGen/TargetInfo.cpp 
b/clang/lib/CodeGen/TargetInfo.cpp
index 9a11a0720f3c..bcd24292ff41 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -4709,13 +4709,12 @@ Address PPC32_SVR4_ABIInfo::EmitVAArg(CodeGenFunction 
&CGF, Address VAList,
   // };
 
   bool isI64 = Ty->isIntegerType() && getContext().getTypeSize(Ty) == 64;
-  bool isInt =
-  Ty->isIntegerType() || Ty->isPointerType() || Ty->isAggregateType();
+  bool isInt = !Ty->isFloatingType();
   bool isF64 = Ty->isFloatingType() && getContext().getTypeSize(Ty) == 64;
 
   // All aggregates are passed indirectly?  That doesn't seem consistent
   // with the argument-lowering code.
-  bool isIndirect = Ty->isAggregateType();
+  bool isIndirect = isAggregateTypeForABI(Ty);
 
   CGBuilderTy &Builder = CGF.Builder;
 

diff  --git a/clang/test/CodeGenCXX/ppc32-varargs-method.cpp 
b/clang/test/CodeGenCXX/ppc32-varargs-method.cpp
new file mode 100644
index ..2295f0125a88
--- /dev/null
+++ b/clang/test/CodeGenCXX/ppc32-varargs-method.cpp
@@ -0,0 +1,20 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_cc1 -triple powerpc-unknown-openbsd -emit-llvm -o - %s | 
FileCheck %s
+
+#include 
+
+class something;
+typedef void (something::*method)();
+
+method test(va_list ap) {
+  return va_arg(ap, method);
+}
+// CHECK: using_regs:
+// CHECK-NEXT: getelementptr inbounds %struct.__va_list_tag, 
%struct.__va_list_tag* %{{[0-9]+}}, i32 0, i32 4
+// CHECK-NEXT: load i8*, i8** %{{[0-9]+}}, align 4
+// CHECK-NEXT: mul i8 %numUsedRegs, 4
+// CHECK-NEXT: getelementptr inbounds i8, i8* %{{[0-9]+}}, i8 %{{[0-9]+}}
+// CHECK-NEXT: bitcast i8* %{{[0-9]+}} to { i32, i32 }**
+// CHECK-NEXT: add i8 %numUsedRegs, 1
+// CHECK-NEXT: store i8 %{{[0-9]+}}, i8* %gpr, align 4
+// CHECK-NEXT: br label %cont

diff  --git a/clang/test/CodeGenObjC/ppc32-varargs-id.m 
b/clang/test/CodeGenObjC/ppc32-varargs-id.m
new file mode 100644
index ..3730efb02d28
--- /dev/null
+++ b/clang/test/CodeGenObjC/ppc32-varargs-id.m
@@ -0,0 +1,33 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_cc1 -triple powerpc-unknown-openbsd -fblocks -emit-llvm -o - %s 
| FileCheck %s
+
+#include 
+
+id testObject(va_list ap) {
+  return va_arg(ap, id);
+}
+// CHECK: @testObject
+// CHECK: using_regs:
+// CHECK-NEXT: getelementptr inbounds %struct.__va_list_tag, 
%struct.__va_list_tag* %{{[0-9]+}}, i32 0, i32 4
+// CHECK-NEXT: load i8*, i8** %{{[0-9]+}}, align 4
+// CHECK-NEXT: mul i8 %numUsedRegs, 4
+// CHECK-NEXT: getelementptr inbounds i8, i8* %{{[0-9]+}}, i8 %{{[0-9]+}}
+// CHECK-NEXT: bitcast i8* %{{[0-9]+}} to i8**
+// CHECK-NEXT: add i8 %numUsedRegs, 1
+// CHECK-NEXT: store i8 %{{[0-9]+}}, i8* %gpr, align 4
+// CHECK-NEXT: br label %cont
+
+typedef void (^block)(void);
+block testBlock(va_list ap) {
+  return va_arg(ap, block);
+}
+// CHECK: @testBlock
+// CHECK: using_regs:
+// CHECK-NEXT: getelementptr inbounds %struct.__va_list_tag, 
%struct.__va_list_tag* %{{[0-9]+}}, i32 0, i32 4
+// CHECK-NEXT: load i8*, i8** %{{[0-9]+}}, align 4
+// CHECK-NEXT: mul i8 %numUsedRegs, 4
+// CHECK-NEXT: getelementptr inbounds i8, i8* %{{[0-9]+}}, i8 %{{[0-9]+}}
+// CHECK-NEXT: bitcast i8* %{{[0-9]+}} to void ()**
+// CHECK-NEXT: add i8 %numUsedRegs, 1
+// CHECK-NEXT: store i8 %{{[0-9]+}}, i8* %gpr, align 4
+// CHECK-NEXT: br label %cont



___
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] [cfe-branch] r301083 - Merging r295614:

2017-04-24 Thread Brad Smith via llvm-branch-commits
Author: brad
Date: Sat Apr 22 11:45:56 2017
New Revision: 301083

URL: http://llvm.org/viewvc/llvm-project?rev=301083&view=rev
Log:
Merging r295614:


r295614 | brad | 2017-02-19 15:11:48 -0500 (Sun, 19 Feb 2017) | 2 lines

Always use --eh-frame-hdr on OpenBSD, even for -static


Modified:
cfe/branches/release_40/lib/Driver/Tools.cpp
cfe/branches/release_40/test/Driver/openbsd.c

Modified: cfe/branches/release_40/lib/Driver/Tools.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/lib/Driver/Tools.cpp?rev=301083&r1=301082&r2=301083&view=diff
==
--- cfe/branches/release_40/lib/Driver/Tools.cpp (original)
+++ cfe/branches/release_40/lib/Driver/Tools.cpp Sat Apr 22 11:45:56 2017
@@ -8907,12 +8907,12 @@ void openbsd::Linker::ConstructJob(Compi
 CmdArgs.push_back("__start");
   }
 
+  CmdArgs.push_back("--eh-frame-hdr");
   if (Args.hasArg(options::OPT_static)) {
 CmdArgs.push_back("-Bstatic");
   } else {
 if (Args.hasArg(options::OPT_rdynamic))
   CmdArgs.push_back("-export-dynamic");
-CmdArgs.push_back("--eh-frame-hdr");
 CmdArgs.push_back("-Bdynamic");
 if (Args.hasArg(options::OPT_shared)) {
   CmdArgs.push_back("-shared");

Modified: cfe/branches/release_40/test/Driver/openbsd.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/test/Driver/openbsd.c?rev=301083&r1=301082&r2=301083&view=diff
==
--- cfe/branches/release_40/test/Driver/openbsd.c (original)
+++ cfe/branches/release_40/test/Driver/openbsd.c Sat Apr 22 11:45:56 2017
@@ -3,6 +3,12 @@
 // CHECK-LD: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
 // CHECK-LD: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" 
"-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" 
"{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o"
 
+// Check for --eh-frame-hdr being passed with static linking
+// RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -static %s -### 
2>&1 \
+// RUN:   | FileCheck --check-prefix=CHECK-LD-STATIC-EH %s
+// CHECK-LD-STATIC-EH: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
+// CHECK-LD-STATIC-EH: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bstatic" 
"-o" "a.out" "{{.*}}rcrt0.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-lgcc" "-lc" 
"-lgcc" "{{.*}}crtend.o"
+
 // RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -pg -pthread %s 
-### 2>&1 \
 // RUN:   | FileCheck --check-prefix=CHECK-PG %s
 // CHECK-PG: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"


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


[llvm-branch-commits] [cfe-branch] r301084 - Merging r295635:

2017-04-24 Thread Brad Smith via llvm-branch-commits
Author: brad
Date: Sat Apr 22 11:53:19 2017
New Revision: 301084

URL: http://llvm.org/viewvc/llvm-project?rev=301084&view=rev
Log:
Merging r295635:


r295635 | brad | 2017-02-19 22:18:15 -0500 (Sun, 19 Feb 2017) | 5 lines

Enable support for __float128 in Clang on OpenBSD/X86

/usr/local/include/c++/4.9.4/type_traits:279:39: error: __float128 is not
supported on this target


Modified:
cfe/branches/release_40/lib/Basic/Targets.cpp
cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp

Modified: cfe/branches/release_40/lib/Basic/Targets.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/lib/Basic/Targets.cpp?rev=301084&r1=301083&r2=301084&view=diff
==
--- cfe/branches/release_40/lib/Basic/Targets.cpp (original)
+++ cfe/branches/release_40/lib/Basic/Targets.cpp Sat Apr 22 11:53:19 2017
@@ -545,6 +545,8 @@ protected:
 Builder.defineMacro("__ELF__");
 if (Opts.POSIXThreads)
   Builder.defineMacro("_REENTRANT");
+if (this->HasFloat128)
+  Builder.defineMacro("__FLOAT128__");
   }
 public:
   OpenBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
@@ -552,11 +554,11 @@ public:
 this->TLSSupported = false;
 
   switch (Triple.getArch()) {
-default:
 case llvm::Triple::x86:
 case llvm::Triple::x86_64:
-case llvm::Triple::arm:
-case llvm::Triple::sparc:
+  this->HasFloat128 = true;
+  // FALLTHROUGH
+default:
   this->MCountName = "__mcount";
   break;
 case llvm::Triple::mips64:

Modified: cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp?rev=301084&r1=301083&r2=301084&view=diff
==
--- cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp (original)
+++ cfe/branches/release_40/test/CodeGenCXX/float128-declarations.cpp Sat Apr 
22 11:53:19 2017
@@ -8,6 +8,10 @@
 // RUN:   %s -o - | FileCheck %s -check-prefix=CHECK-X86
 // RUN: %clang_cc1 -emit-llvm -triple systemz-unknown-linux-gnu -std=c++11 \
 // RUN:   %s -o - | FileCheck %s -check-prefix=CHECK-SYSZ
+// RUN: %clang_cc1 -emit-llvm -triple i686-pc-openbsd -std=c++11 \
+// RUN:   %s -o - | FileCheck %s -check-prefix=CHECK-X86
+// RUN: %clang_cc1 -emit-llvm -triple amd64-pc-openbsd -std=c++11 \
+// RUN:   %s -o - | FileCheck %s -check-prefix=CHECK-X86
 //
 /*  Various contexts where type __float128 can appear. The different check
 prefixes are due to different mangling on X86 and different calling


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


[llvm-branch-commits] [cfe-branch] r301085 - Merging r295786:

2017-04-24 Thread Brad Smith via llvm-branch-commits
Author: brad
Date: Sat Apr 22 12:05:51 2017
New Revision: 301085

URL: http://llvm.org/viewvc/llvm-project?rev=301085&view=rev
Log:
Merging r295786:


r295786 | brad | 2017-02-21 18:13:09 -0500 (Tue, 21 Feb 2017) | 2 lines

Hook up OpenBSD AArch64 support


Modified:
cfe/branches/release_40/lib/Basic/Targets.cpp
cfe/branches/release_40/test/Frontend/gnu-mcount.c
cfe/branches/release_40/test/Preprocessor/init.c

Modified: cfe/branches/release_40/lib/Basic/Targets.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/lib/Basic/Targets.cpp?rev=301085&r1=301084&r2=301085&view=diff
==
--- cfe/branches/release_40/lib/Basic/Targets.cpp (original)
+++ cfe/branches/release_40/lib/Basic/Targets.cpp Sat Apr 22 12:05:51 2017
@@ -5927,7 +5927,8 @@ class AArch64TargetInfo : public TargetI
 public:
   AArch64TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
   : TargetInfo(Triple), ABI("aapcs") {
-if (getTriple().getOS() == llvm::Triple::NetBSD) {
+if (getTriple().getOS() == llvm::Triple::NetBSD ||
+getTriple().getOS() == llvm::Triple::OpenBSD) {
   WCharType = SignedInt;
 
   // NetBSD apparently prefers consistency across ARM targets to 
consistency
@@ -8576,6 +8577,8 @@ static TargetInfo *AllocateTarget(const
   return new LinuxTargetInfo(Triple, Opts);
 case llvm::Triple::NetBSD:
   return new NetBSDTargetInfo(Triple, Opts);
+case llvm::Triple::OpenBSD:
+  return new OpenBSDTargetInfo(Triple, Opts);
 default:
   return new AArch64leTargetInfo(Triple, Opts);
 }

Modified: cfe/branches/release_40/test/Frontend/gnu-mcount.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/test/Frontend/gnu-mcount.c?rev=301085&r1=301084&r2=301085&view=diff
==
--- cfe/branches/release_40/test/Frontend/gnu-mcount.c (original)
+++ cfe/branches/release_40/test/Frontend/gnu-mcount.c Sat Apr 22 12:05:51 2017
@@ -61,7 +61,7 @@ int f() {
 // CHECK-ARM-EABI-NETBSD-NOT: attributes #{{[0-9]+}} = { 
{{.*}}"counting-function"="\01__gnu_mcount_nc"{{.*}} }
 // CHECK-ARM-EABI-OPENBSD: attributes #{{[0-9]+}} = { 
{{.*}}"counting-function"="__mcount"{{.*}} }
 // CHECK-ARM-EABI-OPENBSD-NOT: attributes #{{[0-9]+}} = { 
{{.*}}"counting-function"="\01__gnu_mcount_nc"{{.*}} }
-// CHECK-ARM64-EABI-OPENBSD: attributes #{{[0-9]+}} = { 
{{.*}}"counting-function"="mcount"{{.*}} }
+// CHECK-ARM64-EABI-OPENBSD: attributes #{{[0-9]+}} = { 
{{.*}}"counting-function"="__mcount"{{.*}} }
 // CHECK-ARM64-EABI-OPENBSD-NOT: attributes #{{[0-9]+}} = { 
{{.*}}"counting-function"="\01__gnu_mcount_nc"{{.*}} }
 // CHECK-ARM-EABI-MEABI-GNU-NOT: attributes #{{[0-9]+}} = { 
{{.*}}"counting-function"="mcount"{{.*}} }
 // CHECK-ARM-EABI-MEABI-GNU: attributes #{{[0-9]+}} = { 
{{.*}}"counting-function"="\01__gnu_mcount_nc"{{.*}} }

Modified: cfe/branches/release_40/test/Preprocessor/init.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/test/Preprocessor/init.c?rev=301085&r1=301084&r2=301085&view=diff
==
--- cfe/branches/release_40/test/Preprocessor/init.c (original)
+++ cfe/branches/release_40/test/Preprocessor/init.c Sat Apr 22 12:05:51 2017
@@ -831,6 +831,198 @@
 // AARCH64-NETBSD:#define __WINT_WIDTH__ 32
 // AARCH64-NETBSD:#define __aarch64__ 1
 //
+// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-openbsd < /dev/null | 
FileCheck -match-full-lines -check-prefix AARCH64-OPENBSD %s
+//
+// AARCH64-OPENBSD:#define _LP64 1
+// AARCH64-OPENBSD-NOT:#define __AARCH64EB__ 1
+// AARCH64-OPENBSD:#define __AARCH64EL__ 1
+// AARCH64-OPENBSD-NOT:#define __AARCH_BIG_ENDIAN 1
+// AARCH64-OPENBSD:#define __ARM_64BIT_STATE 1
+// AARCH64-OPENBSD:#define __ARM_ARCH 8
+// AARCH64-OPENBSD:#define __ARM_ARCH_ISA_A64 1
+// AARCH64-OPENBSD-NOT:#define __ARM_BIG_ENDIAN 1
+// AARCH64-OPENBSD:#define __BIGGEST_ALIGNMENT__ 16
+// AARCH64-OPENBSD:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
+// AARCH64-OPENBSD:#define __CHAR16_TYPE__ unsigned short
+// AARCH64-OPENBSD:#define __CHAR32_TYPE__ unsigned int
+// AARCH64-OPENBSD:#define __CHAR_BIT__ 8
+// AARCH64-OPENBSD:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
+// AARCH64-OPENBSD:#define __DBL_DIG__ 15
+// AARCH64-OPENBSD:#define __DBL_EPSILON__ 2.2204460492503131e-16
+// AARCH64-OPENBSD:#define __DBL_HAS_DENORM__ 1
+// AARCH64-OPENBSD:#define __DBL_HAS_INFINITY__ 1
+// AARCH64-OPENBSD:#define __DBL_HAS_QUIET_NAN__ 1
+// AARCH64-OPENBSD:#define __DBL_MANT_DIG__ 53
+// AARCH64-OPENBSD:#define __DBL_MAX_10_EXP__ 308
+// AARCH64-OPENBSD:#define __DBL_MAX_EXP__ 1024
+// AARCH64-OPENBSD:#define __DBL_MAX__ 1.7976931348623157e+308
+// AARCH64-OPENBS

[llvm-branch-commits] [cfe-branch] r301086 - Merging r296430:

2017-04-24 Thread Brad Smith via llvm-branch-commits
Author: brad
Date: Sat Apr 22 12:15:15 2017
New Revision: 301086

URL: http://llvm.org/viewvc/llvm-project?rev=301086&view=rev
Log:
Merging r296430:


r296430 | brad | 2017-02-27 22:20:26 -0500 (Mon, 27 Feb 2017) | 2 lines

Set ABIs correctly for OpenBSD/arm; soft float and aapcs-linux.


Modified:
cfe/branches/release_40/lib/Basic/Targets.cpp
cfe/branches/release_40/lib/Driver/Tools.cpp
cfe/branches/release_40/test/Driver/arm-abi.c
cfe/branches/release_40/test/Driver/openbsd.c

Modified: cfe/branches/release_40/lib/Basic/Targets.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/lib/Basic/Targets.cpp?rev=301086&r1=301085&r2=301086&view=diff
==
--- cfe/branches/release_40/lib/Basic/Targets.cpp (original)
+++ cfe/branches/release_40/lib/Basic/Targets.cpp Sat Apr 22 12:15:15 2017
@@ -5146,6 +5146,8 @@ public:
   default:
 if (Triple.getOS() == llvm::Triple::NetBSD)
   setABI("apcs-gnu");
+else if (Triple.getOS() == llvm::Triple::OpenBSD)
+  setABI("aapcs-linux");
 else
   setABI("aapcs");
 break;

Modified: cfe/branches/release_40/lib/Driver/Tools.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/lib/Driver/Tools.cpp?rev=301086&r1=301085&r2=301086&view=diff
==
--- cfe/branches/release_40/lib/Driver/Tools.cpp (original)
+++ cfe/branches/release_40/lib/Driver/Tools.cpp Sat Apr 22 12:15:15 2017
@@ -962,6 +962,10 @@ arm::FloatABI arm::getARMFloatABI(const
   }
   break;
 
+case llvm::Triple::OpenBSD:
+  ABI = FloatABI::Soft;
+  break;
+
 default:
   switch (Triple.getEnvironment()) {
   case llvm::Triple::GNUEABIHF:
@@ -1251,6 +1255,8 @@ void Clang::AddARMTargetArgs(const llvm:
 default:
   if (Triple.getOS() == llvm::Triple::NetBSD)
 ABIName = "apcs-gnu";
+  else if (Triple.getOS() == llvm::Triple::OpenBSD)
+ABIName = "aapcs-linux";
   else
 ABIName = "aapcs";
   break;

Modified: cfe/branches/release_40/test/Driver/arm-abi.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/test/Driver/arm-abi.c?rev=301086&r1=301085&r2=301086&view=diff
==
--- cfe/branches/release_40/test/Driver/arm-abi.c (original)
+++ cfe/branches/release_40/test/Driver/arm-abi.c Sat Apr 22 12:15:15 2017
@@ -28,6 +28,10 @@
 // RUN: %clang -target arm--netbsd-eabihf %s -### -o %t.o 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHECK-AAPCS %s
 
+// OpenBSD defaults to aapcs-linux
+// RUN: %clang -target arm--openbsd- %s -### -o %t.o 2>&1 \
+// RUN:   | FileCheck -check-prefix=CHECK-AAPCS-LINUX %s
+
 // Otherwise, ABI is selected based on environment
 // RUN: %clang -target arm---android %s -### -o %t.o 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHECK-AAPCS-LINUX %s

Modified: cfe/branches/release_40/test/Driver/openbsd.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/test/Driver/openbsd.c?rev=301086&r1=301085&r2=301086&view=diff
==
--- cfe/branches/release_40/test/Driver/openbsd.c (original)
+++ cfe/branches/release_40/test/Driver/openbsd.c Sat Apr 22 12:15:15 2017
@@ -96,3 +96,8 @@
 // CHECK-STATIC-PIE: "{{.*}}rcrt0.o"
 // CHECK-STATIC-PIE-NOT: "-nopie"
 // CHECK-NOPIE: "-nopie" "{{.*}}crt0.o"
+
+// Check ARM float ABI
+// RUN: %clang -target arm-unknown-openbsd -### -c %s 2>&1 \
+// RUN:   | FileCheck -check-prefix=CHECK-ARM-FLOAT-ABI %s
+// CHECK-ARM-FLOAT-ABI: "-mfloat-abi" "soft"


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


[llvm-branch-commits] [cfe-branch] r301087 - Merging r299269:

2017-04-24 Thread Brad Smith via llvm-branch-commits
Author: brad
Date: Sat Apr 22 12:20:27 2017
New Revision: 301087

URL: http://llvm.org/viewvc/llvm-project?rev=301087&view=rev
Log:
Merging r299269:


r299269 | brad | 2017-03-31 18:13:17 -0400 (Fri, 31 Mar 2017) | 2 lines

Add/update PIE defaults for OpenBSD.


Modified:
cfe/branches/release_40/lib/Driver/Tools.cpp
cfe/branches/release_40/test/Driver/pic.c

Modified: cfe/branches/release_40/lib/Driver/Tools.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/lib/Driver/Tools.cpp?rev=301087&r1=301086&r2=301087&view=diff
==
--- cfe/branches/release_40/lib/Driver/Tools.cpp (original)
+++ cfe/branches/release_40/lib/Driver/Tools.cpp Sat Apr 22 12:20:27 2017
@@ -3851,9 +3851,10 @@ ParsePICArgs(const ToolChain &ToolChain,
   // OpenBSD-specific defaults for PIE
   if (Triple.getOS() == llvm::Triple::OpenBSD) {
 switch (ToolChain.getArch()) {
+case llvm::Triple::arm:
+case llvm::Triple::aarch64:
 case llvm::Triple::mips64:
 case llvm::Triple::mips64el:
-case llvm::Triple::sparcel:
 case llvm::Triple::x86:
 case llvm::Triple::x86_64:
   IsPICLevelTwo = false; // "-fpie"
@@ -3861,6 +3862,7 @@ ParsePICArgs(const ToolChain &ToolChain,
 
 case llvm::Triple::ppc:
 case llvm::Triple::sparc:
+case llvm::Triple::sparcel:
 case llvm::Triple::sparcv9:
   IsPICLevelTwo = true; // "-fPIE"
   break;

Modified: cfe/branches/release_40/test/Driver/pic.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/test/Driver/pic.c?rev=301087&r1=301086&r2=301087&view=diff
==
--- cfe/branches/release_40/test/Driver/pic.c (original)
+++ cfe/branches/release_40/test/Driver/pic.c Sat Apr 22 12:20:27 2017
@@ -227,6 +227,10 @@
 // RUN:   | FileCheck %s --check-prefix=CHECK-PIE1
 // RUN: %clang -c %s -target i386-pc-openbsd -### 2>&1 \
 // RUN:   | FileCheck %s --check-prefix=CHECK-PIE1
+// RUN: %clang -c %s -target aarch64-unknown-openbsd -### 2>&1 \
+// RUN:   | FileCheck %s --check-prefix=CHECK-PIE1
+// RUN: %clang -c %s -target arm-unknown-openbsd -### 2>&1 \
+// RUN:   | FileCheck %s --check-prefix=CHECK-PIE1
 // RUN: %clang -c %s -target mips64-unknown-openbsd -### 2>&1 \
 // RUN:   | FileCheck %s --check-prefix=CHECK-PIE1
 // RUN: %clang -c %s -target mips64el-unknown-openbsd -### 2>&1 \


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


[llvm-branch-commits] [llvm-branch] r301082 - Merging r296493:

2017-04-24 Thread Brad Smith via llvm-branch-commits
Author: brad
Date: Sat Apr 22 11:34:38 2017
New Revision: 301082

URL: http://llvm.org/viewvc/llvm-project?rev=301082&view=rev
Log:
Merging r296493:


r296493 | brad | 2017-02-28 12:28:35 -0500 (Tue, 28 Feb 2017) | 2 lines

Set default CPU for OpenBSD/arm to Cortex-A8


Modified:
llvm/branches/release_40/lib/Support/Triple.cpp
llvm/branches/release_40/unittests/ADT/TripleTest.cpp

Modified: llvm/branches/release_40/lib/Support/Triple.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_40/lib/Support/Triple.cpp?rev=301082&r1=301081&r2=301082&view=diff
==
--- llvm/branches/release_40/lib/Support/Triple.cpp (original)
+++ llvm/branches/release_40/lib/Support/Triple.cpp Sat Apr 22 11:34:38 2017
@@ -1511,6 +1511,7 @@ StringRef Triple::getARMCPUForArch(Strin
   return "strongarm";
 }
   case llvm::Triple::NaCl:
+  case llvm::Triple::OpenBSD:
 return "cortex-a8";
   default:
 switch (getEnvironment()) {

Modified: llvm/branches/release_40/unittests/ADT/TripleTest.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_40/unittests/ADT/TripleTest.cpp?rev=301082&r1=301081&r2=301082&view=diff
==
--- llvm/branches/release_40/unittests/ADT/TripleTest.cpp (original)
+++ llvm/branches/release_40/unittests/ADT/TripleTest.cpp Sat Apr 22 11:34:38 
2017
@@ -948,6 +948,10 @@ TEST(TripleTest, getARMCPUForArch) {
 EXPECT_EQ("cortex-a8", Triple.getARMCPUForArch());
   }
   {
+llvm::Triple Triple("arm--openbsd");
+EXPECT_EQ("cortex-a8", Triple.getARMCPUForArch());
+  }
+  {
 llvm::Triple Triple("armv6-unknown-freebsd");
 EXPECT_EQ("arm1176jzf-s", Triple.getARMCPUForArch());
   }


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


[llvm-branch-commits] [cfe-branch] r301605 - Merging r297098:

2017-04-27 Thread Brad Smith via llvm-branch-commits
Author: brad
Date: Thu Apr 27 19:36:13 2017
New Revision: 301605

URL: http://llvm.org/viewvc/llvm-project?rev=301605&view=rev
Log:
Merging r297098:


r297098 | brad | 2017-03-06 18:48:31 -0500 (Mon, 06 Mar 2017) | 2 lines

Set the Int64Type / IntMaxType types correctly for OpenBSD/mips64


Modified:
cfe/branches/release_40/lib/Basic/Targets.cpp
cfe/branches/release_40/test/Preprocessor/init.c

Modified: cfe/branches/release_40/lib/Basic/Targets.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/lib/Basic/Targets.cpp?rev=301605&r1=301604&r2=301605&view=diff
==
--- cfe/branches/release_40/lib/Basic/Targets.cpp (original)
+++ cfe/branches/release_40/lib/Basic/Targets.cpp Thu Apr 27 19:36:13 2017
@@ -7540,7 +7540,11 @@ public:
 
   void setN64ABITypes() {
 setN32N64ABITypes();
-Int64Type = SignedLong;
+if (getTriple().getOS() == llvm::Triple::OpenBSD) {
+  Int64Type = SignedLongLong;
+} else {
+  Int64Type = SignedLong;
+}
 IntMaxType = Int64Type;
 LongWidth = LongAlign = 64;
 PointerWidth = PointerAlign = 64;

Modified: cfe/branches/release_40/test/Preprocessor/init.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/test/Preprocessor/init.c?rev=301605&r1=301604&r2=301605&view=diff
==
--- cfe/branches/release_40/test/Preprocessor/init.c (original)
+++ cfe/branches/release_40/test/Preprocessor/init.c Thu Apr 27 19:36:13 2017
@@ -8718,6 +8718,8 @@
 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-unknown-openbsd6.1 < 
/dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
 // RUN: %clang_cc1 -E -dM -ffreestanding 
-triple=arm-unknown-openbsd6.1-gnueabi < /dev/null | FileCheck 
-match-full-lines -check-prefix OPENBSD %s
 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-unknown-openbsd6.1 < 
/dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
+// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-unknown-openbsd6.1 < 
/dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
+// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-unknown-openbsd6.1 < 
/dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-unknown-openbsd6.1 < 
/dev/null | FileCheck -match-full-lines -check-prefix OPENBSD %s
 // OPENBSD:#define __ELF__ 1
 // OPENBSD:#define __INT16_TYPE__ short


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


[llvm-branch-commits] [libcxx] 79f99ba - [libcxx] Port to OpenBSD

2021-01-12 Thread Brad Smith via llvm-branch-commits

Author: Brad Smith
Date: 2021-01-12T14:21:11-05:00
New Revision: 79f99ba65d96a35a79911daf1b67559dd52a684d

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

LOG: [libcxx] Port to OpenBSD

Add initial OpenBSD support.

Reviewed By: ldionne

Differential Revision: https://reviews.llvm.org/D94205

Added: 
libcxx/include/support/openbsd/xlocale.h

Modified: 
libcxx/include/CMakeLists.txt
libcxx/include/__config
libcxx/include/__locale

Removed: 




diff  --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index cd12f60a049c..2ffdf07efcd4 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -159,6 +159,7 @@ set(files
   support/musl/xlocale.h
   support/newlib/xlocale.h
   support/nuttx/xlocale.h
+  support/openbsd/xlocale.h
   support/solaris/floatingpoint.h
   support/solaris/wchar.h
   support/solaris/xlocale.h

diff  --git a/libcxx/include/__config b/libcxx/include/__config
index 4537d249cf4f..f1606c6d3b1c 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -264,14 +264,14 @@
 #  endif  // __LONG_LONG_SUPPORTED
 #endif  // __FreeBSD__
 
-#ifdef __NetBSD__
+#if defined(__NetBSD__) || defined(__OpenBSD__)
 #  include 
 #  if _BYTE_ORDER == _LITTLE_ENDIAN
 #define _LIBCPP_LITTLE_ENDIAN
 #  else  // _BYTE_ORDER == _LITTLE_ENDIAN
 #define _LIBCPP_BIG_ENDIAN
 #  endif  // _BYTE_ORDER == _LITTLE_ENDIAN
-#endif  // __NetBSD__
+#endif  // defined(__NetBSD__) || defined(__OpenBSD__)
 
 #if defined(_WIN32)
 #  define _LIBCPP_WIN32API
@@ -312,7 +312,7 @@
 #  endif
 #endif // __sun__
 
-#if defined(__CloudABI__)
+#if defined(__OpenBSD__) || defined(__CloudABI__)
// Certain architectures provide arc4random(). Prefer using
// arc4random() over /dev/{u,}random to make it possible to obtain
// random data even when using sandboxing mechanisms such as chroots,
@@ -370,6 +370,9 @@
 #define _LIBCPP_HAS_ALIGNED_ALLOC
 #define _LIBCPP_HAS_QUICK_EXIT
 #define _LIBCPP_HAS_TIMESPEC_GET
+#  elif defined(__OpenBSD__)
+#define _LIBCPP_HAS_ALIGNED_ALLOC
+#define _LIBCPP_HAS_TIMESPEC_GET
 #  elif defined(__linux__)
 #if !defined(_LIBCPP_HAS_MUSL_LIBC)
 #  if _LIBCPP_GLIBC_PREREQ(2, 15) || defined(__BIONIC__)
@@ -1109,6 +1112,7 @@ extern "C" _LIBCPP_FUNC_VIS void 
__sanitizer_annotate_contiguous_container(
 #  if defined(__FreeBSD__) || \
   defined(__wasi__) || \
   defined(__NetBSD__) || \
+  defined(__OpenBSD__) || \
   defined(__NuttX__) || \
   defined(__linux__) || \
   defined(__GNU__) || \
@@ -1204,14 +1208,15 @@ extern "C" _LIBCPP_FUNC_VIS void 
__sanitizer_annotate_contiguous_container(
 // Some systems do not provide gets() in their C library, for security reasons.
 #ifndef _LIBCPP_C_HAS_NO_GETS
 #  if defined(_LIBCPP_MSVCRT) || \
-  (defined(__FreeBSD_version) && __FreeBSD_version >= 1300043)
+  (defined(__FreeBSD_version) && __FreeBSD_version >= 1300043) || \
+  defined(__OpenBSD__)
 #define _LIBCPP_C_HAS_NO_GETS
 #  endif
 #endif
 
 #if defined(__BIONIC__) || defined(__CloudABI__) || defined(__NuttX__) ||  
\
 defined(__Fuchsia__) || defined(__wasi__) || 
defined(_LIBCPP_HAS_MUSL_LIBC) || \
-defined(__MVS__)
+defined(__MVS__) || defined(__OpenBSD__)
 #define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
 #endif
 

diff  --git a/libcxx/include/__locale b/libcxx/include/__locale
index f32bd59ae585..4e9e0c08acf0 100644
--- a/libcxx/include/__locale
+++ b/libcxx/include/__locale
@@ -33,6 +33,8 @@
 # include 
 #elif defined(_NEWLIB_VERSION)
 # include 
+#elif defined(__OpenBSD__)
+# include 
 #elif (defined(__APPLE__)  || defined(__FreeBSD__) \
 || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
 # include 

diff  --git a/libcxx/include/support/openbsd/xlocale.h 
b/libcxx/include/support/openbsd/xlocale.h
new file mode 100644
index ..fbfaedd127c6
--- /dev/null
+++ b/libcxx/include/support/openbsd/xlocale.h
@@ -0,0 +1,19 @@
+// -*- C++ -*-
+//=== support/openbsd/xlocale.h 
---===//
+//
+// 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
+//
+//===--===//
+
+#ifndef _LIBCPP_SUPPORT_OPENBSD_XLOCALE_H
+#define _LIBCPP_SUPPORT_OPENBSD_XLOCALE_H
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#endif



___
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] [libcxx] 1be2524 - [libcxx] Check return value for asprintf()

2021-01-21 Thread Brad Smith via llvm-branch-commits

Author: Brad Smith
Date: 2021-01-21T19:43:11-05:00
New Revision: 1be2524b7d213035e591bee3eecccdd6b59d14a5

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

LOG: [libcxx] Check return value for asprintf()

local __libcpp_asprintf_l() -> libc asprintf() was inspecting the pointer (with
indeterminate value) for failure, rather than the return value of -1.

Reviewed By: ldionne

Differential Revision: https://reviews.llvm.org/D94564

Added: 


Modified: 
libcxx/include/locale

Removed: 




diff  --git a/libcxx/include/locale b/libcxx/include/locale
index e8b06654e1b8..9a705c77cfab 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -1577,7 +1577,7 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, 
ios_base& __iob,
 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, 
(int)__iob.precision(), __v);
 else
 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, 
__v);
-if (__nb == nullptr)
+if (__nc == -1)
 __throw_bad_alloc();
 __nbh.reset(__nb);
 }
@@ -1628,7 +1628,7 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, 
ios_base& __iob,
 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, 
(int)__iob.precision(), __v);
 else
 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, 
__v);
-if (__nb == nullptr)
+if (__nc == -1)
 __throw_bad_alloc();
 __nbh.reset(__nb);
 }
@@ -3402,17 +3402,17 @@ money_put<_CharT, _OutputIterator>::do_put(iter_type 
__s, bool __intl,
 char* __bb = __buf;
 char_type __digits[__bs];
 char_type* __db = __digits;
-size_t __n = static_cast(snprintf(__bb, __bs, "%.0Lf", __units));
+int __n = snprintf(__bb, __bs, "%.0Lf", __units);
 unique_ptr __hn(nullptr, free);
 unique_ptr __hd(0, free);
 // secure memory for digit storage
-if (__n > __bs-1)
+if (static_cast(__n) > __bs-1)
 {
-__n = static_cast(__libcpp_asprintf_l(&__bb, 
_LIBCPP_GET_C_LOCALE, "%.0Lf", __units));
-if (__bb == nullptr)
+__n = __libcpp_asprintf_l(&__bb, _LIBCPP_GET_C_LOCALE, "%.0Lf", 
__units);
+if (__n == -1)
 __throw_bad_alloc();
 __hn.reset(__bb);
-__hd.reset((char_type*)malloc(__n * sizeof(char_type)));
+__hd.reset((char_type*)malloc(static_cast(__n) * 
sizeof(char_type)));
 if (__hd == nullptr)
 __throw_bad_alloc();
 __db = __hd.get();
@@ -3434,9 +3434,9 @@ money_put<_CharT, _OutputIterator>::do_put(iter_type __s, 
bool __intl,
 char_type __mbuf[__bs];
 char_type* __mb = __mbuf;
 unique_ptr __hw(0, free);
-size_t __exn = static_cast(__n) > __fd ?
-   (__n - static_cast(__fd)) * 2 + __sn.size() +
-__sym.size() + static_cast(__fd) + 1
+size_t __exn = __n > __fd ?
+   (static_cast(__n) - static_cast(__fd)) * 2 +
+__sn.size() + __sym.size() + static_cast(__fd) + 1
  : __sn.size() + __sym.size() + static_cast(__fd) + 2;
 if (__exn > __bs)
 {



___
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] release/20.x: [Driver] Add DragonFly for handling of libdl and libexecinfo (#125179) (PR #125212)

2025-02-07 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/125212
___
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] [SPARC][IAS] Add IAS flag handling for ISA levels (PR #125151)

2025-02-06 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

@MaskRay 

https://github.com/llvm/llvm-project/pull/125151
___
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/19.x: [llvm][Mips] Bail on underaligned loads/stores in FastISel. (#106231) (PR #126693)

2025-02-10 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

> Fine by me, but I was under the impression that [there won't be any more 19.x 
> releases](https://github.com/llvm/llvm-project/pull/125081#issuecomment-2646389290)?

That is the case so far.

https://github.com/llvm/llvm-project/pull/126693
___
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] [SPARC][IAS] Add IAS flag handling for ISA levels (PR #125151)

2025-02-01 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

@MaskRay 

https://github.com/llvm/llvm-project/pull/125151
___
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] [lldb] release/20.x: [lldb] Remove PATH workaround for Android (#124682) (PR #124898)

2025-01-31 Thread Brad Smith via llvm-branch-commits

https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/124898
___
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] [lldb] release/20.x: [lldb] Remove PATH workaround for Android (#124682) (PR #124898)

2025-01-31 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

> What's the motivation? It's very early in the release cycle, so I guess it'd 
> be fine, but it might also be fine to let this bake in trunk, just in case it 
> does turn out breaking something...

Just because it was early in the cycle, but you have a point. I'll leave it for 
now.

https://github.com/llvm/llvm-project/pull/124898
___
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] [SPARC] Use op-then-halve instructions when we have VIS3 (PR #135718)

2025-04-19 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

cc @s-barannikov 

https://github.com/llvm/llvm-project/pull/135718
___
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] [SPARC] Use op-then-halve instructions when we have VIS3 (PR #135718)

2025-05-10 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

@arsenm 

https://github.com/llvm/llvm-project/pull/135718
___
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/20.x: Fix crash lowering stack guard on OpenBSD/aarch64. (#125416) (PR #136458)

2025-05-06 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

@tstellar He doesn't seem to be around. I'd like to get this in as I can't 
build compiler-rt or openmp on aarch64 without it.

https://github.com/llvm/llvm-project/pull/136458
___
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] release/20.x: [Driver] Fix _XOPEN_SOURCE definition on Solaris (#137141) (PR #140044)

2025-05-26 Thread Brad Smith via llvm-branch-commits

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


https://github.com/llvm/llvm-project/pull/140044
___
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] [SPARC][IAS] Add definitions for OSA 2011 instructions (PR #138403)

2025-05-15 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

cc @s-barannikov 

https://github.com/llvm/llvm-project/pull/138403
___
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] [SPARC][IAS] Add definitions for OSA 2011 instructions (PR #138403)

2025-05-23 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

@s-barannikov Ping.

https://github.com/llvm/llvm-project/pull/138403
___
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] [SPARC][IAS] Add definitions for cryptographic instructions (PR #139451)

2025-05-23 Thread Brad Smith via llvm-branch-commits

brad0 wrote:

cc @s-barannikov 

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