[clang] [Driver] Don't alias -mstrict-align to -mno-unaligned-access (PR #85350)

2024-03-15 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. LGTM from LoongArch side as GCC only have `-m[no-]strict-align`. BTW, should clang release notes be updated for this change? https://github.com/llvm/llvm-project/pull/85350 ___ cfe-commits

[clang] [Clang][LoongArch] Fix wrong return value type of __iocsrrd_h (PR #84100)

2024-03-05 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/84100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][LoongArch] Fix wrong return value type of __iocsrrd_h (PR #84100)

2024-03-05 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. https://github.com/llvm/llvm-project/pull/84100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Better bitfield access units (PR #65742)

2024-02-25 Thread Lu Weining via cfe-commits
@@ -132,6 +132,7 @@ class LLVM_LIBRARY_VISIBILITY LoongArch64TargetInfo : LoongArchTargetInfo(Triple, Opts) { LongWidth = LongAlign = PointerWidth = PointerAlign = 64; IntMaxType = Int64Type = SignedLong; +HasCheapUnalignedBitfieldAccess = true;

[clang] [clang] Better bitfield access units (PR #65742)

2024-02-21 Thread Lu Weining via cfe-commits
@@ -132,6 +132,7 @@ class LLVM_LIBRARY_VISIBILITY LoongArch64TargetInfo : LoongArchTargetInfo(Triple, Opts) { LongWidth = LongAlign = PointerWidth = PointerAlign = 64; IntMaxType = Int64Type = SignedLong; +HasCheapUnalignedBitfieldAccess = true;

[clang] [clang] Better bitfield access units (PR #65742)

2024-02-21 Thread Lu Weining via cfe-commits
SixWeining wrote: > For GCC, we have `-mno-unalgined-access`. We need also add this option to > clang. `-mno-unalgined-access` has been added since clang17: https://reviews.llvm.org/D149946 https://github.com/llvm/llvm-project/pull/65742 ___

[clang] [LoongArch][test] Add tests reporting error if lsx/lasx feature is missing when lsx/lasx builtins are called (PR #79250)

2024-01-23 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/79250 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [LoongArch][test] Add tests reporting error if lsx/lasx feature is missing when lsx/lasx builtins are called (PR #79250)

2024-01-23 Thread Lu Weining via cfe-commits
https://github.com/SixWeining edited https://github.com/llvm/llvm-project/pull/79250 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Check lsx/lasx features when running builtin tests (PR #79250)

2024-01-23 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. https://github.com/llvm/llvm-project/pull/79250 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [llvm] [LoongArch] Insert nops and emit align reloc when handle alignment directive (PR #72962)

2024-01-23 Thread Lu Weining via cfe-commits
SixWeining wrote: Should be fixed by baba7e4175b6. https://github.com/llvm/llvm-project/pull/72962 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [clang-tools-extra] [LoongArch] Insert nops and emit align reloc when handle alignment directive (PR #72962)

2024-01-23 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/72962 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [clang-tools-extra] [LoongArch] Insert nops and emit align reloc when handle alignment directive (PR #72962)

2024-01-23 Thread Lu Weining via cfe-commits
https://github.com/SixWeining updated https://github.com/llvm/llvm-project/pull/72962 >From 4985669d2de986d595c791c04a42e84c1f080c01 Mon Sep 17 00:00:00 2001 From: Jinyang He Date: Tue, 9 Jan 2024 15:35:17 +0800 Subject: [PATCH 1/2] [LoongArch] Insert nops and emit align reloc when handle

[clang] [llvm] [docs] Add llvm & clang release notes for LoongArch (PR #79097)

2024-01-22 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/79097 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [LoongArch] Add definitions and feature 'frecipe' for FP approximation intrinsics/builtins (PR #78962)

2024-01-22 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/78962 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [LoongArch] Add definitions and feature 'frecipe' for FP approximation intrinsics/builtins (PR #78962)

2024-01-22 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. https://github.com/llvm/llvm-project/pull/78962 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [LoongArch] Add definitions and feature 'frecipe' for FP approximation intrinsics/builtins (PR #78962)

2024-01-22 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. LGTM if the conflicting were resolved. https://github.com/llvm/llvm-project/pull/78962 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[llvm] [clang] [docs] Add llvm and clang release notes for the global-var code model attribute (PR #78664)

2024-01-18 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. LGTM. Thanks. https://github.com/llvm/llvm-project/pull/78664 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][LoongArch] Do not pass vector arguments via vector registers (PR #74990)

2024-01-01 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/74990 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][LoongArch] Do not pass vector arguments via vector registers (PR #74990)

2024-01-01 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. https://github.com/llvm/llvm-project/pull/74990 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][LoongArch] Do not pass vector arguments via vector registers (PR #74990)

2024-01-01 Thread Lu Weining via cfe-commits
https://github.com/SixWeining edited https://github.com/llvm/llvm-project/pull/74990 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][LoongArch] Do not pass vector arguments via vector registers (PR #74990)

2024-01-01 Thread Lu Weining via cfe-commits
https://github.com/SixWeining edited https://github.com/llvm/llvm-project/pull/74990 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][AVR] Restrict range of assembly constraint 'G' (PR #76561)

2024-01-01 Thread Lu Weining via cfe-commits
SixWeining wrote: LGTM. I have checked with https://gcc.gnu.org/onlinedocs/gccint/Machine-Constraints.html. 'G' stands for "A floating point constant 0.0". But I'd like to wait others' opinion. https://github.com/llvm/llvm-project/pull/76561 ___

[clang] [Clang][LoongArch] Comply with the lp64d ABI to pass vector arguments (PR #74990)

2023-12-10 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. https://github.com/llvm/llvm-project/pull/74990 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Driver] Support -mcmodel= for LoongArch (PR #72514)

2023-11-29 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/72514 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Driver] Support -mcmodel= for LoongArch (PR #72514)

2023-11-24 Thread Lu Weining via cfe-commits
https://github.com/SixWeining edited https://github.com/llvm/llvm-project/pull/72514 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Driver] Support -mcmodel= for LoongArch (PR #72514)

2023-11-23 Thread Lu Weining via cfe-commits
https://github.com/SixWeining updated https://github.com/llvm/llvm-project/pull/72514 >From 8dd5bebcd4681e5e7849743aba0ce90c2959ee23 Mon Sep 17 00:00:00 2001 From: Weining Lu Date: Thu, 16 Nov 2023 21:57:03 +0800 Subject: [PATCH 1/2] [Driver] Support -mcmodel= for LoongArch 7e42545 rejects

[clang] [Driver] Support -mcmodel= for LoongArch (PR #72514)

2023-11-23 Thread Lu Weining via cfe-commits
SixWeining wrote: > [gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html](https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html) > says > > ‘large (Not implemented yet)’ ‘extreme’ This mode does not limit the size of > the code segment and data segment. The -mcmodel=extreme option is >

[clang] [Driver] Support -mcmodel= for LoongArch (PR #72514)

2023-11-16 Thread Lu Weining via cfe-commits
SixWeining wrote: > > And AFAIK, gcc side doesn't plan to implement the "large" code model. > > Why did we distinguish "large" and "extreme" in the first place? If we don't > need a different "large" code model then I guess we should make it an alias > of "extreme" for GCC too. @ChenghuaXu

[clang] [Driver] Support -mcmodel= for LoongArch (PR #72514)

2023-11-16 Thread Lu Weining via cfe-commits
SixWeining wrote: cc @xen0n @xry111 https://github.com/llvm/llvm-project/pull/72514 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Driver] Support -mcmodel= for LoongArch (PR #72514)

2023-11-16 Thread Lu Weining via cfe-commits
https://github.com/SixWeining created https://github.com/llvm/llvm-project/pull/72514 7e42545 rejects unsupported mcmodel options, but small/medium/large should be supported models for LoongArch. In addition, to be compatible with gcc, mapping some of their values to clang's. The mapping is:

[clang] [LoongArch] Fix ABI mismatch with g++ when handling empty unions (PR #71025)

2023-11-03 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/71025 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [LoongArch] Fix ABI mismatch with g++ when handling empty unions (PR #71025)

2023-11-02 Thread Lu Weining via cfe-commits
SixWeining wrote: Hi @xen0n @xry111, please help to review this. Thanks. https://github.com/llvm/llvm-project/pull/71025 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [LoongArch] Fix ABI mismatch with g++ when handling empty unions (PR #71025)

2023-11-02 Thread Lu Weining via cfe-commits
https://github.com/SixWeining created https://github.com/llvm/llvm-project/pull/71025 In g++, empty unions are not ignored like empty structs when flattening structs to examine whether the structs can be passed via FARs in C++. This patch aligns clang++ with g++. Fix

[clang] [LoongArch] Fix ABI mismatch with gcc/g++ about empty structs passing (PR #70320)

2023-10-31 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/70320 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [LoongArch] Fix ABI mismatch with gcc/g++ about empty structs passing (PR #70320)

2023-10-31 Thread Lu Weining via cfe-commits
SixWeining wrote: > LGTM. I've no permission to make a formal ("GitHub style") approval. Thanks. You can request to join the llvm organization via https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access firstly. Then you can make formal ("Github style") approval.

[clang] [clang-tools-extra] [llvm] [Clang][LoongArch] Support builtin functions for LSX and LASX (PR #69313)

2023-10-31 Thread Lu Weining via cfe-commits
https://github.com/SixWeining closed https://github.com/llvm/llvm-project/pull/69313 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang-tools-extra] [Clang][LoongArch] Support builtin functions for LSX and LASX (PR #69313)

2023-10-31 Thread Lu Weining via cfe-commits
SixWeining wrote: To keep original 6 commits I have manually merged into trunk. Now close this PR. https://github.com/llvm/llvm-project/pull/69313 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[llvm] [clang-tools-extra] [clang] [Clang][LoongArch] Support builtin functions for LSX and LASX (PR #69313)

2023-10-30 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/69313 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [LoongArch] Fix ABI mismatch with gcc/g++ about empty structs passing (PR #70320)

2023-10-26 Thread Lu Weining via cfe-commits
SixWeining wrote: Hi @xen0n @xry111, what do you think about this change? If it is ok, I'd like to checrry-pick to release/17.x (hope it's not too late...). https://github.com/llvm/llvm-project/pull/70320 ___ cfe-commits mailing list

[clang] [LoongArch] Fix ABI mismatch with gcc/g++ about empty structs passing (PR #70320)

2023-10-26 Thread Lu Weining via cfe-commits
https://github.com/SixWeining created https://github.com/llvm/llvm-project/pull/70320 How empty structs (not as fields of container struct) are passed in C++ is not explicitly documented in psABI. However, this patch fixes the mismatch with g++. Note that the unnamed bitfield case `struct {

[clang] [Clang][LoongArch] Support builtin functions for LSX and LASX (PR #69313)

2023-10-22 Thread Lu Weining via cfe-commits
https://github.com/SixWeining requested changes to this pull request. - For the commits `[LoongArch][CodeGen][clang] Add builtin functions test cases for LASX` and `[LoongArch][CodeGen][clang] Add builtin functions test cases for LSX`, `Change-Id`s can be removed. - Please fix the test

[clang] [Clang][LoongArch] Support builtin functions for LSX and LASX (PR #69313)

2023-10-22 Thread Lu Weining via cfe-commits
SixWeining wrote: > Given you've already split your changes into several smaller commits, it's > probably better to file them as separate PRs, so each one is smaller than the > current 3+-line diff, and become more reviewable that way. I'm not sure seperate PRs are appropriate since some

[clang] [Clang][LoongArch] Generate _mcount instead of mcount (PR #65657)

2023-09-07 Thread Lu Weining via cfe-commits
https://github.com/SixWeining approved this pull request. I have checked that glibc/sysdeps/loongarch/machine-gmon.h defines `_mcount`. https://github.com/llvm/llvm-project/pull/65657 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [Clang][LoongArch] Generate _mcount instead of mcount (PR #65657)

2023-09-07 Thread Lu Weining via cfe-commits
SixWeining wrote: > also cc @SixWeining (BTW we want to have a GitHub team set up for > notifications and assignments apparently) There is one: https://github.com/orgs/llvm/teams/pr-subscribers-loongarch I will invite you to join this team and others interested in could also request to join.