r344611 - [SystemZ] Actually enable -mzvector keywords

2018-10-16 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Tue Oct 16 07:57:20 2018 New Revision: 344611 URL: http://llvm.org/viewvc/llvm-project?rev=344611&view=rev Log: [SystemZ] Actually enable -mzvector keywords It appears when initially committing the support for the IBM Z vector extension language, one critical line was lost,

r348247 - [SystemZ] Do not support __float128

2018-12-04 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Tue Dec 4 02:51:36 2018 New Revision: 348247 URL: http://llvm.org/viewvc/llvm-project?rev=348247&view=rev Log: [SystemZ] Do not support __float128 As of rev. 268898, clang supports __float128 on SystemZ. This seems to have been in error. GCC has never supported __float12

r365933 - [SystemZ] Add support for new cpu architecture - arch13

2019-07-12 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Fri Jul 12 11:14:51 2019 New Revision: 365933 URL: http://llvm.org/viewvc/llvm-project?rev=365933&view=rev Log: [SystemZ] Add support for new cpu architecture - arch13 This patch series adds support for the next-generation arch13 CPU architecture to the SystemZ backend. Th

r349751 - [SystemZ] Fix wrong codegen caused by typos in vecintrin.h

2018-12-20 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Thu Dec 20 05:09:09 2018 New Revision: 349751 URL: http://llvm.org/viewvc/llvm-project?rev=349751&view=rev Log: [SystemZ] Fix wrong codegen caused by typos in vecintrin.h The following two bugs in SystemZ high-level vector intrinsics are fixes by this patch: - The float ca

r372436 - [SystemZ] Support z15 processor name

2019-09-20 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Fri Sep 20 16:06:03 2019 New Revision: 372436 URL: http://llvm.org/viewvc/llvm-project?rev=372436&view=rev Log: [SystemZ] Support z15 processor name The recently announced IBM z15 processor implements the architecture already supported as "arch13" in LLVM. This patch adds

[clang] 7f00395 - [SystemZ] Implement __builtin_eh_return_data_regno

2020-07-24 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2020-07-24T10:28:06+02:00 New Revision: 7f003957bfcd1ed29ded176f04e3cdb55a0c0112 URL: https://github.com/llvm/llvm-project/commit/7f003957bfcd1ed29ded176f04e3cdb55a0c0112 DIFF: https://github.com/llvm/llvm-project/commit/7f003957bfcd1ed29ded176f04e3cdb55a0c0112.diff

[clang] 80a1b95 - [SystemZ ABI] Allow class types in GetSingleElementType

2020-07-07 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2020-07-07T19:56:19+02:00 New Revision: 80a1b95b8e72674cef7efb39636dc73c248ae6f3 URL: https://github.com/llvm/llvm-project/commit/80a1b95b8e72674cef7efb39636dc73c248ae6f3 DIFF: https://github.com/llvm/llvm-project/commit/80a1b95b8e72674cef7efb39636dc73c248ae6f3.diff

[clang] 4c5a93b - [ABI] Handle C++20 [[no_unique_address]] attribute

2020-07-10 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2020-07-10T14:01:05+02:00 New Revision: 4c5a93bd58bad70e91ac525b0e020bd5119a321a URL: https://github.com/llvm/llvm-project/commit/4c5a93bd58bad70e91ac525b0e020bd5119a321a DIFF: https://github.com/llvm/llvm-project/commit/4c5a93bd58bad70e91ac525b0e020bd5119a321a.diff

[clang] 095ccf4 - [SystemZ] Avoid __INTPTR_TYPE__ conversions in vecintrin.h

2020-04-28 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2020-04-28T18:49:49+02:00 New Revision: 095ccf4455654750cd4c0296ff91565c2b613319 URL: https://github.com/llvm/llvm-project/commit/095ccf4455654750cd4c0296ff91565c2b613319 DIFF: https://github.com/llvm/llvm-project/commit/095ccf4455654750cd4c0296ff91565c2b613319.diff

