[llvm] r292661 - IPO, LTO: Plumb the summary from the LTO API into the pass manager.

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 25 15:52:15 PST 2017


On Wed, Jan 25, 2017 at 3:30 PM, Davide Italiano <davide at freebsd.org> wrote:
> On Fri, Jan 20, 2017 at 2:18 PM, Peter Collingbourne via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>> Author: pcc
>> Date: Fri Jan 20 16:18:52 2017
>> New Revision: 292661
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=292661&view=rev
>> Log:
>> IPO, LTO: Plumb the summary from the LTO API into the pass manager.
>>
>
> Hi Peter,
> sorry to bring (late) bad news but this causes a regression when doing
> LTO of one of our titles.
> I was able to find a synthetic repro:
>
> $ llvm-mc -filetype=obj breakable.s -o breakable.o
> $ opt blah.ll -o blah.o
> $ ld.lld breakable.o blah.o -shared
>
> $ cat breakable.s
>         .section        .rodata.patatino,"aG", at progbits,patatino,comdat
>         .weak   patatino
>
> $ cat blah.ll
> target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
> target triple = "x86_64-scei-ps4"
>
> @dipsy = external constant i8, !type !0
>
> define void @tinkywinky() {
>   store i8* @dipsy, i8** undef
>   ret void
> }
>

The second file missed a line, sorry:

target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-scei-ps4"

@dipsy = external constant i8, !type !0

define void @tinkywinky() {
  store i8* @dipsy, i8** undef
  ret void
}

!0 = !{i64 16, !"teletubbies"}

-- 
Davide

"There are no solved problems; there are only problems that are more
or less solved" -- Henri Poincare


More information about the llvm-commits mailing list