r372387 - [SystemZ] Add SystemZ as supporting target in help text for -mfentry.

2019-09-20 Thread Jonas Paulsson via cfe-commits
Author: jonpa Date: Fri Sep 20 06:13:50 2019 New Revision: 372387 URL: http://llvm.org/viewvc/llvm-project?rev=372387&view=rev Log: [SystemZ] Add SystemZ as supporting target in help text for -mfentry. => "Insert calls to fentry at function entry (x86/SystemZ only)" Review: Ulrich Weigand Modi

[clang] 515bfc6 - [SystemZ] Implement -fstack-clash-protection

2020-06-06 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2020-06-06T18:38:36+02:00 New Revision: 515bfc66eaced830c03b2ec187bef0d8c4dc6915 URL: https://github.com/llvm/llvm-project/commit/515bfc66eaced830c03b2ec187bef0d8c4dc6915 DIFF: https://github.com/llvm/llvm-project/commit/515bfc66eaced830c03b2ec187bef0d8c4dc6915.diff

[clang] de0e311 - [SystemZ] Improve handling of vector alignments.

2022-09-08 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2022-09-08T17:33:05+02:00 New Revision: de0e3117d40af95993b11d0622f9700415552d48 URL: https://github.com/llvm/llvm-project/commit/de0e3117d40af95993b11d0622f9700415552d48 DIFF: https://github.com/llvm/llvm-project/commit/de0e3117d40af95993b11d0622f9700415552d48.diff

[clang] 906ea59 - [SystemZ] Fix new test case

2022-09-08 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2022-09-08T18:05:17+02:00 New Revision: 906ea59d00f0deb9777aa977fdcb589d4736244c URL: https://github.com/llvm/llvm-project/commit/906ea59d00f0deb9777aa977fdcb589d4736244c DIFF: https://github.com/llvm/llvm-project/commit/906ea59d00f0deb9777aa977fdcb589d4736244c.diff

[clang] [llvm] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-12-05 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 closed https://github.com/llvm/llvm-project/pull/73134 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Ensure minimal alignment of global vars of incomplete type. (PR #72886)

2023-11-20 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: @efriedma-quic @rjmccall @uweigand (for review) https://github.com/llvm/llvm-project/pull/72886 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Ensure minimal alignment of global vars of incomplete type. (PR #72886)

2023-11-20 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 created https://github.com/llvm/llvm-project/pull/72886 The SystemZ ABI requires any global variable to be aligned to at least 2 bytes, and therefore an external global Value with an opaque type should get this alignment as well. >From e9380e98527790aee19857b221

