- User Since
- Oct 23 2013, 8:22 AM (317 w, 6 h)
Mon, Nov 18
rebase and fix failed testcases
Fri, Nov 15
Thu, Nov 14
I found RISCVABI::computeTargetABI will check ABI with target feature,
so when I apply this patch and enabling lto, the checking get failed and set ABI to ABI_Unknown.
This is a problem because target-features is per-function basis but ABI is not.
Tue, Nov 12
I think in RISC-V using -mabi is a convention way for specific calling convention in gcc and clang, and more clear than -msoft-float.
but unfortunately compiling source code with -mabi=ilp32 will not generate correct value like "use-soft-float"="true" in bitcode,
so we can fix clang (?) and let backend inspect the "soft-float" attribute, or fix clang driver to pass -mabi to LTO code generator in RISC-V target.
Fri, Nov 8
Sun, Nov 3
Sat, Nov 2
LGTM, thanks for the patch!
Thu, Oct 24
You patch is very useful to look up the default march, thanks!
But there is some issue if we set the default rv32 march as rv32gc.
Because the default multilib does not include rv32gc/lp32d in riscv gnu toolchain, https://github.com/riscv/riscv-gcc/blob/ed3f6ec/gcc/config/riscv/t-elf-multilib#L19
so if user does not give the default march clang will not find the library and cause linking error.
Do you think this is a clang's problem? or maybe this is just user's problem so they should config multilib to support rv32gc/lip3d2d?
Wed, Oct 23
Oct 15 2019
@lenary Sorry, I don't have the plan to support MULTILIB_REUSE now.
But if it's necessary to support it, I can do it later.
Oct 14 2019
https://reviews.llvm.org/D66003 changed the riscv::getRISCVTargetFeatures interface.
Sep 24 2019
@tejohnson for example:
$ clang -flto a.c -c -o a.o $ llvm-ar q a.a a.o // archive libraries $ clang -flto a.a b.c -O2 -o main -mcmodel=small
Sep 23 2019
@tejohnson when I run the clang -flto -Wl,-plugin-opt=-help command, it shows the
--code-model=<value> - Choose code model =tiny - Tiny code model =small - Small code model =kernel - Kernel code model =medium - Medium code model =large - Large code model
so I think the clang driver need to pass this info to LTO codegen, does it make sense?
Sep 22 2019
Sep 18 2019
Thanks @lenary, I fixed it.
Sep 15 2019
Sep 14 2019
added a test
This commit is inspired by @MaskRay's suggestion, I think maybe fix the insufficient of clang::driver:tools::AddGoldPlugin is good choose.
Sep 12 2019
@lenary Yes, you are right. add LTO support for Linux platform.