[libunwind] [libunwind] Add CMake option to enable execute-only code generation on AArch64 (PR #140554)

2025-09-17 Thread Fangrui Song via cfe-commits
=?utf-8?q?Csan=C3=A1d_Hajd=C3=BA?= , =?utf-8?q?Csan=C3=A1d_Hajd=C3=BA?= Message-ID: In-Reply-To: https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/140554 ___ cfe-commits mailing list cfe-commits@lists.l

[clang] clang: Emit error if assembler fails to construct subtarget (PR #159219)

2025-09-16 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay commented: Can you add a `clang/test/Misc/cc1as-*` test? https://github.com/llvm/llvm-project/pull/159219 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [mlir] MC: Add Triple overloads for more MC constructors (PR #157321)

2025-09-07 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/157321 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver][Hurd] Enable __float128 support on x86 on Hurd (PR #153925)

2025-09-05 Thread Fangrui Song via cfe-commits
MaskRay wrote: Can you add a test to `clang/test/Preprocessor/init.c`? https://github.com/llvm/llvm-project/pull/153925 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [llvm] Introduce -fexperimental-loop-fuse to clang and flang (PR #142686)

2025-08-28 Thread Fangrui Song via cfe-commits
@@ -4268,6 +4268,10 @@ def floop_interchange : Flag<["-"], "floop-interchange">, Group, HelpText<"Enable the loop interchange pass">, Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>; def fno_loop_interchange: Flag<["-"], "fno-loop-interchange">, Group, HelpTe

[clang] [flang] [llvm] Introduce -fexperimental-loop-fuse to clang and flang (PR #142686)

2025-08-27 Thread Fangrui Song via cfe-commits
@@ -6870,6 +6870,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, options::OPT_fno_unroll_loops); Args.AddLastArg(CmdArgs, options::OPT_floop_interchange, options::OPT_fno_loop_interchange); + Args.AddLastArg(CmdArgs, op

[clang] [flang] [llvm] Introduce -fexperimental-loop-fuse to clang and flang (PR #142686)

2025-08-27 Thread Fangrui Song via cfe-commits
MaskRay wrote: You need to click "Re-request review" from folks who have requested changes. https://github.com/llvm/llvm-project/pull/142686 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[clang] [llvm] [LoongArch] Add basic UEFI support (PR #154883)

2025-08-22 Thread Fangrui Song via cfe-commits
@@ -61,7 +62,14 @@ createLoongArchMCSubtargetInfo(const Triple &TT, StringRef CPU, StringRef FS) { static MCAsmInfo *createLoongArchMCAsmInfo(const MCRegisterInfo &MRI, const Triple &TT, cons

[clang] [llvm] [LoongArch] Add basic UEFI support (PR #154883)

2025-08-21 Thread Fangrui Song via cfe-commits
@@ -0,0 +1,36 @@ +//===- LoongArchWinCOFFStreamer.cpp -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[clang] [Driver][Gnu] Auto-link libstdc++fs for GCC versions in [5.3, 9.2) (PR #154826)

2025-08-21 Thread Fangrui Song via cfe-commits
MaskRay wrote: I am concerned with auto -lstdc++fs as well. I think old GCC versions require -lstdc++fs. If you are going to make changes in this area, especially for the old versions [5.3, 9.2), please restrict them to AMD only. https://github.com/llvm/llvm-project/pull/154826 ___

[clang] Reapply "[Clang] Take libstdc++ into account during GCC detection" #154368 (PR #154487)

2025-08-21 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. Please copy the original description to the description . https://github.com/llvm/llvm-project/pull/154487 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mai

[clang] [Clang] Take libstdc++ into account during GCC detection (PR #145056)

2025-08-19 Thread Fangrui Song via cfe-commits
MaskRay wrote: > LLVM Buildbot has detected a new failure on builder > `llvm-clang-x86_64-sie-ubuntu-fast` running on `sie-linux-worker` while > building `clang` at step 6 "test-build-unified-tree-check-all". > > Full details are available at: > [lab.llvm.org/buildbot#/builders/144/builds/331

[libunwind] [libunwind] Add support for the AArch64 "Vector Granule" (VG) register (PR #153565)

2025-08-15 Thread Fangrui Song via cfe-commits
@@ -0,0 +1,66 @@ +// -*- C++ -*- +//===--===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-

[libunwind] [libunwind] Add support for the AArch64 "Vector Granule" (VG) register (PR #153565)

2025-08-15 Thread Fangrui Song via cfe-commits
@@ -0,0 +1,66 @@ +// -*- C++ -*- MaskRay wrote: Delete `// -*- C++ -*-` https://github.com/llvm/llvm-project/pull/153565 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/li

[clang] [llvm] [AIX] Implement the ifunc attribute. (PR #153049)

2025-08-14 Thread Fangrui Song via cfe-commits
@@ -397,6 +399,98 @@ void llvm::embedBufferInModule(Module &M, MemoryBufferRef Buf, appendToCompilerUsed(M, GV); } +void llvm::lowerIFuncsOnAIX(Module &M) { MaskRay wrote: Should not introduce new target-specific intrinsic uses in lib/Transform. I think t

[libunwind] [Mips] Fixed libunwind::Registers_mips_o32::jumpto to allow for load delay (PR #152942)

2025-08-11 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/152942 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [Mips] Fixed libunwind::Registers_mips_o32::jumpto to allow for load delay (PR #152942)

2025-08-11 Thread Fangrui Song via cfe-commits
@@ -1044,9 +1044,10 @@ DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind18Registers_mips_o326jumptoEv) lw$27, (4 * 27)($4) lw$28, (4 * 28)($4) lw$29, (4 * 29)($4) - lw$30, (4 * 30)($4) // load new pc into ra lw$31, (4 * 32)($4) + //allow for load delay,

[libunwind] [Mips] Fixed libunwind::Registers_mips_o32::jumpto to allow for load delay (PR #152942)

2025-08-11 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/152942 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [Mips] Fixed libunwind::Registers_mips_o32::jumpto to allow for load delay (PR #152942)

2025-08-11 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay commented: Is this for PlayStation (MIPS 1)? I see that https://reviews.llvm.org/D122427 (2022) added some load delay slot support. https://github.com/llvm/llvm-project/pull/152942 ___ cfe-commits mailing list cfe-commits@li

[clang] [flang] [llvm] [Clang] Remove ARCMigrate (PR #119269)

2025-08-09 Thread Fangrui Song via cfe-commits
MaskRay wrote: > `test/Rewrite` is for the Objective-C => MSVC-compatible C++ rewriter > (`-rewrite-objc`), which is a different feature. That feature might _also_ be > obsolete, but we haven't signed off on that yet AFAIK. If cannot drop CLANG_ENABLE_OBJC_REWRITER code yet, defaulting to off

[clang] [flang] [llvm] Introduce -fexperimental-loop-fuse to clang and flang (PR #142686)

2025-08-07 Thread Fangrui Song via cfe-commits
@@ -1671,6 +1671,11 @@ void CompilerInvocationBase::GenerateCodeGenArgs(const CodeGenOptions &Opts, else GenerateArg(Consumer, OPT_fno_loop_interchange); + if (Opts.FuseLoops) +GenerateArg(Consumer, OPT_fexperimental_loop_fusion); + else MaskRay w

[clang] [flang] [llvm] Introduce -fexperimental-loop-fuse to clang and flang (PR #142686)

2025-08-07 Thread Fangrui Song via cfe-commits
@@ -4268,6 +4268,10 @@ def floop_interchange : Flag<["-"], "floop-interchange">, Group, HelpText<"Enable the loop interchange pass">, Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>; def fno_loop_interchange: Flag<["-"], "fno-loop-interchange">, Group, HelpTe

[clang] Add necessary linker flags when -static-pie is enabled in BareMetal Toolchain (PR #147589)

2025-08-07 Thread Fangrui Song via cfe-commits
@@ -203,6 +203,19 @@ // RUN: | FileCheck -check-prefix=CHECK-RV64-GNU-RELAX %s // CHECK-RV64-GNU-RELAX-NOT: "--no-relax" +// Check that "-static -pie" is forwarded to linker when "-static-pie" is used MaskRay wrote: `/// Check` to make non-RUN-non-CHECK com

[clang] Add necessary linker flags when -static-pie is enabled in BareMetal Toolchain (PR #147589)

2025-08-07 Thread Fangrui Song via cfe-commits
@@ -599,11 +599,18 @@ void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA, const Driver &D = getToolChain().getDriver(); const llvm::Triple::ArchType Arch = TC.getArch(); const llvm::Triple &Triple = getToolChain().getEffectiveTriple(); + const bool

[clang] 913c5b4 - clang -cc1as: Remove a redundant initSections call

2025-08-05 Thread Fangrui Song via cfe-commits
Author: Fangrui Song Date: 2025-08-05T10:02:53-07:00 New Revision: 913c5b4d1fffa00585edb6ba4f0915f29afa90cc URL: https://github.com/llvm/llvm-project/commit/913c5b4d1fffa00585edb6ba4f0915f29afa90cc DIFF: https://github.com/llvm/llvm-project/commit/913c5b4d1fffa00585edb6ba4f0915f29afa90cc.diff

[clang] [llvm] [X86] Set .llvmbc and .llvmcmd to exclude sections (PR #151910)

2025-08-04 Thread Fangrui Song via cfe-commits
MaskRay wrote: I think not using SHF_EXCLUDE is an intention design. There are some discussions on https://discourse.llvm.org/t/end-to-end-fembed-bitcode-llvmbc-and-llvmcmd/56265 The concatenated bitcode might allow analysis like https://github.com/travitch/whole-program-llvm (though it doesn

[clang] [llvm] [X86] Set .llvmbc and .llvmcmd to exclude sections (PR #151910)

2025-08-04 Thread Fangrui Song via cfe-commits
MaskRay wrote: This is incorrect. Some use cases require the sections to be combined during linking and adding ELF SHF_EXCLUDE would break the usage. https://reviews.llvm.org/D86374 If you want these flags to be relocatable files only, specify `/DISCARD/` in a linker script to discard them or

[clang] [DTLTO][Clang][Docs] Update for COFF support (PR #149988)

2025-07-31 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/149988 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [LinkerWrapper] Fix -fsave-optimization-record default file (PR #149003)

2025-07-29 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. LGTM! Thanks for not adding an extra driver option. https://github.com/llvm/llvm-project/pull/149003 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/l

[clang] [llvm] Make sanitizer special case list slash-agnostic (PR #149886)

2025-07-29 Thread Fangrui Song via cfe-commits
MaskRay wrote: You might consider adding more reviewers to gather broader perspectives on this feature. I'm neutral about it personally. https://github.com/llvm/llvm-project/pull/149886 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://l

[clang] [Clang] Take libstdc++ into account during GCC detection (PR #145056)

2025-07-29 Thread Fangrui Song via cfe-commits
MaskRay wrote: This looks quite good. I'm curious if others have any feedback. https://github.com/llvm/llvm-project/pull/145056 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Driver] Add a new member for CLANG_DEFAULT_LINKER to clang::driver::Driver (NFC) (PR #149784)

2025-07-21 Thread Fangrui Song via cfe-commits
@@ -450,6 +454,11 @@ class Driver { return ClangExecutable.c_str(); } + StringRef getPreferredLinker() const { return PreferredLinker; } + void setPreferredLinker(std::string Value) { MaskRay wrote: If #149786 will use `setPreferredLinker`, this `setP

[clang] [clang][Driver] Add a new member for CLANG_DEFAULT_LINKER to clang::driver::Driver (NFC) (PR #149784)

2025-07-21 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/149784 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Make sanitizer special case list slash-agnostic (PR #149886)

2025-07-21 Thread Fangrui Song via cfe-commits
MaskRay wrote: GlobPattern is also used in binary utilities' symbol/section name matching where we want to be rigid. While I do not oppose to this change, I think it should be opt-in if we add it. https://github.com/llvm/llvm-project/pull/149886 ___

[clang] [flang] [SPARC][Driver] Move feature mode selection to Arch/Sparc.cpp (PR #149652)

2025-07-20 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/149652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Override Generic_ELF::buildLinker() to avoid calling gcc to link (PR #149681)

2025-07-19 Thread Fangrui Song via cfe-commits
MaskRay wrote: Can you add a test to clang/test/Driver to show the behavior difference ? https://github.com/llvm/llvm-project/pull/149681 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commit

[clang] [SPARC][Driver] Move feature mode selection to Arch/Sparc.cpp (PR #149652)

2025-07-19 Thread Fangrui Song via cfe-commits
MaskRay wrote: Add a fclang test? https://github.com/llvm/llvm-project/pull/149652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] fix: replace report_fatal_error with Diags and exit (PR #147959)

2025-07-19 Thread Fangrui Song via cfe-commits
@@ -30,11 +30,16 @@ SanitizerSpecialCaseList::create(const std::vector &Paths, std::unique_ptr SanitizerSpecialCaseList::createOrDie(const std::vector &Paths, - llvm::vfs::FileSystem &VFS) { + llvm::vfs

[clang] [SPARC][Driver] Move feature mode selection to Arch/Sparc.cpp (PR #149652)

2025-07-19 Thread Fangrui Song via cfe-commits
MaskRay wrote: > This is so that it's performed globally and not just for clang. Can you elaborate what is "globally"? https://github.com/llvm/llvm-project/pull/149652 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-

[clang] [LinkerWrapper] Fix -fsave-optimization-record default file (PR #149003)

2025-07-17 Thread Fangrui Song via cfe-commits
@@ -5895,6 +5895,11 @@ def o : JoinedOrSeparate<["-"], "o">, Visibility<[ClangOption, CC1Option, CC1AsOption, FC1Option, FlangOption]>, HelpText<"Write output to ">, MetaVarName<"">, MarshallingInfoString>; +def foutput_file_base : Joined<["-"], "foutput-file-base=">, ---

[clang] [llvm] Remove Native Client support (PR #133661)

2025-07-15 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/133661 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [DTLTO][Clang] Add support for Integrated Distributed ThinLTO (PR #147265)

2025-07-15 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/147265 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [DTLTO][Clang] Add support for Integrated Distributed ThinLTO (PR #147265)

2025-07-15 Thread Fangrui Song via cfe-commits
@@ -2,42 +2,47 @@ /// Check DTLTO options are forwarded to the linker. -// RUN: echo "--target=x86_64-linux-gnu \ -// RUN: -Xthinlto-distributor=distarg1 \ -// RUN: -Xthinlto-distributor=distarg2,distarg3 \ -// RUN: -fuse-ld=lld" > %t.rsp - /// Check that options are f

[clang] [RISCV] Add -march=unset to cancel and ignore a previous -march. (PR #148321)

2025-07-14 Thread Fangrui Song via cfe-commits
MaskRay wrote: > I forgot about tomorrow's LLVM 21 branch so maybe I should merge this based > on the support I've received so far? Looks good! > https://github.com/toppers what's the status of this in GCC? If it's in there > I think we should land/backport this, otherwise after the branch is

[clang] Make -funwind-tables the default for SystemZ. (PR #139764)

2025-07-13 Thread Fangrui Song via cfe-commits
MaskRay wrote: This PR actually enables `-fasynchronous-unwind-tables` instead of `-funwind-tables`. `-fasynchronous-unwind-tables` and `-funwind-tables` control different boolean values. When both are enabled, `-fasynchronous-unwind-tables` takes precedence. https://github.com/llvm/llvm-pro

[clang] [RISCV] Add -march=unset to cancel and ignore a previous -march. (PR #148321)

2025-07-12 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. Thanks! The reactions include a thumbs-up and a love. Setting my approval. https://github.com/llvm/llvm-project/pull/148321 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llv

[clang] [RISCV] Add -march=unset to cancel and ignore a previous -march. (PR #148321)

2025-07-12 Thread Fangrui Song via cfe-commits
@@ -403,6 +403,11 @@ // MCPU-MARCH: "-nostdsysteminc" "-target-cpu" "sifive-e31" "-target-feature" "+m" "-target-feature" "+c" // MCPU-MARCH: "-target-abi" "ilp32" +// march=unset erases previous march MaskRay wrote: `/// -march=unset erases previous -march`

[clang] [llvm] [DTLTO][Clang] Add support for Integrated Distributed ThinLTO (PR #147265)

2025-07-12 Thread Fangrui Song via cfe-commits
@@ -0,0 +1,43 @@ +// REQUIRES: lld + +/// Check DTLTO options are forwarded to the linker. + +// RUN: echo "--target=x86_64-linux-gnu \ +// RUN: -Xthinlto-distributor=distarg1 \ +// RUN: -Xthinlto-distributor=distarg2,distarg3 \ +// RUN: -fuse-ld=lld" > %t.rsp + +/// Check t

[clang] [LTO] Add unified LTO tests for the PS targets. (PR #148229)

2025-07-11 Thread Fangrui Song via cfe-commits
@@ -0,0 +1,33 @@ +// RUN: %clang -flto=thin --target=x86_64-scei-ps4 -O2 -c %s -o %t.ps4.tu -Xclang -fdebug-pass-manager 2>%t.ps4.tu.txt MaskRay wrote: unified-lto-pipeline.c is present and serves the purpose. For target-generic codegen features, we usually tes

[clang] [WIP][DO NOT MERGE][Clang][Driver] Emit warning when -fsanitize-trap=<...> is passed without associated -fsanitize=<...> (PR #147997)

2025-07-11 Thread Fangrui Song via cfe-commits
MaskRay wrote: Thank you for your efforts to enhance sanitizers. However, the current implementation aligns with the preferences of many, including GCC contributors who introduced -fsanitize-trap in 2022. Gaining consensus to modify -fsanitize-trap to issue warnings or errors seems unlikely, s

[clang] [RISCV] Add -march=unset to cancel and ignore a previous -march. (PR #148321)

2025-07-11 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/148321 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RISCV] Add -march=unset to cancel and ignore a previous -march. (PR #148321)

2025-07-11 Thread Fangrui Song via cfe-commits
@@ -403,6 +403,11 @@ // MCPU-MARCH: "-nostdsysteminc" "-target-cpu" "sifive-e31" "-target-feature" "+m" "-target-feature" "+c" // MCPU-MARCH: "-target-abi" "ilp32" +// march=unset erases previous march +// RUN: %clang --target=riscv32 -### -c %s 2>&1 -march=rv32imc -march=uns

[clang] [RISCV] Add -march=unset to cancel and ignore a previous -march. (PR #148321)

2025-07-11 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay commented: Thanks for implementing -mcpu=unset. This looks good. I'm glad to see -mcpu=unset gaining support, especially after feeling like the lone voice in the GCC thread: https://gcc.gnu.org/pipermail/gcc-patches/2025-June/685537.html https://github.com/llvm/llvm-

[clang] [Clang][Driver] Emit warning when -fsanitize-trap=<...> is passed without associated -fsanitize=<...> (PR #147997)

2025-07-10 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay closed https://github.com/llvm/llvm-project/pull/147997 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Emit warning when -fsanitize-trap=<...> is passed without associated -fsanitize=<...> (PR #147997)

2025-07-10 Thread Fangrui Song via cfe-commits
MaskRay wrote: The current -fsanitize-trap behavior is intentional. See https://discourse.llvm.org/t/clang-gsoc-2025-usability-improvements-for-trapping-undefined-behavior-sanitizer/84568/11 I believe Google actually depended on -fsanitize-trap=undefined not leading to warnings/errors when -fs

[clang] [llvm] [PseudoProbe] Support emitting to COFF object (PR #123870)

2025-07-09 Thread Fangrui Song via cfe-commits
@@ -12,7 +12,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" -target triple = "x86_64-unknown-linux-gnu" +target triple = "x86_64-unknown--" MaskRay wrote: Yes, they can be omitted in the IR. https://github.com/llvm/llvm-project/pull/12387

[clang] Add necessary linker flags when -static-pie is enabled in BareMetal Toolchain (PR #147589)

2025-07-09 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/147589 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver][SamplePGO] Enable -fsample-profile-use-profi by default (PR #146795)

2025-07-08 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/146795 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libunwind] [libunwind] Add CMake option to enable execute-only code generation on AArch64 (PR #140554)

2025-07-04 Thread Fangrui Song via cfe-commits
=?utf-8?q?Csanád_Hajdú?= , =?utf-8?q?Csanád_Hajdú?= Message-ID: In-Reply-To: @@ -16,6 +16,8 @@ #if defined(_AIX) .toc +#elif defined(__aarch64__) && defined(__ELF__) && defined(_LIBUNWIND_EXECUTE_ONLY_CODE) MaskRay wrote: `defined(__ELF__)` seems unnece

[clang] [Clang][Driver][SamplePGO] Enable -fsample-profile-use-profi by default (PR #146795)

2025-07-02 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay commented: Driver change looks reasonable if samplepgo maintainers decide to proceed. https://github.com/llvm/llvm-project/pull/146795 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mai

[clang] [llvm] [AVR] Handle flash RO data mapped to data space for newer devices (PR #146244)

2025-07-02 Thread Fangrui Song via cfe-commits
@@ -651,8 +651,19 @@ void AVR::Linker::ConstructJob(Compilation &C, const JobAction &JA, // This is almost always required because otherwise avr-ld // will assume 'avr2' and warn about the program being larger // than the bare minimum supports. - if (Linker.find("avr-ld

[clang] [llvm] [AVR] Handle flash RO data mapped to data space for newer devices (PR #146244)

2025-07-02 Thread Fangrui Song via cfe-commits
@@ -263,11 +263,17 @@ bool AVRAsmPrinter::doFinalization(Module &M) { auto *Section = cast(TLOF.SectionForGlobal(&GO, TM)); if (Section->getName().starts_with(".data")) NeedsCopyData = true; -else if (Section->getName().starts_with(".rodata") && SubTM->hasLPM(

[clang] [llvm] [AVR] Handle flash RO data mapped to data space for newer devices (PR #146244)

2025-07-02 Thread Fangrui Song via cfe-commits
@@ -263,11 +263,17 @@ bool AVRAsmPrinter::doFinalization(Module &M) { auto *Section = cast(TLOF.SectionForGlobal(&GO, TM)); if (Section->getName().starts_with(".data")) NeedsCopyData = true; -else if (Section->getName().starts_with(".rodata") && SubTM->hasLPM(

[clang] [llvm] [AVR] Handle flash RO data mapped to data space for newer devices (PR #146244)

2025-07-02 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/146244 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AVR] Handle flash RO data mapped to data space for newer devices (PR #146244)

2025-07-02 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/146244 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Driver: Avoid llvm::sys::path::append if resource directory absolute. (PR #146449)

2025-07-01 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/146449 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Remove Native Client support (PR #133661)

2025-06-30 Thread Fangrui Song via cfe-commits
MaskRay wrote: > > Thanks for working on this! This will be the first time I'm not going to > > oppose an effort to remove Native Client support 🎉 Although I am going to > > ask you to wait a couple of months to land it, until we finally turn it off > > for good and start deleting the support

[clang] [llvm] Triple: Forward declare Twine and remove include (PR #145685)

2025-06-25 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/145685 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Triple: Forward declare Twine and remove include (PR #145685)

2025-06-25 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/145685 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Triple: Forward declare Twine and remove include (PR #145685)

2025-06-25 Thread Fangrui Song via cfe-commits
@@ -349,7 +350,12 @@ class Triple { /// triple fields unknown. Triple() = default; + LLVM_ABI explicit Triple(std::string &&Str); + explicit Triple(StringRef Str) : Triple(Str.str()) {} + explicit Triple(const char *Str) : Triple(std::string(Str)) {} + explicit Triple(

[clang] [PAC][clang] Add new features to pauthtest ABI (PR #113150)

2025-06-25 Thread Fangrui Song via cfe-commits
MaskRay wrote: Sorry, I haven't closely followed the AArch64 PAuth work. The Clang driver options should come last in the patch stack, with other patches reviewed first. For driver options, I don't know a bunch of `-fptrauth-*` is a good idea. We had a similar scenario with -mbranches-within-3

[clang] [clang] Add managarm support (PR #139271)

2025-06-14 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/139271 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add managarm support (PR #139271)

2025-06-14 Thread Fangrui Song via cfe-commits
@@ -0,0 +1,221 @@ +//===--===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[clang] [clang][cmake] Don't pass -fno-strict-aliasing for GCC (PR #144222)

2025-06-14 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. LGTM. Thanks for removing this tech debt. https://github.com/llvm/llvm-project/pull/144222 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cf

[clang] [clang][driver] Suppress gnu-line-marker when saving temps (PR #134621)

2025-06-12 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay commented: LGTM! https://github.com/llvm/llvm-project/pull/134621 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Implement address sanitizer on AIX (PR #129925)

2025-06-12 Thread Fangrui Song via cfe-commits
@@ -1635,8 +1656,13 @@ bool tools::addSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, } // If there is a static runtime with no dynamic list, force all the symbols // to be dynamic to be sure we export sanitizer interface functions. - if (AddExportDynamic) -

[clang] [Clang] Add check for -mstack-alignment (PR #143124)

2025-06-11 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/143124 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [PowerPC] frontend get target feature from backend with cpu name (PR #137670)

2025-06-11 Thread Fangrui Song via cfe-commits
@@ -18,6 +18,53 @@ using namespace llvm; using namespace AMDGPU; +/// Find KV in array using binary search. +static const BasicSubtargetSubTypeKV * +Find(StringRef S, ArrayRef A) { MaskRay wrote: `find` (functionName in new code) https://github.com/llvm/llvm

[clang] [llvm] [PowerPC] frontend get target feature from backend with cpu name (PR #137670)

2025-06-11 Thread Fangrui Song via cfe-commits
@@ -18,6 +18,53 @@ using namespace llvm; using namespace AMDGPU; +/// Find KV in array using binary search. +static const BasicSubtargetSubTypeKV * +Find(StringRef S, ArrayRef A) { + // Binary search the array + auto F = llvm::lower_bound(A, S); + // If not found then retur

[clang] Reland: "[Frontend][PCH]-Add support for ignoring PCH options (-ignore-pch). (#142409)" (PR #143614)

2025-06-10 Thread Fangrui Song via cfe-commits
@@ -0,0 +1,19 @@ +// RUN: rm -rf %t +// RUN: mkdir -p %t + +// Create PCH without -ignore-pch. +// RUN: %clang -x c++-header %S/../Modules/Inputs/codegen-flags/foo.h -### 2>&1 | FileCheck %s -check-prefix=CHECK-EMIT-PCH MaskRay wrote: `%S/../` references auxilia

[libunwind] [libunwind] Don't override LINKER_LANGUAGE (PR #143533)

2025-06-10 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/143533 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Support constexpr asm at global scope. (PR #143268)

2025-06-07 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/143268 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add support for -mlong-calls code generation (PR #142982)

2025-06-05 Thread Fangrui Song via cfe-commits
MaskRay wrote: -mlong-calls is an old-fashioned compiler option. I think it was added before linkers knew range extension thunks (aka stubs, veneers, etc). Can you use -fno-plt instead? It works with both SelectionDAG and GlobalISel. You will get GOT-generating code sequence that can be optimi

[clang] [llvm] Add -funique-source-file-identifier flag. (PR #142901)

2025-06-04 Thread Fangrui Song via cfe-commits
MaskRay wrote: Should call this "option". Within LLVM, we use flag for options without a value. https://github.com/llvm/llvm-project/pull/142901 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe

[clang] [llvm] [PowerPC] frontend get target feature from backend with cpu name (PR #137670)

2025-06-03 Thread Fangrui Song via cfe-commits
@@ -16,6 +16,7 @@ #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringRef.h" +#include "llvm/MC/MCSubtargetInfo.h" MaskRay wrote: @diggerlin This is blocking and should be addressed before landing. https://github.com/llvm/llvm-project/pull/137670 __

[clang] [llvm] [ARM, AArch64] Don't put BTI at asm goto branch targets (PR #141562)

2025-06-02 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay commented: LGTM https://github.com/llvm/llvm-project/pull/141562 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][docs] Add docs for CCC_OVERRIDE_OPTIONS. (PR #142396)

2025-06-02 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/142396 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Remove Native Client support (PR #133661)

2025-06-01 Thread Fangrui Song via cfe-commits
MaskRay wrote: > Thanks for working on this! This will be the first time I'm not going to > oppose an effort to remove Native Client support 🎉 Although I am going to ask > you to wait a couple of months to land it, until we finally turn it off for > good and start deleting the support code fro

[clang] [flang] [flang][driver] Introduce FCC_OVERRIDE_OPTIONS. (PR #140556)

2025-06-01 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/140556 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][driver] Introduce FCC_OVERRIDE_OPTIONS. (PR #140556)

2025-05-31 Thread Fangrui Song via cfe-commits
@@ -614,3 +614,30 @@ nvfortran defines `-fast` as - `-Mcache_align`: there is no equivalent flag in Flang or Clang. - `-Mflushz`: flush-to-zero mode - when `-ffast-math` is specified, Flang will link to `crtfastmath.o` to ensure denormal numbers are flushed to zero. + + +#

[clang] [flang] [flang][driver] Introduce FCC_OVERRIDE_OPTIONS. (PR #140556)

2025-05-31 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/140556 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][driver] Introduce FCC_OVERRIDE_OPTIONS. (PR #140556)

2025-05-31 Thread Fangrui Song via cfe-commits
@@ -614,3 +614,30 @@ nvfortran defines `-fast` as - `-Mcache_align`: there is no equivalent flag in Flang or Clang. - `-Mflushz`: flush-to-zero mode - when `-ffast-math` is specified, Flang will link to `crtfastmath.o` to ensure denormal numbers are flushed to zero. + + +#

[clang] [Clang][Driver] Override complex number calculation method by -fno-fast-math (PR #132680)

2025-05-29 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/132680 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][driver] Introduce FCC_OVERRIDE_OPTIONS. (PR #140556)

2025-05-29 Thread Fangrui Song via cfe-commits
@@ -0,0 +1,12 @@ +! RUN: env FCC_OVERRIDE_OPTIONS="#+-Os +-Oz +-O +-O3 +-Oignore +a +b +c xb Xa Omagic ^-### " %flang -target x86_64-unknown-linux-gnu %s -O2 b -O3 2>&1 | FileCheck %s MaskRay wrote: `--target=x86_64-unknown-linux-gnu` instead of the long depre

[clang] [flang] [flang][driver] Introduce FCC_OVERRIDE_OPTIONS. (PR #140556)

2025-05-29 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/140556 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][driver] Introduce FCC_OVERRIDE_OPTIONS. (PR #140556)

2025-05-29 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay commented: clang driver code looks good https://github.com/llvm/llvm-project/pull/140556 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Driver] Override complex number calculation method by -fno-fast-math (PR #132680)

2025-05-29 Thread Fangrui Song via cfe-commits
MaskRay wrote: > Thank you for confirming. > > @MaskRay, do you have any comments regarding the handling of warning messages? Sorry for the delayed response. Does this implement the last-option-win behavior as suggested in the last few comments of https://discourse.llvm.org/t/the-priority-of

[clang] [Clang][Driver] Override complex number calculation method by -fno-fast-math (PR #132680)

2025-05-29 Thread Fangrui Song via cfe-commits
@@ -2997,6 +2997,7 @@ static void RenderFloatingPointOptions(const ToolChain &TC, const Driver &D, LangOptions::ComplexRangeKind Range = LangOptions::ComplexRangeKind::CX_None; std::string ComplexRangeStr = ""; std::string GccRangeComplexOption = ""; + std::string LastC

[clang] [clang][docs] Remove reference to deleted line in sanitizer doc (PR #141921)

2025-05-29 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/141921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Check for unsupported target options even with -Qunused-arguments (PR #141698)

2025-05-27 Thread Fangrui Song via cfe-commits
@@ -27,3 +27,10 @@ // RUN: not %clang --target=x86_64 -### -mhtm -lc %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=UNSUP_OPT // UNSUP_OPT: error: unsupported option + + +// RUN: not %clang -c --target=aarch64-- -mfpu=crypto-neon-fp-armv8 %s 2>&1 | \ +// RUN: FileCheck %s --c

  1   2   3   4   5   6   7   8   9   10   >