[clang] Refactor ASTContext::getDeclAlign() (NFC) (PR #72977)

2023-11-21 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 created https://github.com/llvm/llvm-project/pull/72977 @efriedma-quic @rjmccall While working on this (with the other patch: 72886), I found this refactoring at the top of the function which I like. What do you think? >From 90938183b35284cff65d100f3cb5284b816f28

[clang] Refactor ASTContext::getDeclAlign() (NFC) (PR #72977)

2023-11-21 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/72977 >From 90938183b35284cff65d100f3cb5284b816f28cc Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Tue, 21 Nov 2023 12:10:03 +0100 Subject: [PATCH 1/2] Refactor ASTContext::getDeclAlign() (NFC) --- clang/lib/

[clang] [clang] Ensure minimal alignment of global vars of incomplete type. (PR #72886)

2023-11-22 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 closed https://github.com/llvm/llvm-project/pull/72886 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Refactor ASTContext::getDeclAlign() (NFC) (PR #72977)

2023-11-22 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/72977 >From 000dcadc0fd118df643e3f2ecbe5fcbb2f8eaab0 Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Tue, 21 Nov 2023 12:10:03 +0100 Subject: [PATCH 1/3] Refactor ASTContext::getDeclAlign() (NFC) --- clang/lib/

[clang] Refactor ASTContext::getDeclAlign() (NFC) (PR #72977)

2023-11-22 Thread Jonas Paulsson via cfe-commits
@@ -1627,28 +1627,20 @@ const llvm::fltSemantics &ASTContext::getFloatTypeSemantics(QualType T) const { CharUnits ASTContext::getDeclAlign(const Decl *D, bool ForAlignof) const { unsigned Align = Target->getCharWidth(); - bool UseAlignAttrOnly = false; - if (unsigned Alig

[clang] [clang] Ensure minimal alignment of global vars of incomplete type. (PR #72886)

2023-11-22 Thread Jonas Paulsson via cfe-commits
@@ -0,0 +1,32 @@ +// RUN: %clang --target=s390x-linux -S -emit-llvm -o - %s | FileCheck %s JonPsson1 wrote: I found some other align tests there, like arm-alignment.c, so I thought this should work..? https://github.com/llvm/llvm-project/pull/72886

[clang] Refactor ASTContext::getDeclAlign() (NFC) (PR #72977)

2023-11-22 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/72977 >From 000dcadc0fd118df643e3f2ecbe5fcbb2f8eaab0 Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Tue, 21 Nov 2023 12:10:03 +0100 Subject: [PATCH 1/4] Refactor ASTContext::getDeclAlign() (NFC) --- clang/lib/

[llvm] [clang] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-22 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 created https://github.com/llvm/llvm-project/pull/73134 - Clang FE now has MaxAtomicPromoteWidth and MaxAtomicInlineWidth with a value of 128. It now produces IR instead of calls to __atomic instrinsics for 16 bytes as well. FP loads are first loaded as i128 and th

[clang] [llvm] [SystemZ] Support i128 as legal type in VRs (PR #74625)

2023-12-13 Thread Jonas Paulsson via cfe-commits
@@ -1183,6 +1187,35 @@ void SystemZDAGToDAGISel::loadVectorConstant( SelectCode(Op.getNode()); } +SDNode *SystemZDAGToDAGISel::loadPoolVectorConstant(APInt Val, EVT VT, SDLoc DL) { + SDNode *ResNode; + assert (VT.getSizeInBits() == 128); + + SDValue CP = CurDAG->getTarge

[clang] [llvm] [SystemZ] Support i128 as legal type in VRs (PR #74625)

2023-12-13 Thread Jonas Paulsson via cfe-commits
@@ -1466,7 +1509,15 @@ static SDValue convertValVTToLocVT(SelectionDAG &DAG, const SDLoc &DL, static SDValue lowerI128ToGR128(SelectionDAG &DAG, SDValue In) { SDLoc DL(In); SDValue Lo, Hi; - std::tie(Lo, Hi) = DAG.SplitScalar(In, DL, MVT::i64, MVT::i64); + if (DAG.getTar

[clang] [llvm] [SystemZ] Support i128 as legal type in VRs (PR #74625)

2023-12-13 Thread Jonas Paulsson via cfe-commits
@@ -2772,6 +2837,27 @@ static unsigned getTestUnderMaskCond(unsigned BitSize, unsigned CCMask, // Update the arguments with the TM version if so. static void adjustForTestUnderMask(SelectionDAG &DAG, const SDLoc &DL, Comparison &C) { + // Us

[clang] [llvm] [SystemZ] Support i128 as legal type in VRs (PR #74625)

2023-12-13 Thread Jonas Paulsson via cfe-commits
@@ -2918,16 +3049,17 @@ static Comparison getCmp(SelectionDAG &DAG, SDValue CmpOp0, SDValue CmpOp1, bool IsSignaling = false) { if (CmpOp1.getOpcode() == ISD::Constant) { assert(!Chain); -uint64_t Constant = cast(CmpOp1)->getZExtValue();

[clang] [llvm] [SystemZ] Support i128 as legal type in VRs (PR #74625)

2023-12-13 Thread Jonas Paulsson via cfe-commits
@@ -6481,6 +6737,71 @@ SDValue SystemZTargetLowering::combineLOAD( SDNode *N, DAGCombinerInfo &DCI) const { SelectionDAG &DAG = DCI.DAG; EVT LdVT = N->getValueType(0); + SDLoc DL(N); + + // Replace an i128 load that is used solely to move its value into GPRs + // by

[llvm] [clang] [SystemZ] Support i128 as legal type in VRs (PR #74625)

2023-12-13 Thread Jonas Paulsson via cfe-commits
@@ -1516,48 +1536,206 @@ let Predicates = [FeatureVector] in { } } +//===--===// +// Support for 128-bit integer values in vector registers +//===-

[clang] [llvm] [SystemZ] Support i128 as legal type in VRs (PR #74625)

2023-12-13 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: I have looked through the changes and made some comments inline. I built this with expensive checks enabled with all checks passing, and SPEC built successfully. Commenting: ``` @@ -293,7 +293,7 @@ SystemZTargetLowering::SystemZTargetLowering(const TargetMachine &TM, se

[llvm] [clang] [SystemZ] Support i128 as legal type in VRs (PR #74625)

2023-12-14 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: Thanks for explanations. Updates to my comments LGTM. https://github.com/llvm/llvm-project/pull/74625 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2023-12-19 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/73511 >From de673830f94a519c94874516f4da24705b736b2e Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Thu, 23 Nov 2023 17:22:32 +0100 Subject: [PATCH 1/2] IP --- clang/include/clang/AST/ASTContext.h |

[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2023-12-19 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: Patch updated to handle weak symbols as well, by passing the VarDecl to getMinGlobalAlign() so that the SystemZ implementation of it can inspect the VD. Clang builds fine and it seems to be working, but I however find that the tests don't build anymore and not sure exactly wha

[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2023-12-19 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/73511 >From de673830f94a519c94874516f4da24705b736b2e Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Thu, 23 Nov 2023 17:22:32 +0100 Subject: [PATCH 1/3] IP --- clang/include/clang/AST/ASTContext.h |

[clang] [llvm] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2023-12-19 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/73511 >From de673830f94a519c94874516f4da24705b736b2e Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Thu, 23 Nov 2023 17:22:32 +0100 Subject: [PATCH 1/4] IP --- clang/include/clang/AST/ASTContext.h |

[clang] [SystemZ] Move new test into existing CodeGen test. (PR #73230)

2023-11-23 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 created https://github.com/llvm/llvm-project/pull/73230 The test for emitted alignments is better placed in CodeGen. >From 72e252610893f919d25916b800d2afd1f8b0b9a4 Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Thu, 23 Nov 2023 12:33:11 +0100 Subject: [PATCH]

[clang] [clang] Ensure minimal alignment of global vars of incomplete type. (PR #72886)

2023-11-23 Thread Jonas Paulsson via cfe-commits
@@ -0,0 +1,32 @@ +// RUN: %clang --target=s390x-linux -S -emit-llvm -o - %s | FileCheck %s JonPsson1 wrote: Sorry, my bad. There is a SystemZ test for this already, so I moved these tests into it instead. I created a new PR: https://github.com/llvm/llvm-project

[clang] [SystemZ] Move new test into existing CodeGen test. (PR #73230)

2023-11-23 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: Moving recently added tests from Driver to CodeGen, per discussion for original PR (https://github.com/llvm/llvm-project/pull/72886). https://github.com/llvm/llvm-project/pull/73230 ___ cfe-commits mailing list cfe-commits@lists.llvm

[clang] [SystemZ] Move new test into existing CodeGen test. (PR #73230)

2023-11-23 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 closed https://github.com/llvm/llvm-project/pull/73230 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-24 Thread Jonas Paulsson via cfe-commits
@@ -0,0 +1,71 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py +// RUN: %clang_cc1 -triple s390x-linux-gnu -O1 -emit-llvm %s -o - | FileCheck %s +// +// Test __atomic_is_lock_free() for __int128 with default alignment (8 +// bytes), atomic alignme

[clang] [llvm] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-24 Thread Jonas Paulsson via cfe-commits
@@ -0,0 +1,71 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py +// RUN: %clang_cc1 -triple s390x-linux-gnu -O1 -emit-llvm %s -o - | FileCheck %s +// +// Test __atomic_is_lock_free() for __int128 with default alignment (8 +// bytes), atomic alignme

[clang] [llvm] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-24 Thread Jonas Paulsson via cfe-commits
@@ -0,0 +1,71 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py +// RUN: %clang_cc1 -triple s390x-linux-gnu -O1 -emit-llvm %s -o - | FileCheck %s +// +// Test __atomic_is_lock_free() for __int128 with default alignment (8 +// bytes), atomic alignme

[llvm] [clang] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-24 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/73134 >From bf9b6b735c131833ec9457f23b72322fd50ef821 Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Fri, 3 Feb 2023 14:32:58 +0100 Subject: [PATCH 1/2] [SystemZ] Improve support for 16 byte atomic int/fp types

[llvm] [clang] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-24 Thread Jonas Paulsson via cfe-commits
@@ -0,0 +1,42 @@ +// RUN: %clang_cc1 -triple s390x-linux-gnu -O1 -emit-llvm %s -o - | FileCheck %s +// +// Test __atomic_is_lock_free() and __atomic_always_lock_free() for __int128 +// with 16 byte alignment. + +#include +#include + JonPsson1 wrote: The first

[llvm] [clang] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-24 Thread Jonas Paulsson via cfe-commits
@@ -0,0 +1,42 @@ +// RUN: %clang_cc1 -triple s390x-linux-gnu -O1 -emit-llvm %s -o - | FileCheck %s +// +// Test __atomic_is_lock_free() and __atomic_always_lock_free() for __int128 +// with 16 byte alignment. + +#include +#include + +__int128 Int128_Al16 __attribute__((aligned(

[llvm] [clang] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-24 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: Not sure about GCC here, as far as I can see, it is returning true for both of the 8-byte aligned cases in gnu-atomic_is_lock_free-i128-8Al.c, also now that the alignment is actually 8... GCC is returning true for all in gnu-atomic_is_lock_free-i128-16Al.c, except for except

[clang] [llvm] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-25 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/73134 >From bf9b6b735c131833ec9457f23b72322fd50ef821 Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Fri, 3 Feb 2023 14:32:58 +0100 Subject: [PATCH 1/3] [SystemZ] Improve support for 16 byte atomic int/fp types

[llvm] [clang] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-25 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: Sorry for the confusion of the files: the tests for __atomic_is_lock_free() and friends are now in back a single file atomic_is_lock_free-i128.c. The C library call is also included as it also changes behavior with this patch. Current test output in CHECKs, with previous proble

[clang] [llvm] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2023-11-27 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 created https://github.com/llvm/llvm-project/pull/73511 External symbols created from a linker script may not get the ABI minimum alignment and must therefore be treated as unaligned by the compiler. To implement this, getMinGlobalAlign() (and getAlignOfGlobalVar)

[llvm] [clang] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-28 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/73134 >From bf9b6b735c131833ec9457f23b72322fd50ef821 Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Fri, 3 Feb 2023 14:32:58 +0100 Subject: [PATCH 1/5] [SystemZ] Improve support for 16 byte atomic int/fp types

[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2023-11-28 Thread Jonas Paulsson via cfe-commits
@@ -1687,7 +1687,8 @@ CharUnits ASTContext::getDeclAlign(const Decl *D, bool ForAlignof) const { if (VD->hasGlobalStorage() && !ForAlignof) { uint64_t TypeSize = !BaseT->isIncompleteType() ? getTypeSize(T.getTypePtr()) : 0; -Align = std::max(A

[clang] Refactor ASTContext::getDeclAlign() (NFC) (PR #72977)

2023-11-28 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: Eli, are you supposed to press some button before I merge this? https://github.com/llvm/llvm-project/pull/72977 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2023-11-29 Thread Jonas Paulsson via cfe-commits
@@ -1687,7 +1687,8 @@ CharUnits ASTContext::getDeclAlign(const Decl *D, bool ForAlignof) const { if (VD->hasGlobalStorage() && !ForAlignof) { uint64_t TypeSize = !BaseT->isIncompleteType() ? getTypeSize(T.getTypePtr()) : 0; -Align = std::max(A

[clang] Refactor ASTContext::getDeclAlign() (NFC) (PR #72977)

2023-11-30 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 closed https://github.com/llvm/llvm-project/pull/72977 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-04 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: This seems to do the trick: ``` diff --git a/clang/unittests/Basic/CMakeLists.txt b/clang/unittests/Basic/CMakeLists.txt index 3844ba4..5f162b3 100644 --- a/clang/unittests/Basic/CMakeLists.txt +++ b/clang/unittests/Basic/CMakeLists.txt @@ -18,6 +18,7 @@ clang_target_link_librar

[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-09 Thread Jonas Paulsson via cfe-commits
@@ -11,6 +11,7 @@ //===--===// #include "SystemZ.h" +#include "clang/AST/Decl.h" JonPsson1 wrote: What is the motivation for this? I mean, is there any general consensus that this really sh

[clang] 84831bd - [SystemZ] Make 128 bit integers be aligned to 8 bytes.

2022-08-03 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2022-08-03T15:39:54+02:00 New Revision: 84831bdfedbad8221a529a640d0f4bd9d0e3ba7b URL: https://github.com/llvm/llvm-project/commit/84831bdfedbad8221a529a640d0f4bd9d0e3ba7b DIFF: https://github.com/llvm/llvm-project/commit/84831bdfedbad8221a529a640d0f4bd9d0e3ba7b.diff

[clang] 46f83ca - [InlineAsm] Add support for address operands ("p").

2022-04-13 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2022-04-13T12:50:21+02:00 New Revision: 46f83caebc8f2329bcf16b3edf6785dff480c5e3 URL: https://github.com/llvm/llvm-project/commit/46f83caebc8f2329bcf16b3edf6785dff480c5e3 DIFF: https://github.com/llvm/llvm-project/commit/46f83caebc8f2329bcf16b3edf6785dff480c5e3.diff

[clang] 4aa5dc1 - [SystemZ] Handle SystemZ specific inline assembly address operands.

2022-04-19 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2022-04-19T16:55:45+02:00 New Revision: 4aa5dc15f0869f8a5fb6fe760c517d2d5d4c710e URL: https://github.com/llvm/llvm-project/commit/4aa5dc15f0869f8a5fb6fe760c517d2d5d4c710e DIFF: https://github.com/llvm/llvm-project/commit/4aa5dc15f0869f8a5fb6fe760c517d2d5d4c710e.diff

[clang] 9b38e2e - [SystemZ] Fix C++ ABI for passing args of structs containing zero width bitfield.

2022-04-26 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2022-04-26T17:16:14+02:00 New Revision: 9b38e2efa0f0c819ec696d13731ac1ce08f81930 URL: https://github.com/llvm/llvm-project/commit/9b38e2efa0f0c819ec696d13731ac1ce08f81930 DIFF: https://github.com/llvm/llvm-project/commit/9b38e2efa0f0c819ec696d13731ac1ce08f81930.diff

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-03-26 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 created https://github.com/llvm/llvm-project/pull/86691 - Factor out a shouldCastToInt() method. - Also pass through pointer type values to not be casted to integer. The follow up improvement patch per recent review. The non-ieee FP types left out as it seems easie

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-03-27 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: > > The non-ieee FP types left out as it seems easier if someone working with > > that target does this part including test updates, which should be simple > > enough by now. > > Just add the tests I think this case isn't that simple as it is an 80 bit value. Currently that i

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-03-27 Thread Jonas Paulsson via cfe-commits
@@ -1399,13 +1401,22 @@ RValue AtomicInfo::convertAtomicTempToRValue(Address addr, LVal.getBaseInfo(), TBAAAccessInfo())); } +static bool shouldCastToInt(llvm::Type *ValTy, bool CmpXchg) { JonPsson1 wrote: This is a bit messy... - For one thing, there

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-03-27 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/86691 >From ea3c2d02073ecd3761b53783ad78c132ba88486e Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Tue, 26 Mar 2024 01:16:25 +0100 Subject: [PATCH 1/2] Refactoring with shouldCastToInt(). Also include atomic p

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-03-27 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: > > I think this case isn't that simple as it is an 80 bit value. Currently > > that is loaded atomically first with i128, then stored as a temporary and > > then loaded as an fp80. If I remove that casting, the verifier complains > > "atomic memory access' operand must have a

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-03-30 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/86691 >From 0b4ee03b3e095d904c4ce37eee8dee0e5e055a4c Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Tue, 26 Mar 2024 01:16:25 +0100 Subject: [PATCH 1/3] Refactoring with shouldCastToInt(). Also include atomic p

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-03-30 Thread Jonas Paulsson via cfe-commits
@@ -1399,13 +1401,22 @@ RValue AtomicInfo::convertAtomicTempToRValue(Address addr, LVal.getBaseInfo(), TBAAAccessInfo())); } +static bool shouldCastToInt(llvm::Type *ValTy, bool CmpXchg) { JonPsson1 wrote: I thought it was a bit more clear than 'CastFP

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-03-30 Thread Jonas Paulsson via cfe-commits
@@ -134,14 +134,11 @@ static _Atomic float glob_flt = 0.0f; void force_global_uses(void) { (void)glob_pointer; - // CHECK: %[[LOCAL_INT:.+]] = load atomic i32, ptr @[[GLOB_POINTER]] seq_cst - // CHECK-NEXT: inttoptr i32 %[[LOCAL_INT]] to ptr + // CHECK: load atomic ptr, p

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-03-30 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: Updated per review. https://github.com/llvm/llvm-project/pull/86691 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [ClangFE] Improve handling of casting of atomic memory operations. (PR #86691)

2024-04-02 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 closed https://github.com/llvm/llvm-project/pull/86691 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Don't do casting of atomic FP loads/stores in FE. (PR #83446)

2024-03-11 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/83446 >From 7abe41b453f5cd2b6ea4b566701531c2c2a73476 Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Thu, 29 Feb 2024 14:16:57 +0100 Subject: [PATCH 1/2] Don't do casting of atomic FP loads/stores in FE. --- cl

[clang] Don't do casting of atomic FP loads/stores in FE. (PR #83446)

2024-03-11 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: > test the volatile is preserved too? Tests added for 'atomic volatile' memory accesses as well. https://github.com/llvm/llvm-project/pull/83446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/ma

[clang] Don't do casting of atomic FP loads/stores in FE. (PR #83446)

2024-03-12 Thread Jonas Paulsson via cfe-commits
@@ -1953,13 +1966,22 @@ void CodeGenFunction::EmitAtomicStore(RValue rvalue, LValue dest, } // Okay, we're doing this natively. -llvm::Value *intValue = atomics.convertRValueToInt(rvalue); +llvm::Value *ValToStore = +atomics.convertRValueToInt(rvalue,

[clang] Don't do casting of atomic FP loads/stores in FE. (PR #83446)

2024-03-12 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 closed https://github.com/llvm/llvm-project/pull/83446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Don't do casting of atomic FP loads/stores in FE. (PR #83446)

2024-02-29 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 created https://github.com/llvm/llvm-project/pull/83446 The casting of FP atomic loads and stores are always done by the front-end, even though the AtomicExpandPass will do it if the target requests it (which is the default). This patch removes this casting in the

[clang] Don't do casting of atomic FP loads/stores in FE. (PR #83446)

2024-03-01 Thread Jonas Paulsson via cfe-commits
@@ -1410,13 +1414,14 @@ RValue AtomicInfo::ConvertIntToValueOrAtomic(llvm::Value *IntVal, auto *ValTy = AsValue ? CGF.ConvertTypeForMem(ValueTy) : getAtomicAddress().getElementType(); -if (ValTy->isIntegerTy()) { - asser

[clang] Don't do casting of atomic FP loads/stores in FE. (PR #83446)

2024-03-01 Thread Jonas Paulsson via cfe-commits
@@ -1410,13 +1414,14 @@ RValue AtomicInfo::ConvertIntToValueOrAtomic(llvm::Value *IntVal, auto *ValTy = AsValue ? CGF.ConvertTypeForMem(ValueTy) : getAtomicAddress().getElementType(); -if (ValTy->isIntegerTy()) { - asser

[clang] Don't do casting of atomic FP loads/stores in FE. (PR #83446)

2024-03-01 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 edited https://github.com/llvm/llvm-project/pull/83446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-24 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: @efriedma-quic LGTY? https://github.com/llvm/llvm-project/pull/73511 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-27 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: Thanks for review! https://github.com/llvm/llvm-project/pull/73511 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-27 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 closed https://github.com/llvm/llvm-project/pull/73511 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] e976053 - [clang, SystemZ] Fix test case for buildbot.

2024-01-27 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2024-01-27T19:02:36+01:00 New Revision: e976053a63c251e9b65733ed3574e5c3de62084c URL: https://github.com/llvm/llvm-project/commit/e976053a63c251e9b65733ed3574e5c3de62084c DIFF: https://github.com/llvm/llvm-project/commit/e976053a63c251e9b65733ed3574e5c3de62084c.diff

[clang] [Clang, SystemZ] Split test into Driver and CodeGen parts (NFC) (PR #79808)

2024-01-29 Thread Jonas Paulsson via cfe-commits
JonPsson1 wrote: LGTM https://github.com/llvm/llvm-project/pull/79808 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang, SystemZ] Split test into Driver and CodeGen parts (NFC) (PR #79808)

2024-01-29 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 approved this pull request. https://github.com/llvm/llvm-project/pull/79808 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-18 Thread Jonas Paulsson via cfe-commits
@@ -11,6 +11,7 @@ //===--===// #include "SystemZ.h" +#include "clang/AST/Decl.h" JonPsson1 wrote: ping! Any further comments / opinions on how to best do this, please? https://github.com/l

[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-19 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/73511 >From 5c1c5d401775089bc600b85227f5e7bd974d4bd0 Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Thu, 23 Nov 2023 17:22:32 +0100 Subject: [PATCH 1/2] Initial Also handle weak symbols Fix test for -emit-llvm

[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-19 Thread Jonas Paulsson via cfe-commits
@@ -11,6 +11,7 @@ //===--===// #include "SystemZ.h" +#include "clang/AST/Decl.h" JonPsson1 wrote: Ok, that makes more sense to me know considering different ways of building clang, thanks.

[clang] [llvm] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-19 Thread Jonas Paulsson via cfe-commits
https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/73511 >From 5c1c5d401775089bc600b85227f5e7bd974d4bd0 Mon Sep 17 00:00:00 2001 From: Jonas Paulsson Date: Thu, 23 Nov 2023 17:22:32 +0100 Subject: [PATCH 1/3] Initial Also handle weak symbols Fix test for -emit-llvm

[clang] [llvm] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

2024-01-19 Thread Jonas Paulsson via cfe-commits
@@ -11,6 +11,7 @@ //===--===// #include "SystemZ.h" +#include "clang/AST/Decl.h" JonPsson1 wrote: Ah, one more #include to remove that I missed - thanks :) https://github.com/llvm/llvm-proj

[clang] c0f1eac - [SystemZ] Don't allow CL option -mpacked-stack with -mbackchain.

2020-01-03 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2020-01-03T12:26:54-08:00 New Revision: c0f1eac008e61e8345e3f41347cfd191e4ecb215 URL: https://github.com/llvm/llvm-project/commit/c0f1eac008e61e8345e3f41347cfd191e4ecb215 DIFF: https://github.com/llvm/llvm-project/commit/c0f1eac008e61e8345e3f41347cfd191e4ecb215.diff

[clang] c78da03 - [clang] Improve handling of physical registers in inline assembly operands.

2020-10-13 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2020-10-13T15:09:52+02:00 New Revision: c78da037783bda0f27f4d82060149166e6f0c796 URL: https://github.com/llvm/llvm-project/commit/c78da037783bda0f27f4d82060149166e6f0c796 DIFF: https://github.com/llvm/llvm-project/commit/c78da037783bda0f27f4d82060149166e6f0c796.diff

[clang] 625fa47 - Revert "[clang] Improve handling of physical registers in inline assembly operands."

2020-10-13 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2020-10-14T08:42:51+02:00 New Revision: 625fa47617022b2d1ed7b940f9621162874175ee URL: https://github.com/llvm/llvm-project/commit/625fa47617022b2d1ed7b940f9621162874175ee DIFF: https://github.com/llvm/llvm-project/commit/625fa47617022b2d1ed7b940f9621162874175ee.diff

[clang] 42a8286 - Reapply "[clang] Improve handling of physical registers in inline

2020-10-21 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2020-10-21T10:53:40+02:00 New Revision: 42a82862b625279028130e62846d057425bca691 URL: https://github.com/llvm/llvm-project/commit/42a82862b625279028130e62846d057425bca691 DIFF: https://github.com/llvm/llvm-project/commit/42a82862b625279028130e62846d057425bca691.diff

[clang] b3ac5b8 - [SystemZ] Fix vecintrin.h to not emit alignment hints in vec_xl/vec_xst.

2021-02-12 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2021-02-12T18:26:36-06:00 New Revision: b3ac5b84cdd46fc62a7215ae6b11f3c005900461 URL: https://github.com/llvm/llvm-project/commit/b3ac5b84cdd46fc62a7215ae6b11f3c005900461 DIFF: https://github.com/llvm/llvm-project/commit/b3ac5b84cdd46fc62a7215ae6b11f3c005900461.diff

[clang] e57bd1f - [CFE, SystemZ] New target hook testFPKind() for checks of FP values.

2021-02-18 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2021-02-18T12:36:46-06:00 New Revision: e57bd1ff4fb65208cb3060b62e1c48aa0aac623f URL: https://github.com/llvm/llvm-project/commit/e57bd1ff4fb65208cb3060b62e1c48aa0aac623f DIFF: https://github.com/llvm/llvm-project/commit/e57bd1ff4fb65208cb3060b62e1c48aa0aac623f.diff

[clang] 9cfd301 - [SystemZ] Test for isinf and isfinite in testFPKind().

2021-03-15 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2021-03-15T15:02:39-06:00 New Revision: 9cfd301ec8b5ed6eb49bcc4b85e6f2af1a90b305 URL: https://github.com/llvm/llvm-project/commit/9cfd301ec8b5ed6eb49bcc4b85e6f2af1a90b305 DIFF: https://github.com/llvm/llvm-project/commit/9cfd301ec8b5ed6eb49bcc4b85e6f2af1a90b305.diff

[clang] 858f347 - [Clang, SystemZ] Add support for option -mno-pic-data-is-text-relative.

2022-11-17 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2022-11-17T11:32:32-05:00 New Revision: 858f347c1758e2f1da5a94e3de0baae7cae2a590 URL: https://github.com/llvm/llvm-project/commit/858f347c1758e2f1da5a94e3de0baae7cae2a590 DIFF: https://github.com/llvm/llvm-project/commit/858f347c1758e2f1da5a94e3de0baae7cae2a590.diff

[clang] 0eff46f - [SystemZ] Fix handling of vectors and their exposure of the vector ABI.

2023-01-27 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2023-01-27T20:24:09+01:00 New Revision: 0eff46f87f16772f93bdc584865e945162aff170 URL: https://github.com/llvm/llvm-project/commit/0eff46f87f16772f93bdc584865e945162aff170 DIFF: https://github.com/llvm/llvm-project/commit/0eff46f87f16772f93bdc584865e945162aff170.diff

[clang] 82879c2 - [SystemZ] Support the kernel back chain.

2020-02-23 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2020-02-23T13:42:36-08:00 New Revision: 82879c2913da69ef2deadee9d075140a84eb6e8c URL: https://github.com/llvm/llvm-project/commit/82879c2913da69ef2deadee9d075140a84eb6e8c DIFF: https://github.com/llvm/llvm-project/commit/82879c2913da69ef2deadee9d075140a84eb6e8c.diff

[clang] 9376714 - [Clang FE] Recognize -mnop-mcount CL option (SystemZ only).

2019-11-05 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2019-11-05T12:12:36+01:00 New Revision: 93767143147b7d765c6ce8123a4226d449228649 URL: https://github.com/llvm/llvm-project/commit/93767143147b7d765c6ce8123a4226d449228649 DIFF: https://github.com/llvm/llvm-project/commit/93767143147b7d765c6ce8123a4226d449228649.diff

[clang] 599d1cc - [Clang FE, SystemZ] Recognize -mpacked-stack CL option

2019-12-17 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2019-12-17T11:26:17-08:00 New Revision: 599d1cc07a51e9a556afa2a995930f7ffe0e42cd URL: https://github.com/llvm/llvm-project/commit/599d1cc07a51e9a556afa2a995930f7ffe0e42cd DIFF: https://github.com/llvm/llvm-project/commit/599d1cc07a51e9a556afa2a995930f7ffe0e42cd.diff

[clang] ca52059 - [Clang FE, SystemZ] Don't add "true" value for the "mnop-mcount" attribute.

2019-12-18 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2019-12-18T11:04:13-08:00 New Revision: ca520592c081a76b45613ec794ebee4920933c1c URL: https://github.com/llvm/llvm-project/commit/ca520592c081a76b45613ec794ebee4920933c1c DIFF: https://github.com/llvm/llvm-project/commit/ca520592c081a76b45613ec794ebee4920933c1c.diff

[clang] 2520bef - [Clang FE, SystemZ] Recognize -mrecord-mcount CL option.

2019-12-19 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2019-12-19T08:51:55-08:00 New Revision: 2520bef865329d4c04e2de30c222ad0d5ad13ccc URL: https://github.com/llvm/llvm-project/commit/2520bef865329d4c04e2de30c222ad0d5ad13ccc DIFF: https://github.com/llvm/llvm-project/commit/2520bef865329d4c04e2de30c222ad0d5ad13ccc.diff

[clang] 563e847 - [SystemZ] Support -msoft-float

2020-02-04 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2020-02-04T10:32:45-05:00 New Revision: 563e84790f41f9f71c3cb10d0bb9feaa7a339c36 URL: https://github.com/llvm/llvm-project/commit/563e84790f41f9f71c3cb10d0bb9feaa7a339c36 DIFF: https://github.com/llvm/llvm-project/commit/563e84790f41f9f71c3cb10d0bb9feaa7a339c36.diff

[clang] e943329 - [SystemZ] Add 'REQUIRES:' or '-mtriple' to some newly added tests.

2020-02-04 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2020-02-04T10:52:10-05:00 New Revision: e943329ba00772f96fbc1fe5dec836cfd0707a38 URL: https://github.com/llvm/llvm-project/commit/e943329ba00772f96fbc1fe5dec836cfd0707a38 DIFF: https://github.com/llvm/llvm-project/commit/e943329ba00772f96fbc1fe5dec836cfd0707a38.diff

[clang] 7501e53 - [Clang] Give warning for an underaligned 128-bit __sync library call.

2023-03-15 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2023-03-15T12:46:06+01:00 New Revision: 7501e53b8d6d7563b047a34d0141630d5afc86c5 URL: https://github.com/llvm/llvm-project/commit/7501e53b8d6d7563b047a34d0141630d5afc86c5 DIFF: https://github.com/llvm/llvm-project/commit/7501e53b8d6d7563b047a34d0141630d5afc86c5.diff

[clang] 790c9ac - [ClangFE] Handle statement expressions properly with CheckAtomicAlignment().

2023-04-18 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2023-04-18T19:33:32+02:00 New Revision: 790c9ac529c9ad0d7e89e3de2041d85cfc411b40 URL: https://github.com/llvm/llvm-project/commit/790c9ac529c9ad0d7e89e3de2041d85cfc411b40 DIFF: https://github.com/llvm/llvm-project/commit/790c9ac529c9ad0d7e89e3de2041d85cfc411b40.diff

[clang] 481bb44 - [SystemZ] Emit a .gnu_attribute for an externally visible vector abi.

2022-12-06 Thread Jonas Paulsson via cfe-commits
Author: Jonas Paulsson Date: 2022-12-06T12:53:40-06:00 New Revision: 481bb44baab5ce7a005b7d7eee6cafbde672695c URL: https://github.com/llvm/llvm-project/commit/481bb44baab5ce7a005b7d7eee6cafbde672695c DIFF: https://github.com/llvm/llvm-project/commit/481bb44baab5ce7a005b7d7eee6cafbde672695c.diff

  1   2   3   >