similar to: [LLVMdev] Controlling the LTO optimization level

Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] Controlling the LTO optimization level"

2017 Jan 16
2
Redefining optnone to help LTO
> On Jan 16, 2017, at 10:00 AM, Sean Silva via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > What is the end goal? If the goal is roughly "if a user passes -O0 when compiling a TU in LTO mode, their final binary should have functions that look like the result of -O0 noLTO compilation", then the frontend can just emit a normal -O0 object file I think. What is the
2017 Oct 18
2
How to emit opt report when using LTO
Hi, I'm using clang frontend. I'm interested in some particular hot loop in my code and I emit a report from vectorizer optimizations passes. I receive nice output if passing -Rpass* flags as long as I'm building without LTO? But with -flto it just prints nothing. Is there a way to emit opt reports when using LTO? For now I can only approximate about whether my the loop will be
2016 May 04
4
RFC [ThinLTO]: An embedded summary encoding to support CFI and vtable opt
Hi all, I wanted to make this proposal to extend ThinLTO to allow a bitcode module to embed another bitcode module containing summary information. The purpose of doing so is to support CFI and whole-program devirtualization optimizations under ThinLTO. Overview The CFI and whole-program devirtualization optimizations work by transforming vtables according to the class hierarchy. For example,
2010 Apr 29
3
[LLVMdev] Mach-O LTO and local relocations
I am wondering how the following issue was handled for libLTO? We have a working patch to implement the FSF gcc LTO on darwin which now passes all of the liblto testsuite but are seeing linker issues with larger programs like aermod... as -arch x86_64 -force_cpusubtype_ALL -o aermod.o aermod.s /usr/bin/ld -dynamic -arch x86_64 -macosx_version_min 10.6.3 -weak_reference_mismatches
2014 May 30
3
[LLVMdev] Error with Gold Linker during LTO
So you see the issue as well in ARM? When doing a objdump -D weakMainO1.exe | grep -A 10 "<_ZN1C13caller_methodEv>:" I see: 00008b88 <_ZN1C13caller_methodEv>: 8b88: e92d4800 push {fp, lr} 8b8c: e1a0b00d mov fp, sp 8b90: e24dd008 sub sp, sp, #8 8b94: e58d0004 str r0, [sp, #4] 8b98: e59d0004 ldr r0, [sp, #4] 8b9c: ebffdd17 bl 0
2015 Sep 03
4
RFC: LTO should use -disable-llvm-verifier
On Thu, Sep 03, 2015 at 01:10:42AM +0000, Eric Christopher wrote: > On Tue, Sep 1, 2015 at 10:43 AM Duncan P. N. Exon Smith < > dexonsmith at apple.com> wrote: > > > > > > On 2015-Aug-31, at 18:09, Eric Christopher <echristo at gmail.com> wrote: > > > > > > > > > > > > On Mon, Aug 31, 2015 at 5:50 PM Duncan P. N. Exon Smith
2014 May 30
4
[LLVMdev] Error with Gold Linker during LTO
We've found an error during the use of LTO that appears to happen only during the use of the gold linker. We essentially have a file which is compiled *without* LTO: f1() { h1(); } And a second file that is compiled/linked *with* LTO: f2() { f1(); h1(); } This second file has the function h1() inlined during LTO. The resulting executable fails because the symbol for h1
2015 Mar 19
2
[LLVMdev] [cfe-dev] Controlling the LTO optimization level
On Thu, Mar 19, 2015 at 11:12 AM Rafael EspĂ­ndola < rafael.espindola at gmail.com> wrote: > Having the analogous of -O0/-O1/-O2/-O3 for the LTO pipeline makes > sense I think. > > I agree that something along option number 2 is probably the best. > Some questions: > > * Should "clang -O3 foo.o -o foo" use LTO with -O3? > * Should "clang foo.o -o
2015 Sep 01
3
RFC: LTO should use -disable-llvm-verifier
> On 2015-Aug-31, at 12:21, Eric Christopher <echristo at gmail.com> wrote: > Yep. This is where I was going :) Glad I found consensus, but I want to double-check that this makes sense to add to the driver. I didn't quite think through the implications myself. Since the driver doesn't know if there's any bitcode, or if LTO is going to be invoked, it seems like I'll
2015 Sep 01
2
RFC: LTO should use -disable-llvm-verifier
> On 2015-Aug-31, at 18:09, Eric Christopher <echristo at gmail.com> wrote: > > > > On Mon, Aug 31, 2015 at 5:50 PM Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: > > > On 2015-Aug-31, at 12:21, Eric Christopher <echristo at gmail.com> wrote: > > Yep. This is where I was going :) > > Glad I found consensus, but I want to
2020 Jul 23
2
How to debug a missing symbol with ThinLTO?
Hi Tobias The problem is that your static archive has a SYMDEF that is empty, so linker thinks the static library provided doesn't contain any symbol. The reason for that is you are using the `ranlib` from Xcode, which is too old to understand the new bitcode object files produced by llvm 10. There are lots of ways to fix that: * The standard way to create static library on macOS is to use
2016 Oct 26
2
archiving LTO objects broken for current Xcode releases
The ability to archive object files generated with -flto under LLVM.org clang 3.9.0 or 4.0svn trunk is broken against the currently shipping Xcode releases including the upcoming Xcode 8.1 GM. https://llvm.org/bugs/show_bug.cgi?id=30791 $ clang-3.9 -flto -O1 -c *.i $ ar cr libtar.a paxerror.o paxexit-status.o paxnames.o rtapelib.o stdopen.o wordsplit.o xattr-at.o error: Unknown attribute kind
2020 Jul 22
2
How to debug a missing symbol with ThinLTO?
Looks like your static library is not even pulled into the link command so the static library is not even in the snapshot. From the link command in the snapshot, the static library is not on the command line from snapshot: /Applications/Xcode-11.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -Z -demangle -object_path_lto
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
2020 Jul 22
2
How to debug a missing symbol with ThinLTO?
This is usually a problem that is not using llvm-ar. I cannot reproduce this problem with either llvm 10.0 or TOT version. Which linker version are you using? You can also try pass "-Wl,-debug_snapshot" to the command where the error produces and then locate the "*.ld-snapshot" in /tmp directory and attach that as a reproducer. Steven > On Jul 22, 2020, at 8:41 AM, Teresa
2015 Sep 16
3
RFC: LTO should use -disable-llvm-verifier
On Tue, Sep 15, 2015 at 3:31 PM, Duncan P. N. Exon Smith via llvm-dev <llvm-dev at lists.llvm.org> wrote: > >> On 2015-Sep-02, at 19:31, Peter Collingbourne <peter at pcc.me.uk> wrote: >> >> On Thu, Sep 03, 2015 at 01:10:42AM +0000, Eric Christopher wrote: >>> On Tue, Sep 1, 2015 at 10:43 AM Duncan P. N. Exon Smith < >>> dexonsmith at
2015 Mar 16
2
[LLVMdev] GSOC:Control Flow integrity for kernal
Hi I want to pursue a project based to improve the existing KCoFI method which is the Control Flow integrity method for commodity os. Since KCoFI is a llvm based project I plan to undertake the project to improve the existing KCoFI method. Following are the improvements that I want to pursue: 1. To improve the call graph used in KCoFI. Implement a stronger call graph. 2. Port the KCoFI to
2015 Mar 19
2
[LLVMdev] [cfe-dev] Controlling the LTO optimization level
+ OptLevel = opt[1] - '0'; Please check and reject things like -OX at least in the gold plugin. Can you add a test showing that * createLowerBitSetsPass is run at -O0 * the addLateLTOOptimizationPasses passes are run at -O1, but not -O0 I think the patch is fine otherwise, but wait for a review from someone on the ld64 side (Duncan, Manman or Bob for example). Thanks, Rafael
2015 Sep 04
5
RFC: LTO should use -disable-llvm-verifier
On Fri, Sep 04, 2015 at 03:11:39PM -0700, Mehdi Amini wrote: > > > On Sep 4, 2015, at 11:38 AM, Peter Collingbourne <peter at pcc.me.uk> wrote: > > > > On Fri, Sep 04, 2015 at 11:13:43AM -0700, Mehdi Amini wrote: > >> > >>> On Sep 4, 2015, at 11:03 AM, Eric Christopher <echristo at gmail.com> wrote: > >>> > >>> >
2010 Apr 30
0
[LLVMdev] Mach-O LTO and local relocations
This is probably a problem with having too many sections. There are a few places where mach-o has a limit on the number of sections. For instance the n_sect field of the nlist record is one byte. So any symbol in a section past the 255th section wraps around and shows up with the wrong n_sect number. -Nick On Apr 29, 2010, at 6:19 AM, Jack Howarth wrote: > I am wondering how the