similar to: How to emit opt report when using LTO

Displaying 20 results from an estimated 10000 matches similar to: "How to emit opt report when using LTO"

2020 Jan 28
2
Where does LTO remove unused functions?
Thanks! On Mon, Jan 27, 2020 at 6:05 PM Teresa Johnson <tejohnson at google.com> wrote: > By default even regular LTO now has module summaries (like the kind used > for ThinLTO). LTO will then run index based dead symbol analysis here: > http://llvm-cs.pcc.me.uk/lib/LTO/LTO.cpp#923. Then when linkRegularLTO is > called here: http://llvm-cs.pcc.me.uk/lib/LTO/LTO.cpp#935, it
2016 Oct 04
2
(Thin)LTO llvm build
On Mon, Oct 3, 2016 at 5:24 PM, Xinliang David Li <xinliangli at gmail.com> wrote: > Small repro: > > __attribute__((weak)) int hello_world(); > > int test() { > if (hello_world) > return hello_world(); > return 0; > } > > $ clang -fuse-ld=gold -flto=thin -O2 -shared -fPIC -o libmore.so more.c > $ objdump -t libmore.so |grep hello >
2018 Mar 23
2
LLVM gold plugin do not add llvm instrinsics symbols to the linker symbol table
Hello Teresa, > Without -flto, a.o ends up with a reference to __exp_finite, That’s correct. > which also would not be satifisfied out of libexp.a. That’s not correct. Even if libexp.a would have __exp_finite, it wouldn’t be resolved from libexp.a, because of the behavior described in my first message. > Do you also have an implementation of __exp_finite in your libexp.a? No, I don’t
2016 Oct 04
2
(Thin)LTO llvm build
GCC LTO works ok for the test case with both bfd and gold linker. David On Tue, Oct 4, 2016 at 6:58 AM, Teresa Johnson <tejohnson at google.com> wrote: > > > On Mon, Oct 3, 2016 at 6:15 PM, Teresa Johnson <tejohnson at google.com> > wrote: > >> >> >> On Mon, Oct 3, 2016 at 5:24 PM, Xinliang David Li <xinliangli at gmail.com> >> wrote:
2016 Oct 03
2
(Thin)LTO llvm build
On Mon, Oct 3, 2016 at 3:53 PM, Xinliang David Li <xinliangli at gmail.com> wrote: > What is the linker command line buidling liblldb.so? is libgcc.a passed in? > There is no difference in the linker command for liblldb.so or bin/lldb between the ld.bfd and ld.gold cases, and neither links libgcc.a that I can see. The difference appears to be that the __morestack symbol is weak in
2020 Jul 12
2
Emit LLVM bitcode after ThinLTO
Hi, I wanted to get the linked result in LLVM bitcode format. With LTO, this can be done by -flto -Wl,-plugin-opt,emit-llvm. Instead of generating native executables, it outputs a file with bitcode format. Does this still work with -flto=thin? -flto=thin -Wl,-plugin-opt,emit-llvm outputs a bitcode file, but its file size is too small, and does not contain all contents. What is the correct way
2020 Jan 28
3
Where does LTO remove unused functions?
Hi! LLVM newbie here, I was mainly working on the frontend so far. We had a small hackathon project idea to piggyback on LTO to detect dead code (unused functions). The basic idea is to compile the code for every target and dump the removed functions. Intersect the function symbol names for each target and those functions should be safe to remove from the source code (unless there were some
2018 May 11
0
LTO query
Hopefully someone else on the dev list who has experience with LNT and the LLVM test-suite will chime in. I've never run it myself. Adding Mehdi since he ran it with LTO/ThinLTO. I found some documentation for the test-suite: https://llvm.org/docs/TestingGuide.html#test-suite-overview http://llvm.org/docs/lnt/quickstart.html http://llvm.org/docs/lnt/tests.html#llvm-cmake-test-suite But I
2018 May 11
2
LTO query
Yes running LLVM performance test suite with LTO and Thin LTO enabled. Thanks, Siddharth On Fri, May 11, 2018 at 7:32 PM, Teresa Johnson <tejohnson at google.com> wrote: > I'm not completely sure what you are asking. Are you looking for > performance benchmarks to use for LTO and ThinLTO testing? Or are you > asking how to build/run with LTO and ThinLTO? Are you asking how to
2019 Jul 22
2
GlobalVariable I inserted gets removed by LTO
Hello llvm-dev@ I have a pass that puts a global constant data array into the module. And another pass that gets runned by lld during LTO stage. When I look at bytecode files corresponding to source TUs produced by `clang -flto`, I can see GVs inserted by my pass #1. However, when pass #2 gets to run, these GV's are gone. I figured out that passing -mllvm -compute-dead=0 to the linker fixes
2019 Jun 11
3
Expected behavior of lld during LTO for global symbols (Attr Internal/Common)
Looks like this is indeed related to r360841. In C, there are distinctions between declarations, definitions and tentative definitions. Global variables declared with "extern" are declarations. Global variables that don't have "extern" and have initializers are definitions. If global variables have neither "extern" nor initializers, they are called tentative
2016 Aug 26
2
Use of array type in globals in LTO
> On Aug 26, 2016, at 2:06 PM, Teresa Johnson <tejohnson at google.com> wrote: > > Mehdi: I see what is going on: > > + ArrayType *Ty = > + ArrayType::get(Type::getInt8Ty(RegularLTO.Ctx), I.second.Size); > + GlobalVariable *OldGV = RegularLTO.CombinedModule->getNamedGlobal(I.first); > + if (OldGV && OldGV->getType()->getElementType()
2018 Mar 23
2
LLVM gold plugin do not add llvm instrinsics symbols to the linker symbol table
Dear community, Recently I discovered that llvm gold linker plugin (LLVMgold.so) doesn't add llvm instrinsics symbols to the linker symbol table. I do not claim that something is necessary wrong, just want to share my observations with the community. Brief summary If I create a static library with a custom version of 'exp()' math function and link it as follows: $
2018 May 15
2
Four bitcode generated with plugin-opt=save-temps
Hi I use the LDFLAGS=" -flto -fuse-ld=gold -Wl,-plugin-opt=save-temps " to generate the makefile and to make the whole program. However, found four different kinds of bitcode for each target. For example, I am compiling coreutils. For the program "nohup", I can get nohup.0.0.preopt.bc nohup.0.2.internalize.bc nohup.0.4.opt.bc nohup.0.5.precodegen.bc If I am right, I
2019 Jun 20
2
Expected behavior of lld during LTO for global symbols (Attr Internal/Common)
Hi Teresa, Can you please let me know if there is any update on this issue. Thanks M Suresh From: Teresa Johnson <tejohnson at google.com> Sent: Tuesday, June 11, 2019 7:23 PM To: Rui Ueyama <ruiu at google.com> Cc: Mani, Suresh <Suresh.Mani at amd.com>; llvm-dev <llvm-dev at lists.llvm.org> Subject: Re: [llvm-dev] Expected behavior of lld during LTO for global symbols
2017 Sep 10
2
plugin-opt=save-temps doesn't work in LLVM Gold 5.0.0
To compile an auto-tooled project to bitcode, I used to use plugin-opt=save-temps switch as explained in: http://gbalats.github.io/2015/12/10/compiling-autotooled-projects-to-LLVM-bitcode.html. This switch works with LLVM 3.8.0. However, it seems to have no effect with LLVM 5.0.0. I can see intermediate bitcode files on disk, but not the final one. Is the option removed altogether? Has the switch
2016 Aug 26
2
Use of array type in globals in LTO
Thanks for the test case! I can reproduce this, and see with the compiler I saved from just before r278338 that this is indeed a chance in behavior. Looking at why this changed... On Fri, Aug 26, 2016 at 1:42 PM, Mehdi Amini <mehdi.amini at apple.com> wrote: > >> On Aug 26, 2016, at 1:34 PM, junbuml at codeaurora.org wrote: >> >> On 2016-08-26 12:47, Mehdi Amini wrote:
2018 May 09
2
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
LLD revision is r331862. To add, I had initially tried it on r328903, which also reproduced the issue. On Wed, May 9, 2018 at 9:26 AM Pirama Arumuga Nainar <pirama at google.com> wrote: > Hi Teresa, > > Thanks for looking into this. I hadn't initially tried ToT, but it > reproduces in ToT as well when I tried. > > $ ./clang --version > > clang version 7.0.0
2016 Sep 26
4
(Thin)LTO llvm build
No worries, thanks for the update. Teresa On Mon, Sep 26, 2016, 7:16 AM Carsten Mattner <carstenmattner at gmail.com> wrote: > On Mon, Sep 26, 2016 at 3:52 PM, Teresa Johnson <tejohnson at google.com> > wrote: > > > > ThinLTO needs to create as many temporary files as there are input > > modules to the link. From your 'ls' below, it doesn't look
2018 May 09
2
lld + ThinLTO + fprofile-generate causes duplicate symbol errors
On Wed, May 9, 2018 at 6:43 AM Teresa Johnson <tejohnson at google.com> wrote: > Hi Pirama, > > I can't reproduce with either lld or gold, using a compiler built from > head. What version is your clang? > (and your lld) > > Thanks, > Teresa > > On Tue, May 8, 2018 at 7:50 PM Pirama Arumuga Nainar via llvm-dev < > llvm-dev at lists.llvm.org>