Displaying 20 results from an estimated 10000 matches similar to: "Specifying passes for ThinLTO?"
2016 Jul 22
3
ThinLTO status in trunk?
Hi Teresa,
Impressive results, indeed! (But no less is expected from an Itanium alumni... ;-))
One question, if you don't mind. In the blog post you wrote: "In a few cases ThinLTO even outperforms full LTO, most likely because the higher scalability of ThinLTO allows using a more aggressive backend optimization pipeline (similar to that of a non-LTO build)." Is it due to
2015 Aug 14
2
Any objections to moving ObjCARC analysis passes to llvm/Analysis?
Currently these leave in lib/Transforms/ObjCARC even though they are
analysis passes. This seems confusing and odd. In particular,
Analysis/Passes.h talks about ObjCARCAliasAnalysis. =/
I'd like to just move the analysis headers to live under
include/llvm/Analysis and the source under lib/Analysis. This will preclude
omitting the ObjC ARC analysis passes from your build of LLVM if you
2016 Oct 05
3
ThinLTO: passing TargetOptions to LLVMgold.so
Hi all,
I am trying to figure out the best way to deal with non-default
TargetMachine options when using ThinLTO with the LLVMgold.so plugin. (I'm
adding support for ThinLTO to the LDC D compiler)
Things like the target triple, target CPU and target CPU features, some
floating point options like unsafe-fp-math, etc., those are (or can be
made) explicit in the IR. Is that the way to go? We
2017 Jun 28
2
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
> On 27 Jun 2017, at 13:25, Peter Smith <peter.smith at linaro.org> wrote:
>
> Hello Alessandro,
>
> Despite the statement in the HowToCrossCompileLLVM guide "If you’re
> using Clang as the cross-compiler, there is a problem in the LLVM ARM
> back-end that is producing absolute relocations on
> position-independent code (R_ARM_THM_MOVW_ABS_NC), so for now, you
2017 Jun 28
3
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
Oh, so it looks like I hit a bit of a wall there :-) I’ll take a look thanks.
That bug talks about R_ARM_THM_CALL which I assume are thumb related.
Will your implementation fix also R_ARM_CALL errors?
> On 28 Jun 2017, at 17:15, Peter Smith <peter.smith at linaro.org> wrote:
>
> Hello Alessandro,
>
> The LLD ARM port doesn't currently support range extension thunks,
2017 Jul 12
2
Question about thinLTO
Hello,
My impression on *thinLTO* when I first heard of it, (EuroLLVM2015) was
about achieving Cross Module Optimization (CMO) at the IR level.
Having parallel front-end compilation & initial optimization first, a
thin-link of individual input units, more optimization by calling opt again
on the combined IR, and finally the target codegen using llc.
A transformation similar to the
2017 Jun 28
3
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
I've successfully used Peter's patches to get past those relocation errors.
On 6/28/17, 9:36 AM, "llvm-dev on behalf of Peter Smith via llvm-dev" <llvm-dev-bounces at lists.llvm.org on behalf of llvm-dev at lists.llvm.org> wrote:
Yes it should cover the following relocations:
R_ARM_CALL (ARM BL/BLX)
R_ARM_JUMP24 (ARM B)
R_ARM_THM_CALL (Thumb BL/BLX)
2017 Jul 13
2
Question about thinLTO
On Thu, Jul 13, 2017 at 8:37 AM, Christudasan D <xander.cd at gmail.com> wrote:
>
> Hi Teresa,
>
> Yes, we plan to have our code at CG directly.
> We use our own linker. That's the pain. We might only get a partial
> benefit of thinLTO which occurs at compile time.
>
There is no compile-time only benefit of ThinLTO. You'll need the linker to
interface with the
2017 Jun 28
2
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
The bottom of the bug has the revision numbers (e.g. D34035). That one
corresponds to e.g. https://reviews.llvm.org/D34035
There's also https://reviews.llvm.org/D34634 which contains all of Peter's
patches, but it's not going to rebase cleanly once the individual patches
start going in.
On 6/28/17, 10:56 AM, "Alessandro Pistocchi" <apukfreelance at gmail.com> wrote:
2019 Jun 17
2
Running distributed thinLTO without thin archives.
I'm trying to run distributed ThinLTO without thin archives.
When I do, I get an error in the optimizer when clang tries to open a
nonexistent file:
clang++ -flto=thin -Xclang -fno-lto-unit -O3 -c main.cpp -o main.o
clang++ -flto=thin -Xclang -fno-lto-unit -O3 -c lib/lib.cpp -o lib/lib.o
clang++ -flto=thin -Xclang -fno-lto-unit -O3 -c src/lib.cpp -o src/lib.o
llvm-ar -format gnu qcs lib.a
2019 Jun 18
2
Running distributed thinLTO without thin archives.
Thanks!
Question about the final link step:
Do I provide all the object files to the link step, i.e. something like:
clang++ -o thinlto main-native.o lib/lib-native.o src/lib-native.o
Do I need to provide --start-lib markers on that final link step as well?
Tanoy
On Tue, Jun 18, 2019 at 10:37 AM Teresa Johnson <tejohnson at google.com>
wrote:
> Hi Tanoy,
>
> You can't use
2017 Jul 12
2
Question about thinLTO
On Wed, Jul 12, 2017 at 10:19 AM, Teresa Johnson <tejohnson at google.com>
wrote:
> Hi Christu,
>
> Thanks for the note!
>
> On Wed, Jul 12, 2017 at 9:56 AM, Christudasan D via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Hello,
>>
>>
>>
>> My impression on *thinLTO* when I first heard of it, (EuroLLVM2015) was
>> about
2017 Jul 12
2
ThinLTO and the C API
Our ThinLTO testing was inoperative for a while, and now that it's running
again, we're seeing the linker step reporting "Expected a single module."
Note that our linker is using the C API to read bitcode.
It looks like the ThinLTO writer now emits two modules, but AFAICT most of
the APIs in BitcodeReader.cpp expect to see only one. Is this just an
oversight in supporting
2018 Apr 10
0
exploring possibilities for unifying ThinLTO and FullLTO frontend + initial optimization pipeline
Hi Katya,
[+Teresa since this is about ThinLTO & she's the owner there]
I'm not sure how other folks feel, but terminologically I'm not sure I
think of these as different formats (for example you mention the idea of
stripping the summaries from ThinLTO BC files to then feed them in as
FullLTO files - I would imagine it'd be reasonable to modify/fix/improve
the linker
2017 Jul 13
2
Question about thinLTO
On Thu, Jul 13, 2017 at 2:54 AM, Christudasan D <xander.cd at gmail.com> wrote:
> Thank you Teresa.
>
> Yes, I would like to save the IR (*.bc and/or *.ll) after all
> optimizations (especially thinLTO) are done and call *llc* separately.
> Is there any specific document available online to see more about this
> feature and various command-line switches that a compiler
2017 Jul 11
2
[ThinLTO] Making ThinLTO functions not fail hasExactDefinition (specifically preventing it from being derefined)
Hi Charles,
On Tue, Jul 11, 2017 at 12:27 PM, Davide Italiano <davide at freebsd.org> wrote:
>> I'm working on adding interprocedural FunctionAttrs optimization
>> (http://llvm-cs.pcc.me.uk/lib/Transforms/IPO/FunctionAttrs.cpp) to ThinLTO
>> so it does something similar to what LTO is doing
>> (https://bugs.llvm.org/show_bug.cgi?id=33648). I've hit a problem
2017 May 04
2
DWARF Fission + ThinLTO
On Thu, May 4, 2017 at 7:22 AM, Rafael Avila de Espindola via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> David Blaikie via llvm-dev <llvm-dev at lists.llvm.org> writes:
>
> > So Dehao and I have been dealing with some of the nitty gritty details of
> > debug info with ThinLTO, specifically with Fission(Split DWARF).
> >
> > This applies to LTO as
2018 Apr 17
0
ThinLTO + CFI
I watched Teresa’s talk on ThinLTO from last year’s CppCon, and it sounded like adding global variable information to the summaries was in the works, or at least in planning. Can someone (Teresa?) please share the current status? If it’s part of future plans, are there any specific proposals that can be picked up and worked on?
Thanks!
> On Apr 9, 2018, at 6:51 PM, via llvm-dev <llvm-dev
2018 Apr 09
2
ThinLTO + CFI
Hi,
I’m working on setting up ThinLTO+CFI for a C application which uses a lot of function pointers. While functionally it appears stable, it’s performance is significantly degraded, to the tune of double digit percentage points compared to regular LTO+CFI.
Looking into possible causes I see that under ThinLTO+CFI iCall type checks almost always generate jump table entries for indirect calls,
2019 Jan 08
2
distributed thinlto usage
I am trying to work through the usage of thinlto for distributed builds.
Here is the simple thinlto usage, just add -flto=thin everywhere, easy:
clang++ -flto=thin -O3 -c -o CreateWay_.o -DSPEC_CPU -DNDEBUG -DSPEC_CPU_LITTLE_ENDIAN -Wno-dangling-else CreateWay_.cpp
clang++ -flto=thin -O3 -c -o Places_.o -DSPEC_CPU -DNDEBUG -DSPEC_CPU_LITTLE_ENDIAN