[llvm] [clang] [SystemZ] Add backchain target-feature (PR #71668)

2023-11-08 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand approved this pull request. LGTM. Thanks for taking care of this, Ilya! https://github.com/llvm/llvm-project/pull/71668 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinf

[clang] [SystemZ] Do not run mbackchain-4.c test without SystemZ target (PR #71678)

2023-11-08 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand approved this pull request. LGTM - sorry for missing that. https://github.com/llvm/llvm-project/pull/71678 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-14 Thread Ulrich Weigand via cfe-commits
@@ -1026,6 +1030,78 @@ void SystemZAsmPrinter::emitADASection() { OutStreamer->popSection(); } +static uint32_t getProductVersion(Module &M) { + if (auto *VersionVal = cast_or_null( + M.getModuleFlag("zos_product_major_version"))) +return cast(VersionVal->getVa

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-14 Thread Ulrich Weigand via cfe-commits
@@ -1026,6 +1030,78 @@ void SystemZAsmPrinter::emitADASection() { OutStreamer->popSection(); } +static uint32_t getProductVersion(Module &M) { + if (auto *VersionVal = cast_or_null( + M.getModuleFlag("zos_product_major_version"))) +return cast(VersionVal->getVa

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-14 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand edited https://github.com/llvm/llvm-project/pull/68926 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-14 Thread Ulrich Weigand via cfe-commits
@@ -1026,6 +1030,78 @@ void SystemZAsmPrinter::emitADASection() { OutStreamer->popSection(); } +static uint32_t getProductVersion(Module &M) { + if (auto *VersionVal = cast_or_null( + M.getModuleFlag("zos_product_major_version"))) +return cast(VersionVal->getVa

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-14 Thread Ulrich Weigand via cfe-commits
@@ -1026,6 +1030,78 @@ void SystemZAsmPrinter::emitADASection() { OutStreamer->popSection(); } +static uint32_t getProductVersion(Module &M) { + if (auto *VersionVal = cast_or_null( + M.getModuleFlag("zos_product_major_version"))) +return cast(VersionVal->getVa

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-14 Thread Ulrich Weigand via cfe-commits
@@ -976,6 +976,40 @@ void CodeGenModule::Release() { Context.getTypeSizeInChars(Context.getWideCharType()).getQuantity(); getModule().addModuleFlag(llvm::Module::Error, "wchar_size", WCharWidth); + if (getTriple().isOSzOS()) { +getModule().addModuleFlag(llvm::Modu

[clang] [llvm] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-14 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand commented: Please find a couple of additional comments inline, related to module flag processing. https://github.com/llvm/llvm-project/pull/68926 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.or

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

2023-12-06 Thread Ulrich Weigand via cfe-commits
uweigand wrote: @JonPsson1 - please have a look at the effects of i128 support in particular on atomics @redstar - can you check impact on the z/OS ABI? we may need to handle legal i128 there too, but there doesn't appear to be any in-tree test case for passing i128 on z/OS Any other comment

[clang] [llvm] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-22 Thread Ulrich Weigand via cfe-commits
@@ -1026,6 +1030,71 @@ void SystemZAsmPrinter::emitADASection() { OutStreamer->popSection(); } +static uint32_t getProductVersion(Module &M) { + if (auto *VersionVal = mdconst::extract_or_null( + M.getModuleFlag("zos_product_major_version"))) +return VersionVal

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-22 Thread Ulrich Weigand via cfe-commits
@@ -1026,6 +1030,71 @@ void SystemZAsmPrinter::emitADASection() { OutStreamer->popSection(); } +static uint32_t getProductVersion(Module &M) { + if (auto *VersionVal = mdconst::extract_or_null( + M.getModuleFlag("zos_product_major_version"))) +return VersionVal

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-22 Thread Ulrich Weigand via cfe-commits
@@ -1026,6 +1030,78 @@ void SystemZAsmPrinter::emitADASection() { OutStreamer->popSection(); } +static uint32_t getProductVersion(Module &M) { + if (auto *VersionVal = cast_or_null( + M.getModuleFlag("zos_product_major_version"))) +return cast(VersionVal->getVa

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-22 Thread Ulrich Weigand via cfe-commits
@@ -976,6 +976,46 @@ void CodeGenModule::Release() { Context.getTypeSizeInChars(Context.getWideCharType()).getQuantity(); getModule().addModuleFlag(llvm::Module::Error, "wchar_size", WCharWidth); + if (getTriple().isOSzOS()) { +getModule().addModuleFlag(llvm::Modu

[clang] [llvm] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-31 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand edited https://github.com/llvm/llvm-project/pull/68926 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-31 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand requested changes to this pull request. https://github.com/llvm/llvm-project/pull/68926 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-31 Thread Ulrich Weigand via cfe-commits
@@ -976,6 +976,40 @@ void CodeGenModule::Release() { Context.getTypeSizeInChars(Context.getWideCharType()).getQuantity(); getModule().addModuleFlag(llvm::Module::Error, "wchar_size", WCharWidth); + if (getTriple().isOSzOS()) { +getModule().addModuleFlag(llvm::Modu

[clang] [llvm] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-31 Thread Ulrich Weigand via cfe-commits
@@ -90,6 +90,7 @@ LANGOPT(C23 , 1, 0, "C23") LANGOPT(MSVCCompat, 1, 0, "Microsoft Visual C++ full compatibility mode") LANGOPT(Kernel, 1, 0, "Kernel mode") LANGOPT(MicrosoftExt , 1, 0, "Microsoft C++ extensions") +LANGOPT(ASCIICharMode

[clang] [llvm] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-31 Thread Ulrich Weigand via cfe-commits
@@ -976,6 +976,40 @@ void CodeGenModule::Release() { Context.getTypeSizeInChars(Context.getWideCharType()).getQuantity(); getModule().addModuleFlag(llvm::Module::Error, "wchar_size", WCharWidth); + if (getTriple().isOSzOS()) { +getModule().addModuleFlag(llvm::Modu

[llvm] [clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-31 Thread Ulrich Weigand via cfe-commits
@@ -1765,7 +1765,7 @@ void Clang::RenderTargetOptions(const llvm::Triple &EffectiveTriple, break; case llvm::Triple::systemz: -AddSystemZTargetArgs(Args, CmdArgs); +AddSystemZTargetArgs(EffectiveTriple, Args, CmdArgs); uweigand wrote: This (and

[clang] [llvm] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-31 Thread Ulrich Weigand via cfe-commits
@@ -976,6 +976,40 @@ void CodeGenModule::Release() { Context.getTypeSizeInChars(Context.getWideCharType()).getQuantity(); getModule().addModuleFlag(llvm::Module::Error, "wchar_size", WCharWidth); + if (getTriple().isOSzOS()) { +getModule().addModuleFlag(llvm::Modu

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

2023-12-14 Thread Ulrich Weigand 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-14 Thread Ulrich Weigand 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-14 Thread Ulrich Weigand 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-14 Thread Ulrich Weigand 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-14 Thread Ulrich Weigand 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

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

2023-12-14 Thread Ulrich Weigand 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-14 Thread Ulrich Weigand via cfe-commits
uweigand wrote: > I have looked through the changes and made some comments inline. Thanks for the review! > Commenting: Fixed, thanks! > I happened to notice some cases with room for improvement: Good catch. I've not addressed these right now, this can be done as a follow-up. (The memory

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

2023-12-14 Thread Ulrich Weigand via cfe-commits
uweigand wrote: Fixed merge conflicts, updated as described above, and fixed support for i128 parameters in the z/OS XPLINK ABI. https://github.com/llvm/llvm-project/pull/74625 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm

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

2023-12-15 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand closed 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

[clang] [llvm] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-23 Thread Ulrich Weigand via cfe-commits
@@ -1026,6 +1030,72 @@ void SystemZAsmPrinter::emitADASection() { OutStreamer->popSection(); } +static std::string getProductID(Module &M) { + std::string ProductID; + if (auto *MD = M.getModuleFlag("zos_product_id")) +ProductID = cast(MD)->getString().str(); + if (Pr

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

2023-11-23 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand approved this pull request. LGTM, thanks! 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

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

2023-11-24 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand commented: Not sure about the is_lock_free results, see inline comments. What does recent GCC return for those? https://github.com/llvm/llvm-project/pull/73134 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https:/

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

2023-11-24 Thread Ulrich Weigand 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 Ulrich Weigand 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 Ulrich Weigand via cfe-commits
https://github.com/uweigand edited 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] [llvm] [SystemZ] Properly support 16 byte atomic int/fp types and ops. (PR #73134)

2023-11-24 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand edited 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] [llvm] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-11-27 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand approved this pull request. This version LGTM now, thanks! https://github.com/llvm/llvm-project/pull/68926 ___ 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-11-28 Thread Ulrich Weigand 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

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

2023-11-28 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand edited 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] c61eb44 - [SystemZ] Implement vector rotate in terms of funnel shift

2023-12-04 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2023-12-04T16:52:00+01:00 New Revision: c61eb440059d6e9c18e6f8404e06bf125aa942c9 URL: https://github.com/llvm/llvm-project/commit/c61eb440059d6e9c18e6f8404e06bf125aa942c9 DIFF: https://github.com/llvm/llvm-project/commit/c61eb440059d6e9c18e6f8404e06bf125aa942c9.diff

[clang] dca432c - [SystemZ] Fix naming of vlrlr/vstrlr builtins

2023-12-04 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2023-12-04T16:53:18+01:00 New Revision: dca432cb7b1c282f5dc861095813c4f40f109619 URL: https://github.com/llvm/llvm-project/commit/dca432cb7b1c282f5dc861095813c4f40f109619 DIFF: https://github.com/llvm/llvm-project/commit/dca432cb7b1c282f5dc861095813c4f40f109619.diff

[clang] 9d27139 - [SystemZ] Fix __builtin_s390_vceq* inconsistency

2023-12-04 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2023-12-04T17:00:05+01:00 New Revision: 9d27139293890a18b903c62f2c43954cc2bc302d URL: https://github.com/llvm/llvm-project/commit/9d27139293890a18b903c62f2c43954cc2bc302d DIFF: https://github.com/llvm/llvm-project/commit/9d27139293890a18b903c62f2c43954cc2bc302d.diff

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

2023-12-04 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand approved this pull request. This version LGTM now. 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] 1283ccb - Support z16 processor name

2022-04-21 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2022-04-21T19:58:22+02:00 New Revision: 1283ccb610feef4f2e0edf22f66a705155a0e0c7 URL: https://github.com/llvm/llvm-project/commit/1283ccb610feef4f2e0edf22f66a705155a0e0c7 DIFF: https://github.com/llvm/llvm-project/commit/1283ccb610feef4f2e0edf22f66a705155a0e0c7.diff

[libunwind] 364c502 - [libunwind] Add SystemZ support

2022-05-02 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2022-05-02T14:35:29+02:00 New Revision: 364c5023d2ce1617c706b185892ddfaa2fd4d166 URL: https://github.com/llvm/llvm-project/commit/364c5023d2ce1617c706b185892ddfaa2fd4d166 DIFF: https://github.com/llvm/llvm-project/commit/364c5023d2ce1617c706b185892ddfaa2fd4d166.diff

[libunwind] 7167237 - [libunwind][SystemZ] Unwind out of signal handlers

2022-05-04 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2022-05-04T10:43:11+02:00 New Revision: 71672375fe91d602699ae2a6d6a88e910ff91b5c URL: https://github.com/llvm/llvm-project/commit/71672375fe91d602699ae2a6d6a88e910ff91b5c DIFF: https://github.com/llvm/llvm-project/commit/71672375fe91d602699ae2a6d6a88e910ff91b5c.diff

[libunwind] 24ec521 - [libunwind][SystemZ] Use process_vm_readv to avoid potential segfaults

2022-07-18 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2022-07-18T16:54:48+02:00 New Revision: 24ec521cd7bb51447f4ab03460d91c57378d49f7 URL: https://github.com/llvm/llvm-project/commit/24ec521cd7bb51447f4ab03460d91c57378d49f7 DIFF: https://github.com/llvm/llvm-project/commit/24ec521cd7bb51447f4ab03460d91c57378d49f7.diff

[clang] c9062e8 - Reapply [libomptarget] Build plugins-nextgen for SystemZ (#83978)

2024-03-15 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2024-03-15T19:06:43+01:00 New Revision: c9062e8f786864f86d330babce78a1926cc5b072 URL: https://github.com/llvm/llvm-project/commit/c9062e8f786864f86d330babce78a1926cc5b072 DIFF: https://github.com/llvm/llvm-project/commit/c9062e8f786864f86d330babce78a1926cc5b072.diff

[clang] [llvm] [GOFF][z/OS] Change PrivateGlobalPrefix and PrivateLabelPrefix to be L# (PR #85730)

2024-03-20 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand approved this pull request. LGTM, thanks! https://github.com/llvm/llvm-project/pull/85730 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [openmp] [libomptarget] Build plugins-nextgen for SystemZ (PR #83978)

2024-03-06 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand updated https://github.com/llvm/llvm-project/pull/83978 >From e0cca3ddec75c7624c27a75ae6741dee3b0044fa Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Tue, 5 Mar 2024 10:03:55 +0100 Subject: [PATCH] [libomptarget] Build plugins-nextgen for SystemZ The plugin was

[clang] [llvm] [openmp] [libomptarget] Build plugins-nextgen for SystemZ (PR #83978)

2024-03-06 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand closed https://github.com/llvm/llvm-project/pull/83978 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] 70677c8 - Revert "[libomptarget] Build plugins-nextgen for SystemZ (#83978)"

2024-03-06 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2024-03-06T21:37:43+01:00 New Revision: 70677c81debbeacfc2a2fe968e632522ea1b53e1 URL: https://github.com/llvm/llvm-project/commit/70677c81debbeacfc2a2fe968e632522ea1b53e1 DIFF: https://github.com/llvm/llvm-project/commit/70677c81debbeacfc2a2fe968e632522ea1b53e1.diff

[clang] [llvm] [openmp] [libomptarget] Build plugins-nextgen for SystemZ (PR #83978)

2024-03-05 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand created https://github.com/llvm/llvm-project/pull/83978 The plugin was not getting built as the build_generic_elf64 macro assumes the LLVM triple processor name matches the CMake processor name, which is unfortunately not the case for SystemZ. Fix this by providing

[clang] [SystemZ][z/OS] Add support for recognizing z/OS personality function in Clang (PR #76073)

2024-01-15 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/76073 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libcxx] [clang] [mlir] [compiler-rt] [llvm] [asan] Enable StackSafetyAnalysis by default (PR #77210)

2024-01-15 Thread Ulrich Weigand via cfe-commits
uweigand wrote: This now causes failures in the SystemZ build bot: https://lab.llvm.org/buildbot/#/builders/94/builds/18295 https://github.com/llvm/llvm-project/pull/77210 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/

[llvm] [compiler-rt] [libcxx] [clang] [mlir] [asan] Enable StackSafetyAnalysis by default (PR #77210)

2024-01-16 Thread Ulrich Weigand via cfe-commits
uweigand wrote: > This now causes failures in the SystemZ build bot: > https://lab.llvm.org/buildbot/#/builders/94/builds/18295 Looking at this a bit more, before this patch the stack alignment test passes because the IR is instrumented to include a call to `__asan_alloca_poison` using a 32-b

[libcxx] [mlir] [llvm] [compiler-rt] [clang] [asan] Enable StackSafetyAnalysis by default (PR #77210)

2024-01-19 Thread Ulrich Weigand via cfe-commits
uweigand wrote: @MaskRay I've done a bit more analysis now, and what seems to be going on is that with stack safety analysis off, this check: ``` char array[len]; assert(!(reinterpret_cast(array) & 31L)); ``` succeeds because the VLA allocation gets instrumented, and therefore the VLA addre

[clang] [clang] Language to String function (PR #69487)

2023-10-26 Thread Ulrich Weigand via cfe-commits
uweigand wrote: This is intended to be used by the z/OS target, see the patch here: https://github.com/llvm/llvm-project/pull/68926 I asked Yusra to pull this part out into a separate PR. https://github.com/llvm/llvm-project/pull/69487 ___ cfe-commit

[clang] 76e9c2a - [FPEnv] Generate constrained FP comparisons from clang

2020-01-10 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2020-01-10T14:33:10+01:00 New Revision: 76e9c2a9870e36415eb343d28942a42296f85597 URL: https://github.com/llvm/llvm-project/commit/76e9c2a9870e36415eb343d28942a42296f85597 DIFF: https://github.com/llvm/llvm-project/commit/76e9c2a9870e36415eb343d28942a42296f85597.diff

[clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-13 Thread Ulrich Weigand via cfe-commits
@@ -10,7 +10,7 @@ // .byte (i.e., the one for the 3) would, it seems, also match // the .byte line below for the 34. -// RUN: %clang_cc1 --target=s390x-ibm-zos -xc -S -o - %s | FileCheck %s --check-prefix CHECK-C +// RUN: %clang --target=s390x-ibm-zos -xc -S -o - %s |

[clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-16 Thread Ulrich Weigand via cfe-commits
@@ -976,6 +976,24 @@ void CodeGenModule::Release() { Context.getTypeSizeInChars(Context.getWideCharType()).getQuantity(); getModule().addModuleFlag(llvm::Module::Error, "wchar_size", WCharWidth); + if (getTriple().isOSzOS()) { +int32_t ProductVersion, ProductRelea

[clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-16 Thread Ulrich Weigand via cfe-commits
@@ -2267,6 +2268,14 @@ void Clang::AddSystemZTargetArgs(const ArgList &Args, CmdArgs.push_back("-mfloat-abi"); CmdArgs.push_back("soft"); } + + if (Triple.isOSzOS()) { +CmdArgs.push_back("-mllvm"); +CmdArgs.push_back( +Args.MakeArgString(llvm::Twine("

[clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-16 Thread Ulrich Weigand via cfe-commits
@@ -10,9 +10,49 @@ #include "clang/Config/config.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/Support/ErrorHandling.h" +#include "llvm/Support/FormatVariadic.h" #include "llvm/TargetParser/Triple.h" using namespace clang; +const char *clang::languageToString(Languag

[clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-16 Thread Ulrich Weigand via cfe-commits
@@ -1026,6 +1036,68 @@ void SystemZAsmPrinter::emitADASection() { OutStreamer->popSection(); } +static uint32_t getProductVersion(Module &M) { + if (auto *VersionVal = cast_or_null( + M.getModuleFlag("Product Major Version"))) +return cast(VersionVal->getValue(

[clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-16 Thread Ulrich Weigand via cfe-commits
@@ -976,6 +976,24 @@ void CodeGenModule::Release() { Context.getTypeSizeInChars(Context.getWideCharType()).getQuantity(); getModule().addModuleFlag(llvm::Module::Error, "wchar_size", WCharWidth); + if (getTriple().isOSzOS()) { +int32_t ProductVersion, ProductRelea

[clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #68926)

2023-10-16 Thread Ulrich Weigand via cfe-commits
@@ -1296,6 +1372,124 @@ void SystemZAsmPrinter::emitPPA1(MCSymbol *FnEndSym) { 4); } +void SystemZAsmPrinter::emitStartOfAsmFile(Module &M) { + if (TM.getTargetTriple().isOSzOS()) +emitPPA2(M); + AsmPrinter::emitStartOfAsmFile(M); +}

[clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #65407)

2023-09-07 Thread Ulrich Weigand via cfe-commits
uweigand wrote: SystemZ back-end changes LGTM.Additional reviews as to the Clang and time support changes would be appreciated. https://github.com/llvm/llvm-project/pull/65407 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.l

[clang] [clang][CodeGen] Use byval for SystemZ indirect arguments (PR #66404)

2023-09-14 Thread Ulrich Weigand via cfe-commits
uweigand wrote: This looks correct to me. I'm just wondering if there's any unexpected change of generated code due to this - did you do a comparison before/after of some larger code bases? https://github.com/llvm/llvm-project/pull/66404 ___ cfe-com

[clang] [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (PR #65407)

2023-09-06 Thread Ulrich Weigand via cfe-commits
https://github.com/uweigand approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/65407 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] 9c9d88d - [SystemZ] Allow configuring default CLANG_SYSTEMZ_ARCH

2020-03-30 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2020-03-30T14:20:48+02:00 New Revision: 9c9d88d8b1bb6468f6c4258fe41bbcd01f742801 URL: https://github.com/llvm/llvm-project/commit/9c9d88d8b1bb6468f6c4258fe41bbcd01f742801 DIFF: https://github.com/llvm/llvm-project/commit/9c9d88d8b1bb6468f6c4258fe41bbcd01f742801.diff

[clang] 9f99aba - [clang][SystemZ] Add support for -march=native

2019-12-16 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2019-12-16T16:11:32+01:00 New Revision: 9f99aba1cfeb603f368c45ef78ba9795bab16d47 URL: https://github.com/llvm/llvm-project/commit/9f99aba1cfeb603f368c45ef78ba9795bab16d47 DIFF: https://github.com/llvm/llvm-project/commit/9f99aba1cfeb603f368c45ef78ba9795bab16d47.diff

Re: [clang-tools-extra] a0ff8cd - [clangd] Reapply b60896fad926 Fall back to selecting token-before-cursor if token-after-cursor fails.

2019-12-16 Thread Ulrich Weigand via cfe-commits
Sam McCall wrote: >LOG: [clangd] Reapply b60896fad926 Fall back to selecting token-before-cursor if token-after-cursor fails. > >This reverts commit 8f876d5105507f874c0fb86bc779c9853eab3fe2. I believe this has caused a significant number of build bot failures, with error messages along these li

[clang] cebba7c - [SystemZ] Avoid unnecessary conversions in vecintrin.h

2020-01-16 Thread Ulrich Weigand via cfe-commits
Author: Ulrich Weigand Date: 2020-01-16T18:58:14+01:00 New Revision: cebba7ce3952c8f37a923fa3a10360fd4c463775 URL: https://github.com/llvm/llvm-project/commit/cebba7ce3952c8f37a923fa3a10360fd4c463775 DIFF: https://github.com/llvm/llvm-project/commit/cebba7ce3952c8f37a923fa3a10360fd4c463775.diff

r294197 - [SystemZ] Provide predefined __ARCH__ and __VX__ macros

2017-02-06 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Mon Feb 6 11:04:22 2017 New Revision: 294197 URL: http://llvm.org/viewvc/llvm-project?rev=294197&view=rev Log: [SystemZ] Provide predefined __ARCH__ and __VX__ macros GCC 7 will predefine two new macros on s390x: - __ARCH__ indicates the ISA architecture level - __VX__ in

r307156 - [SystemZ] Simplify handling of ISA revisions

2017-07-05 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Wed Jul 5 06:19:47 2017 New Revision: 307156 URL: http://llvm.org/viewvc/llvm-project?rev=307156&view=rev Log: [SystemZ] Simplify handling of ISA revisions This moves determination of the ISA revision from the CPU name to one single place, removing a bunch of duplicated co

r308197 - [SystemZ] Add support for IBM z14 processor (1/3)

2017-07-17 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Mon Jul 17 10:45:57 2017 New Revision: 308197 URL: http://llvm.org/viewvc/llvm-project?rev=308197&view=rev Log: [SystemZ] Add support for IBM z14 processor (1/3) This patch series adds support for the IBM z14 processor. This part includes: - Basic support for the new proce

r308198 - [SystemZ] Add support for IBM z14 processor (2/3)

2017-07-17 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Mon Jul 17 10:46:47 2017 New Revision: 308198 URL: http://llvm.org/viewvc/llvm-project?rev=308198&view=rev Log: [SystemZ] Add support for IBM z14 processor (2/3) This patch extends the -fzvector language feature to enable the new "vector float" data type when compiling at -

Re: [PATCH v3] [PPC64]: Add support for Swift calling convention

2017-07-24 Thread Ulrich Weigand via cfe-commits
Andrew Jeffery wrote on 24.07.2017 03:54:05: > > > > +  bool shouldPassIndirectlyForSwift(CharUnits totalSize, > > > > +ArrayRef scalars, > > > > +bool asReturnValue) constoverride { > > > > +return occupiesMoreThan(CGT,

r322562 - [SystemZ] Support vector registers with inline asm

2018-01-16 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Tue Jan 16 07:39:23 2018 New Revision: 322562 URL: http://llvm.org/viewvc/llvm-project?rev=322562&view=rev Log: [SystemZ] Support vector registers with inline asm Allow using vector register names and the "v" constraint in inline asm to ensure compatibility with GCC. Modi

r285578 - [SystemZ] Add -march=archX aliases

2016-10-31 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Mon Oct 31 09:38:05 2016 New Revision: 285578 URL: http://llvm.org/viewvc/llvm-project?rev=285578&view=rev Log: [SystemZ] Add -march=archX aliases For compatibility with other compilers on the platform, allow specifying levels of the z/Architecture instead of model names wi

Re: r259183 - Add target triple to CodeGenOpenCL/pipe_types.cl test case

2016-02-04 Thread Ulrich Weigand via cfe-commits
Hans, would it be OK to backport this test case fix to the 3.8 branch? This is currently the only failing test on the branch for SystemZ. Thanks! >Author: uweigand >Date: Fri Jan 29 04:45:23 2016 >New Revision: 259183 > >URL: http://llvm.org/viewvc/llvm-project?rev=259183&view=rev >Log: >Add t

r259931 - [SystemZ] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros

2016-02-05 Thread Ulrich Weigand via cfe-commits
Author: uweigand Date: Fri Feb 5 15:34:28 2016 New Revision: 259931 URL: http://llvm.org/viewvc/llvm-project?rev=259931&view=rev Log: [SystemZ] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_[1248] macros on SystemZ. This fixes a miscompile of GCC C++11 s

Re: r259931 - [SystemZ] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros

2016-02-05 Thread Ulrich Weigand via cfe-commits
Hans, this is one more patch that should go into 3.8 -- it fixes miscompiles of code using GCC-provided C++11 system headers like . With this patch, the test suite is now clean also with a bootstrapped clang. >Author: uweigand >Date: Fri Feb 5 15:34:28 2016 >New Revision: 259931 > >URL: htt

Re: r259931 - [SystemZ] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros

2016-02-08 Thread Ulrich Weigand via cfe-commits
Hal Finkel wrote on 05.02.2016 23:14:54: > Just a general comment: I believe we've now fixed this bug for at > least four different architectures (each time as a separate effort). Yes. Unfortunately I only noticed that after I'd already spent half a day debugging the problem from scratch on Sys

Re: r259931 - [SystemZ] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros

2016-02-09 Thread Ulrich Weigand via cfe-commits
Hal Finkel wrote on 09.02.2016 04:59:21: > We generally notice this when we try to use some part of the C++ > standard library (std::atomic or std::thread as I recall). Could we > have something in the test-suite that uses that functionality in a > way likely to expose this bug? Well, when I loo

Re: r259931 - [SystemZ] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros

2016-02-15 Thread Ulrich Weigand via cfe-commits
Hal Finkel wrote on 09.02.2016 18:16:21: > > I guess any application that uses C++11 threads should show this > > problem immediately. > > I'm not sure we have anything like that in our test suite. Could you > add a simple test? Hmm, it looks like Nemanja already added this: SingleSource/UnitTe

Re: r259931 - [SystemZ] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros

2016-02-15 Thread Ulrich Weigand via cfe-commits
Hal Finkel wrote on 15.02.2016 16:30:15: > > Hmm, it looks like Nemanja already added this: > > > > SingleSource/UnitTests/C++11/ stdthreadbug.cpp > > > > But the test is restricted to run only on ppc64le: > > > > #if defined(_LITTLE_ENDIAN) && defined(__PPC64__) > > ... > > > > I think there's n

Re: [PATCH] D17142: SystemZ: Check that argument -fzvector is only given for -z13

2016-02-15 Thread Ulrich Weigand via cfe-commits
uweigand added a subscriber: uweigand. uweigand added a comment. I'm not sure this is the right approach. In any case, it differs from how the option is handled in GCC. -mzvector enables the language *syntax* extension, i.e. allows use of the "vector unsigned int" etc. data types. Note that t

Re: [PATCH] D19432: [SystemZ] Support Swift calling convention

2016-04-27 Thread Ulrich Weigand via cfe-commits
uweigand accepted this revision. uweigand added a comment. This revision is now accepted and ready to land. LGTM. http://reviews.llvm.org/D19432 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/c

Re: [PATCH] D19891: [clang] [SystemZ] Add -mbackchain option.

2016-05-04 Thread Ulrich Weigand via cfe-commits
uweigand accepted this revision. uweigand added a comment. This revision is now accepted and ready to land. LGTM. Repository: rL LLVM http://reviews.llvm.org/D19891 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi

  1   2   3   >