HomePhabricator

GlobalsModRef+OptNone: Don't prove readnone/other properties from an optnone…

Description

GlobalsModRef+OptNone: Don't prove readnone/other properties from an optnone function

Seems like at least one reasonable interpretation of optnone is that the
optimizer never "looks inside" a function. This fix is consistent with
that interpretation.

Specifically this came up in the situation:

f3 calls f2 calls f1
f2 is always_inline
f1 is optnone

The application of readnone to f1 (& thus to f2) caused the inliner to
kill the call to f2 as being trivially dead (without even checking the
cost function, as it happens - not sure if that's also a bug).

Details

Committed
dblaikieJun 6 2017, 1:51 PM
Parents
rL304832: Use exact equality for category language matching, for all languages, except…
Branches
Unknown
Tags
Unknown