MaskRay wrote: > There is some discussion in last (2024/2/29) LLVM sync up meeting: We all > agree that might not useful in linux target and those platforms disable GP > relaxation, like Android and fuchsia;
Thanks for having the discussion. The motivation behind my revising this patch was the introduction of `.srodata` (#82214; sorry that I missed the discussion and I see that it landed now.), which would require different analysis from downstreams anyway. > However it's still useful for embedded toolchain, so this change may surprise > those embedded toolchain user - cause some code size regression due to this > change; although lld NOT default enable GP relaxation and also not implement > all GP relaxation (`R_RISCV_PCREL_HI20` + `R_RISCV_PCREL_LO12_I` or > `R_RISCV_PCREL_LO12_S` is missing), but user may use GNU linker or > proprietary linker, so people would like to keep some case using same default > in some case. This summarizes the situation well. However, I want to point out that the embedded toolchain users should probably use a [configuration file](https://clang.llvm.org/docs/UsersManual.html#configuration-files) for the `-msmall-data-limit=` customization. For quite a few options with controversial defaults, the desired problem-solving principle is to pick the simple code and let downstreams customize using a configuration file. https://github.com/llvm/llvm-project/pull/83093 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits