diff options
| author | 2022-02-14 20:33:40 +0000 | |
|---|---|---|
| committer | 2022-02-14 20:33:40 +0000 | |
| commit | 1ca54b2cfdeb03567b6de1d6cf2696549f1099a8 (patch) | |
| tree | f4840785d3ed24906046c6649f6182e8730f9b8c | |
| parent | e51b2377f5fab374f42c0ec80654f27329ee65ab (diff) | |
| parent | 4ef5459f7da48de48d6a32df20fd56a1822f7f80 (diff) | |
Merge "Don't reduce inline limit for afdo enabled projects"
| -rw-r--r-- | cc/cc.go | 12 | ||||
| -rw-r--r-- | cc/lto.go | 2 |
2 files changed, 13 insertions, 1 deletions
@@ -505,6 +505,7 @@ type ModuleContextIntf interface { selectedStl() string baseModuleName() string getVndkExtendsModuleName() string + isAfdoCompile() bool isPgoCompile() bool isNDKStubLibrary() bool useClangLld(actx ModuleContext) bool @@ -1259,6 +1260,13 @@ func (c *Module) IsVndk() bool { return false } +func (c *Module) isAfdoCompile() bool { + if afdo := c.afdo; afdo != nil { + return afdo.Properties.AfdoTarget != nil + } + return false +} + func (c *Module) isPgoCompile() bool { if pgo := c.pgo; pgo != nil { return pgo.Properties.PgoCompile @@ -1536,6 +1544,10 @@ func (ctx *moduleContextImpl) isVndk() bool { return ctx.mod.IsVndk() } +func (ctx *moduleContextImpl) isAfdoCompile() bool { + return ctx.mod.isAfdoCompile() +} + func (ctx *moduleContextImpl) isPgoCompile() bool { return ctx.mod.isPgoCompile() } @@ -123,7 +123,7 @@ func (lto *lto) flags(ctx BaseModuleContext, flags Flags) Flags { // If the module does not have a profile, be conservative and limit cross TU inline // limit to 5 LLVM IR instructions, to balance binary size increase and performance. - if !ctx.isPgoCompile() { + if !ctx.isPgoCompile() && !ctx.isAfdoCompile() { flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,-plugin-opt,-import-instr-limit=5") } |