[PATCH] D88526: [clang][Sema] Fix PR47676: Handle dependent AltiVec C-style cast

2020-10-01 Thread Hubert Tong via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG35ecc7fe49ba: [clang][Sema] Fix PR47676: Handle dependent AltiVec C-style cast (authored by hubert.reinterpretcast). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm

[PATCH] D88845: [SystemZ][z/OS] Set default alignment rules for z/OS target

2020-10-06 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/zos-alignment.c:114 +union u2 { + long :0; + short a; The testing for no-attribute potentially 8-byte aligning zero-width bitfields in a non-initial position is missing. ``

[PATCH] D88963: [SystemZ][z/OS] Add test of zero length bitfield type size larger than target zero length bitfield boundary

2020-10-07 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88963/new/ https://reviews.llvm.org/D88963

[PATCH] D88659: [FE]Split SuitableAlign into two parts

2020-10-08 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D88659#2318203 , @jyknight wrote: > It seems like on AIX, `__BIGGEST_ALIGNMENT__` should just be set to 16, then. > I'm not sure why you want it to be 8? /// Return the alignment that is suitable for storing

[PATCH] D89064: [AIX] Disable two itanium alignment LIT testcases

2020-10-08 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. Can we use a regex to make this also work in AIX? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89064/new/ https://reviews.llvm.org/D89064 ___ cfe-commits mailing

[PATCH] D89064: [AIX] Disable two itanium alignment LIT testcases

2020-10-09 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D89064#2322717 , @Xiangling_L wrote: > In D89064#2320133 , > @hubert.reinterpretcast wrote: > >> Can we use a regex to make this also work in AIX? > > Sure we can also do

[PATCH] D88659: [FE]Split SuitableAlign into two parts

2020-10-10 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D88659#2323631 , @jyknight wrote: > ISTM that comment may be incorrect. At least, the precedent set by GCC > appears to be that BIGGEST_ALIGNMENT and alloca _both_ should follow vector > alignment requirements o

[PATCH] D89064: [AIX] Support two itanium alignment LIT testcases for AIX using regex

2020-10-13 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM with suggestion. Comment at: clang/test/Layout/itanium-pack-and-align.cpp:19 // CHECK-NEXT: 1 | int y -// CHECK-NEXT:

[PATCH] D89443: [PowerPC][AIX] Make `__vector [un]signed long` an error

2020-10-14 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast created this revision. hubert.reinterpretcast added reviewers: nemanjai, ZarkoCA, cebowleratibm. Herald added a subscriber: shchenz. Herald added a project: clang. hubert.reinterpretcast requested review of this revision. The semantics associated with `__vector [un]signed lo

[PATCH] D91596: [PowerPC] [Clang] Fix alignment of 128-bit floating types

2020-11-28 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. Reverting this patch makes va_arg with the default 128-bit (double-double) long double work again: #include void abort(void); void foo(int x, ...) { va_list ap; va_start(ap, x); long double ans = va_arg(ap, long double); if (ans !

[PATCH] D91455: [XCOFF][AIX] Generate LSDA data and compact unwind section on AIX

2020-11-30 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. > 2. AIX uses a new personality routine, named __xlcxx_personality_v1. It > doesn't use the GCC personality rountine, because the intractability is not > there yet on AIX. @jasonliu, is "intractability" a typo/autocorrect problem? CHANGES SINCE LAST ACT

[PATCH] D91455: [XCOFF][AIX] Generate LSDA data and compact unwind section on AIX

2020-12-01 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: llvm/test/CodeGen/PowerPC/aix-exception.ll:108-109 +; ASM: .byte 255 # @LPStart Encoding = omit +; ASM32: .byte 187 # @TType Encoding = +; ASM64:

[PATCH] D91455: [XCOFF][AIX] Generate LSDA data and compact unwind section on AIX

2020-12-01 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/AIXException.cpp:35 + // unsigned long lsda; /* Pointer to LSDA */ + // unsigned long personality; /* Pointerto the personality routine */ + // } Typo: missing

[PATCH] D91455: [XCOFF][AIX] Generate LSDA data and compact unwind section on AIX

2020-12-01 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. LGTM; thanks. Comment at: llvm/test/CodeGen/PowerPC/aix-exception.ll:108-109 +; ASM: .byte 255 # @LPStart Encoding = omit +; ASM32: .byte 187

[PATCH] D92278: [Clang] Don't adjust align for IBM extended double type

2020-12-02 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/ppc64le-varargs-f128.c:8 +// RUN: %clang -target powerpc64le-unknown-linux-gnu -S -emit-llvm \ +// RUN: -fopenmp-targets=ppc64le -mfloat128 -mabi=ieeelongdouble -mcpu=pwr9 \ MaskRay

[PATCH] D89612: NFC: Fix -Wsign-compare warnings on 32-bit builds

2020-10-16 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast created this revision. hubert.reinterpretcast added reviewers: dantrushin, hokein, daltenty, stevewan, jasonliu. Herald added a subscriber: hiraditya. Herald added projects: clang, LLVM. hubert.reinterpretcast requested review of this revision. Comparing 32-bit `ptrdiff_t`

[PATCH] D89443: [PowerPC][AIX] Make `__vector [un]signed long` an error

2020-10-18 Thread Hubert Tong via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. hubert.reinterpretcast marked an inline comment as done. Closed by commit rG126094485ab9: [PowerPC][AIX] Make `__vector [un]signed long` an error (authored by hubert.reinterpretcast). Changed prior to commit: https://revi

[PATCH] D89684: [AIX] Add mvecnvol and mnovecnvol options to enable the AIX extended and default vector ABIs.

2020-10-19 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. There's frontend changes anyway, so there should be changes for the predefined macros? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89684/new/ https://reviews.llvm.org/D89684 __

[PATCH] D89684: [AIX] Add mvecnvol and mnovecnvol options to enable the AIX extended and default vector ABIs.

2020-10-20 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. I have two concerns over the choice of the option form/name. Firstly, there's an `-mabi=` option that is used to select for ABI extensions. The choice of using an `-mabi=` suboption for selecting between the extended vector ABI and the default vector ABI

[PATCH] D89612: NFC: Fix -Wsign-compare warnings on 32-bit builds

2020-10-20 Thread Hubert Tong via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG134ffa8138c3: NFC: Fix -Wsign-compare warnings on 32-bit builds (authored by hubert.reinterpretcast). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D89684: [AIX] Add mvecnvol and mnovecnvol options to enable the AIX extended and default vector ABIs.

2020-10-20 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D89684#2341922 , @hubert.reinterpretcast wrote: > `-mabi=aixvecextabi` was suggested when I discussed this with someone who is > familiar with GCC. The choice of `extabi` at the end is to match the spelling > o

[PATCH] D88659: [NFC] Fix the definition of SuitableAlign

2020-10-21 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88659/new/ https://reviews.llvm.org/D88659 ___

[PATCH] D89910: [AIX] Let alloca return 16 bytes alignment

2020-10-21 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/aix_alloca_align.c:2 +// RUN: %clang_cc1 -triple=powerpc-ibm-aix-xcoff -S -emit-llvm < %s | \ +// RUN: FileCheck -check-prefix 32BIT %s + Minor nit: Use double-hyphen for long option a

[PATCH] D89897: [AIX] Emit error for -G option on AIX

2020-10-21 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/Driver/aix-err-options.c:1 +// RUN: %clang -target powerpc32-ibm-aix-xcoff -### -S -emit-llvm -G 0 2>&1 %s | \ +// RUN: FileCheck -check-prefix=CHECK32 %s Does this need a call to `not`? Re

[PATCH] D89897: [AIX] Emit error for -G option on AIX

2020-10-21 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:4925 + if (RawTriple.isOSAIX()) +if (Arg *A = Args.getLastArg(options::OPT_G)) { + D.Diag(diag::err_drv_unsupported_opt_for_target) Either remove the braces

[PATCH] D89910: [AIX] Let alloca return 16 bytes alignment

2020-10-22 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/aix_alloca_align.c:11 +void foo() { + char *ptr1 = (char *)alloca(sizeof(char) * 9); +} I'm not entirely sure, but can we try for size 32 and see if we get 16? CHANGES SINCE LAST ACTI

[PATCH] D89897: [AIX] Emit error for -G option on AIX

2020-10-22 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks! Comment at: clang/test/Driver/aix-err-options.c:1 +// RUN: %clang -target powerpc32-ibm-aix-xcoff -### -S -emit-llvm -G 0 2>&1 %

[PATCH] D89910: [AIX] Let alloca return 16 bytes alignment

2020-10-22 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89910/new/ https://reviews.llvm.org/D89910 ___

[PATCH] D89986: [AIX]ignore the option -fvisibility-inlines-hidden when there is no option -fvisibility=*

2020-10-22 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/aix-visibility-inlines-hidden.cpp:20 +// RUN: FileCheck -check-prefixes=COMMON-IR,VISIBILITY-IR %s + +int x = 66; There's no testing for the interaction with `-mignore-xcoff-visibility`.

[PATCH] D90063: [AIX] Also error on -G for link-only step

2020-10-23 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/Driver/aix-err-options.c:14-15 + // RUN: %clang -target powerpc64-ibm-aix-xcoff -### -S -emit-llvm -G 0 2>&1 %s | \ // RUN: FileCheck --check-prefix=CHECK64 %s +// RUN: %clang -target powerpc64-ibm-aix-xcof

[PATCH] D90063: [AIX] Also error on -G for link-only step

2020-10-26 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90063/new/ https://reviews.llvm.org/D90063 ___

[PATCH] D90187: [NFC] Remove max_align.c LIT testcase

2020-10-26 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90187/new/ https://reviews.llvm.org/D90187

[PATCH] D89986: [AIX] do not emit visibility attribute into IR when there is -mignore-xcoff-visibility

2020-10-27 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/CodeGen/BackendUtil.cpp:520 Options.DataSections = CodeGenOpts.DataSections; - Options.IgnoreXCOFFVisibility = CodeGenOpts.IgnoreXCOFFVisibility; Options.UniqueSectionNames = CodeGenOpts.UniqueSectionNames

[PATCH] D102064: Parse vector bool when stdbool.h and altivec.h are included

2021-05-12 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM with comment. Comment at: clang/test/Parser/altivec-zvector-bool.c:20-23 +__vector _Bool char Bc; +__vector _Bool short Bsh; +__vector _B

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-13 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. @v.g.vassilev, the test does not appear to be appropriately set up for builds that default to a non-native target: https://lab.llvm.org/staging/#/builders/126/builds/371/steps/5/logs/FAIL__Clang__execute_cpp Can you fix or revert until there is a fix? Re

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-13 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2757179 , @v.g.vassilev wrote: > In D96033#2757107 , @v.g.vassilev > wrote: > >> In D96033#2757077 , >> @hubert.reinterpr

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-13 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2757342 , @lhames wrote: > Hi Hubert, > > Could you apply the following patch and let me know the output from the > failing test? I'm trying to work out whether the JIT is getting the triple or > the data

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-13 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2757342 , @lhames wrote: > Hi Hubert, > > Could you apply the following patch and let me know the output from the > failing test? I'm trying to work out whether the JIT is getting the triple or > the data

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-13 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2758189 , @lhames wrote: > Ok, looks like the JIT is getting the layout right, but clang-repl is > constructing a module with an little-endian layout for some reason. `clang-repl` is generating a module c

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-14 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2759808 , @v.g.vassilev wrote: > Hi @hubert.reinterpretcast, > > Would you mind testing this patch: Running it now. I've applied the first diff here to the base of my previously reported result to minimi

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-14 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2759808 , @v.g.vassilev wrote: > Hi @hubert.reinterpretcast, > > Would you mind testing this patch: Does the test try to generate native object files in some way? There is functionality (with some limita

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-15 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. @v.g.vassilev, thanks for working with me on this. I understand it is difficult to handle issues that appear on platforms and build configurations one does not have set up. I've added `-Xcc -v` and the output is below. It seems it has to do with the impl

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-15 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. Once I add `-Xcc -fintegrated-as`, we get: $ cat /home/hstong/.Liodine/llvmproj/clang/test/Interpreter/execute.cpp | /home/hstong/.Nrtphome/.Liodine/llcrossbld/dev/build/bin/clang-repl -Xcc -fintegrated-as fatal error: error in backend: 64-bit XCOFF o

[PATCH] D102560: [AIX][clang-repl][test] Mark unsupported pending XCOFF64 integrated-as

2021-05-15 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast created this revision. hubert.reinterpretcast added reviewers: v.g.vassilev, lhames, daltenty, jasonliu, jsji. Herald added a subscriber: steven.zhang. hubert.reinterpretcast requested review of this revision. Herald added a project: clang. This patch replaces the `powerpc6

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-15 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2761428 , @hubert.reinterpretcast wrote: > If you have some ideas, please let me know. Meanwhile, I am trying out > `system-aix` as the "feature" to XFAIL on. https://reviews.llvm.org/D102560 posted to u

[PATCH] D102560: [AIX][clang-repl][test] Mark unsupported pending XCOFF64 integrated-as

2021-05-15 Thread Hubert Tong via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9ae529d0db2d: [AIX][clang-repl][test] Mark unsupported pending XCOFF64 integrated-as (authored by hubert.reinterpretcast). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://review

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-16 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2762056 , @v.g.vassilev wrote: > IIUC, AIX has a default `fno-integrated-as` and I am still puzzled (and > cannot find the relevant code) what is the program action kind for AIX in > that case (`frontend

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-17 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2762182 , @v.g.vassilev wrote: > That patch should probably get us to a point where we can mark the test as > `XFAIL: system-aix` I've applied that patch to my 64-bit LLVM build and it does cause the obj

[PATCH] D96033: [clang-repl] Land initial infrastructure for incremental parsing

2021-05-17 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D96033#2764946 , @hubert.reinterpretcast wrote: >> If that works on your platform I will happily open a review for the changes. > > From the behaviour observed in the 64-bit build, the 32-bit case might not > fa

[PATCH] D102688: [clang-repl] Better match the underlying architecture.

2021-05-18 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks! Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102688/new/ https://reviews.llvm.org/D102688 _

[PATCH] D102715: [AIX] Fix LIT failure on native aix

2021-05-18 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. From the comment, it seems the code as-is fails to test the property intended. It seems we want this: struct packed_chars { char a : 8, b : 8, c : 8, d : 4; char e : 8 __attribute__((packed)); char f : 4, g : 8, h : 8, i : 8; }; extern in

[PATCH] D102715: [AIX] Fix LIT failure on native aix

2021-05-19 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. This LGTM. I've added additional reviewers based on the history of the file in case they will have comments. Please hold on committing this until tomorrow. CHA

[PATCH] D102715: Fix LIT failure on native aix

2021-05-19 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/Sema/struct-packed-align.c:170 +#elif defined(_AIX) +// On AIX, [bool, char, short] bitfields have the same alignment as unsigned +// int. Xiangling_L wrote: > aaron.ballman wrote: > > Xiangling

[PATCH] D102814: [AIX] Print printable byte list as quoted string

2021-05-19 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: llvm/lib/MC/MCAsmStreamer.cpp:1007-1008 +static inline bool isPrintableString(StringRef Data) { + const auto BeginPtr = Data.begin(), EndPtr = Data.end(); + for (const unsigned char C : make_range(BeginPtr, EndPtr)) { +

[PATCH] D101601: [SelectionDAG] Make fast and linearize visible by clang -pre-RA-sched

2021-05-19 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/pre-ra-sched.c:1-2 +// RUN: %clang %s -mllvm -pre-RA-sched=fast -c -o - | FileCheck %s +// RUN: %clang %s -mllvm -pre-RA-sched=linearize -c -o - | FileCheck %s + The test as was committe

[PATCH] D101601: [SelectionDAG] Make fast and linearize visible by clang -pre-RA-sched

2021-05-20 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/pre-ra-sched.c:1-2 +// RUN: %clang %s -mllvm -pre-RA-sched=fast -c -o - | FileCheck %s +// RUN: %clang %s -mllvm -pre-RA-sched=linearize -c -o - | FileCheck %s + hubert.reinterpretcast w

[PATCH] D102814: [AIX] Print printable byte list as quoted string

2021-05-20 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM with minor comments; thanks! Comment at: llvm/include/llvm/MC/MCAsmInfo.h:268-270 + /// This directive allows emission of an ascii strin

[PATCH] D101601: [SelectionDAG] Make fast and linearize visible by clang -pre-RA-sched

2021-05-21 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/pre-ra-sched.c:1-2 +// RUN: %clang %s -mllvm -pre-RA-sched=fast -c -o - | FileCheck %s +// RUN: %clang %s -mllvm -pre-RA-sched=linearize -c -o - | FileCheck %s + TaoPan wrote: > hubert.r

[PATCH] D99901: [Driver][test] Test intended target only

2021-05-28 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/Driver/nostdincxx.cpp:4 // RUN: not %clangxx -nostdlibinc %s 2>&1 | FileCheck %s -// RUN: not %clangxx -fsyntax-only -nostdinc -nostdinc++ %s 2>&1 | FileCheck /dev/null --implicit-check-not=-Wunused-command-li

[PATCH] D102723: [HIP] Tighten checks in hip-include-path.hip test case

2021-05-29 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. This change is causing failures when the build is done from a working directory that has symlinks: https://lab.llvm.org/staging/#/builders/126/builds/529/steps/5/logs/FAIL__Clang__hip-include-path_hip Repository: rG LLVM Github Monorepo CHANGES SINCE L

[PATCH] D102723: [HIP] Tighten checks in hip-include-path.hip test case

2021-06-01 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a subscriber: gkistanova. hubert.reinterpretcast added a comment. In D102723#2790047 , @bjope wrote: > But it looks like the workers here > (https://lab.llvm.org/staging/#/workers/109) are paused so hard to tell if it > help

[PATCH] D94986: Remove requirement for -maltivec to be used when using -mabi=vec-extabi or -mabi=vec-default when not using vector code

2021-01-21 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:4669 << A->getSpelling() << RawTriple.str(); -if (!Args.hasArg(options::OPT_maltivec)) - D.Diag(diag::err_aix_altivec); +if (Args.hasArg(options::OPT_mabi_EQ_ve

[PATCH] D94986: Remove requirement for -maltivec to be used when using -mabi=vec-extabi or -mabi=vec-default when not using vector code

2021-01-22 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:4671 + D.Diag(diag::err_aix_default_altivec_abi); } Just to confirm, because the patch description confuses me a bit on this: The intent is to not complain

[PATCH] D63852: [Clang] Move assembler into a separate file

2021-01-23 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. @aykevl, please check http://lab.llvm.org:8011/#/builders/57/builds/3704: it seems you are missing a change to `clang/lib/Frontend/CMakeLists.txt` to update the `LLVM_LINK_COMPONENTS`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION ht

[PATCH] D63852: [Clang] Move assembler into a separate file

2021-01-23 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D63852#2517500 , @aykevl wrote: > or maybe I've put `AssemblerInvocation` in the wrong directory/library. This seems to be a good design question. I think a lot of people consider `-cc1` functionality to be the

[Diffusion] rGcaaaebcde462: [AIX] Actually push back "-mabi=vec-extabi" when option is on.

2021-01-29 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added subscribers: ZarkoCA, hubert.reinterpretcast, cfe-commits. BRANCHES main Users: ZarkoCA (Author) https://reviews.llvm.org/rGcaaaebcde462 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/c

[Diffusion] rGcaaaebcde462: [AIX] Actually push back "-mabi=vec-extabi" when option is on.

2021-01-29 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. BRANCHES main /clang/lib/Driver/ToolChains/Clang.cpp:4672-4678 This seems to be saying that `-maltivec` rather actively implies `-mabi=vec-default` (on AIX) even in cases where `-maltivec` really makes no difference. I suggest just removing this.

[PATCH] D95702: [AIX] Improve option processing for mabi=vec-extabi and mabi=vec=defaul

2021-01-30 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D95702/new/ https://reviews.llvm.org/D95702

[PATCH] D95822: [FE][AIX] Use i8 as guard variable type in both load and store operation

2021-02-01 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGenCXX/aix-static-init-temp-spec-and-inline-var.cpp:193 // CHECK: %1 = call i32 @atexit(void ()* @__dtor__ZN5test12t1IiEE) -// CHECK: store i64 1, i64* @_ZGVN5test12t1IiEE // CHECK: br label %init.e

[PATCH] D95822: [FE][AIX] Use i8 as guard variable type in both load and store operation

2021-02-01 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGenCXX/aix-static-init.cpp:143 // CHECK: init.check: -// CHECK: %1 = call i32 @__cxa_guard_acquire(i64* @_ZGVZN5test41fEvE11staticLocal) +// CHECK: %1 = call i32 @__cxa_guard_acquire(i8* @_ZGVZN5test4

[PATCH] D95822: [FE] Manipulate the first byte of guard variable type in both load and store operation

2021-02-02 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: guard.patch:1 +From 9c7d0afec1e634cdeaf3a2ca4273f5da07f6f946 Mon Sep 17 00:00:00 2001 +From: Xiangling Liao Looks like this file got added by accident. CHANGES SINCE LAST ACTION https://reviews.llvm.o

[PATCH] D95822: [FE] Manipulate the first byte of guard variable type in both load and store operation

2021-02-02 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGenCXX/global-init.cpp:84 // CHECK-NEXT: store i32 [[CALL]], i32* @_ZN5test41xE - // CHECK-NEXT: store i64 1, i64* @_ZGVN5test41xE + // CHECK-NEXT: store i8 1, i8* bitcast (i64* @_ZGVN5test41xE to i8*)

[PATCH] D95822: [FE] Manipulate the first byte of guard variable type in both load and store operation

2021-02-02 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. LGTM. I think there would be more concern if the load/store actions were previously symmetric, but this patch is actually needed for the symmetry. Nevertheless, please wait a bit before committing this (since

[PATCH] D111078: [AIX] Enable int128 in 64 bit mode

2021-10-04 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. Making a change to whether a platform has `__int128` affects the ABI of libc++'s `std::chrono::file_clock`. We should make sure the mitigation patch is posted and accepted. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://review

[PATCH] D111078: [AIX] Enable int128 in 64 bit mode

2021-10-04 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: llvm/test/CodeGen/PowerPC/int128_ldst.ll:31 ; CHECK-NEXT:mr 3, 5 ; CHECK-NEXT:blr entry: Confirming that this case matches GCC on AIX: ``` ld 4,8(3) ld 3,0(3) blr ``` R

[PATCH] D111078: [AIX] Enable int128 in 64 bit mode

2021-10-04 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. Type alignment (16), choice of GPRs for argument passing (first available including r10), `va_arg` invocations, order of components (big endian), and calls to double/float conversions all check out. It may be reasonable to locate existing tests for these

[PATCH] D111078: [AIX] Enable int128 in 64 bit mode

2021-10-05 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D111078#3042913 , @daltenty wrote: > Good point, but the std::chrono::file_clock interface hasn't shipped yet on > the platform libc++, since it's currently still at a bit of a backlevel, so I > don't think tha

[PATCH] D46443: Add missing cstdalign header

2021-02-16 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. Herald added a subscriber: wingo. The resolution of LWG 2828 means that `` exists in C++11 and C++14. The rationale from https://reviews.llvm.org/D96786#2566110 can be taken as saying that adding this

[PATCH] D102723: [HIP] Tighten checks in hip-include-path.hip test case

2021-06-07 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D102723#2790047 , @bjope wrote: > I relaxed the checks a bit again here: https://reviews.llvm.org/rGf0e10cc91bc4 > But it looks like the workers here > (https://lab.llvm.org/staging/#/workers/109) are paused so

[PATCH] D103501: [clang][AIX] Enable inlined quadword atomic operations

2021-06-22 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/ppc64-quadword-atomics.c:10 + +// CHECK-NOT: call void @__atomic_exchange +// CHECK: +quadword-atomics Can you add a link to something that demonstrates that the implementation of `__at

[PATCH] D104803: [AIX] Emitting diagnostics error for profile options

2021-06-23 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/Driver/unsupported-option.c:14 + +// RUN: not %clang -fprofile-generate --target=powerpc-ibm-aix %s 2>&1 | \ +// RUN: FileCheck %s --check-prefix=AIX-PROFILE-LTO Worthwhile to use the 64-bit tri

[PATCH] D104803: [AIX] Emitting diagnostics error for profile options

2021-06-23 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:786 +<< PGOGenerateArg->getSpelling() << "-flto"; +if (ProfileGenerateArg) + D.Diag(diag::err_drv_unsupported_opt_for_target) Isn't this block of

[PATCH] D104803: [AIX] Emitting diagnostics error for profile options

2021-06-23 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104803/new/ https://reviews.llvm.org/D104803 __

[PATCH] D103501: [clang][AIX] Enable inlined quadword atomic operations

2021-06-23 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGen/ppc64-quadword-atomics.c:10 + +// CHECK-NOT: call void @__atomic_exchange +// CHECK: +quadword-atomics lkail wrote: > hubert.reinterpretcast wrote: > > Can you add a link to something th

[PATCH] D107244: [AIX] Define _ARCH_PPC64 macro for 32-bit

2021-08-04 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/Basic/Targets/PPC.cpp:260 + } else { +if (getTriple().isOSAIX()) + Builder.defineMacro("_ARCH_PPC64"); cebowleratibm wrote: > A comment is warranted here to explain that __ARCH_PPC64 is

[PATCH] D107244: [AIX] Define _ARCH_PPC64 macro for 32-bit

2021-08-04 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/Basic/Targets/PPC.cpp:259 Builder.defineMacro("__PPC64__"); + // Also define _ARCH_PPC64 for 32-bit on AIX. + } else { Merge `else` with single `if`-statement as the sole contents of the b

[PATCH] D107786: [AIX]: Fix option processing for -b

2021-08-09 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/Driver/ToolChains/CommonArgs.cpp:271 // Handle reserved library options. -if (A.getOption().matches(options::OPT_Z_reserved_lib_stdcxx)) +else if (A.getOption().matches(options::OPT_Z_reserved_lib_st

[PATCH] D107786: [AIX]: Fix option processing for -b

2021-08-09 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107786/new/ https://reviews.llvm.org/D107786 __

[PATCH] D104899: [clang][tests] Specify unwindlib in aix-ld tests

2021-06-25 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104899/new/ https://reviews.llvm.org/D104899 __

[PATCH] D104420: thread_local support for AIX

2021-07-11 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp:13 // LINUX: @_ZTH1r ={{.*}} alias void (), void ()* @__tls_init +// AIXX: @_ZTH1r ={{.*}} alias void (), void ()* @__tls_init // DARWIN: @_ZTH1r = internal alias vo

[PATCH] D104420: thread_local support for AIX

2021-07-12 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:4790 +llvm::Value *Arg2 = llvm::ConstantExpr::getBitCast( +cast(dtor.getCallee()), FpTy); +CGF.EmitNounwindRuntimeCall(AtExit, {Arg1, Arg2}); The functio

[PATCH] D104420: thread_local support for AIX

2021-07-12 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:3003-3010 +} else if (CGM.getTriple().isOSAIX()) + // On AIX, all thread_local vars will have init routines regardless of + // whether they are const-initialized or not. S

[PATCH] D104420: thread_local support for AIX

2021-07-12 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:3004 +} else if (CGM.getTriple().isOSAIX()) + // On AIX, all thread_local vars will have init routines regardless of + // whether they are const-initialized or not. Since

