[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-07-29 Thread Fanbo Meng via cfe-commits
fanbo-meng wrote: Transferring this to @abhina-sree https://github.com/llvm/llvm-project/pull/96063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-07-29 Thread Fanbo Meng via cfe-commits
https://github.com/fanbo-meng closed https://github.com/llvm/llvm-project/pull/96063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Sean Perry via cfe-commits
@@ -0,0 +1,84 @@ +// RUN: %clang_cc1 -triple s390x-ibm-zos -fzos-extensions -emit-llvm -O2 < %s | FileCheck %s --check-prefix=X64 perry-ca wrote: Does this test need to be some complicated? https://github.com/llvm/llvm-project/pull/96063 _

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Sean Perry via cfe-commits
@@ -7097,10 +7098,14 @@ static bool handleMSPointerTypeQualifierAttr(TypeProcessingState &State, else if (Attrs[attr::UPtr]) ASIdx = LangAS::ptr32_uptr; } else if (PtrWidth == 64 && Attrs[attr::Ptr32]) { -if (Attrs[attr::UPtr]) +if (Triple.isOSzOS()) {

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Zibi Sarbinowski via cfe-commits
@@ -59,6 +59,14 @@ static std::string computeDataLayout(const Triple &TT) { // Data mangling. Ret += DataLayout::getManglingComponent(TT); + // Special features for z/OS. + if (TT.isOSzOS()) { +if (TT.isArch64Bit()) { zibi2 wrote: You can collapse t

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Zibi Sarbinowski via cfe-commits
@@ -7097,10 +7098,14 @@ static bool handleMSPointerTypeQualifierAttr(TypeProcessingState &State, else if (Attrs[attr::UPtr]) ASIdx = LangAS::ptr32_uptr; } else if (PtrWidth == 64 && Attrs[attr::Ptr32]) { -if (Attrs[attr::UPtr]) +if (Triple.isOSzOS()) {

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Zibi Sarbinowski via cfe-commits
@@ -3567,6 +3567,14 @@ void CompilerInvocationBase::GenerateLangArgs(const LangOptions &Opts, GenerateArg(Consumer, OPT_ftrigraphs); } + if (T.isOSzOS()) { +if (!Opts.ZOSExt) + GenerateArg(Consumer, OPT_fno_zos_extensions); zibi2 wrote: I a

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Zibi Sarbinowski via cfe-commits
@@ -224,6 +252,19 @@ class LLVM_LIBRARY_VISIBILITY SystemZTargetInfo : public TargetInfo { std::pair hardwareInterferenceSizes() const override { return std::make_pair(256, 256); } + + uint64_t getPointerWidthV(LangAS AddrSpace) const override { +unsigned TargetAd

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Zibi Sarbinowski via cfe-commits
@@ -107,12 +107,14 @@ namespace { KEYMSCOMPAT = 0x40, KEYSYCL = 0x80, KEYCUDA = 0x100, -KEYHLSL = 0x200, -KEYFIXEDPOINT = 0x400, +KEYZOS= 0x200, +KEYNOZOS = 0x400, +KEYHLSL = 0x80

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Fanbo Meng via cfe-commits
fanbo-meng wrote: code-formatter is complaining about the entire enum table. To be less pervasive, I'll not address that. https://github.com/llvm/llvm-project/pull/96063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cg

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Fanbo Meng via cfe-commits
https://github.com/fanbo-meng updated https://github.com/llvm/llvm-project/pull/96063 >From 8852cfa1c035246d970f037866c2a6b290e27d43 Mon Sep 17 00:00:00 2001 From: Fanbo Meng Date: Sat, 21 Mar 2020 10:45:04 -0400 Subject: [PATCH 1/2] __ptr32 support for z/OS Enabling __ptr32 support for z/OS i

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 0c97ac0a46d0c29fbe5168adcd32e1f25336096d 8852cfa1c035246d970f037866c2a6b290e27d43 --e

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-backend-systemz @llvm/pr-subscribers-clang Author: Fanbo Meng (fanbo-meng) Changes Enabling __ptr32 keyword to support in Clang for z/OS. It is represented by addrspace(1) in LLVM IR. Unlike existing implementation, __ptr32 is not mangled into symbol n

[clang] [llvm] [SystemZ][z/OS] __ptr32 support for z/OS in Clang (PR #96063)

2024-06-19 Thread Fanbo Meng via cfe-commits
https://github.com/fanbo-meng created https://github.com/llvm/llvm-project/pull/96063 Enabling __ptr32 keyword to support in Clang for z/OS. It is represented by addrspace(1) in LLVM IR. Unlike existing implementation, __ptr32 is not mangled into symbol names for z/OS. >From 8852cfa1c035246d9