[PATCH] D104420: thread_local support for AIX

2021-07-13 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:2966 +// other TUs will not know whether the initialization routine exists +// so create a weak, empty, init function to satisfy the linker. +// This is needed whenever a thr

[PATCH] D104420: thread_local support for AIX

2021-07-14 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added inline comments. Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:2971 +isEmittedWithConstantInitializer(VD, true) && +!VD->needsDestruction(getContext())) { + // Emit a weak global function referring to the initialization function

[PATCH] D111400: [Clang] Implement P2242R3

2021-10-26 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. In D111400#3087877 , @aaron.ballman wrote: > So your concern is that allowing this patch to be used as an extension in > older language modes may change the behavior of existing code? Or is your > concern more br

[PATCH] D111400: [Clang] Implement P2242R3

2021-10-27 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. A different "ouch" (and, yes, this is a regression from this patch): auto f = [](bool b) { if (b) return 42; static int x = 0; return x; }; constexpr int x = f(true); const int *p = &x; Generates no diagnostics with this patch even with

[PATCH] D111400: [Clang] Implement P2242R3

2021-10-27 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. Lambda capture semantics mean that extensions or inconsistencies in constexpr evaluation result in binary-compatibility issues. struct NonLit { NonLit(); }; template constexpr int foo() { return 42; T t; } extern int g(void *); i

[PATCH] D113145: Remove two sema checkings as assertions introduced by D79719.

2021-11-04 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast added a comment. @ychen, an alternative fix would be to avoid getting asking for the layout for a broken `union` like this. Would it be appropriate to mark the `RecordDecl` in Sema such that `isInvalidDecl` returns true? Is that already happening? Repository: rG LLVM G

[PATCH] D113145: [Sema] Mark virtual method declaration in union as invalid

2021-11-05 Thread Hubert Tong via Phabricator via cfe-commits
hubert.reinterpretcast accepted this revision. hubert.reinterpretcast added a comment. This revision is now accepted and ready to land. LGTM; thanks! fyi, I'll be on vacation for the next three weeks. I've added some additional reviewers to the patch based on prior reviews. Repository: rG LLV

<    1   2   3   4   5   6   7   8   >