diff options
author | David Blaikie <dblaikie@gmail.com> | 2017-06-06 20:51:15 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2017-06-06 20:51:15 +0000 |
commit | c662b501508200076e581beb9345a7631173a1d8 (patch) | |
tree | 15696957eba57739e3d4608eaad909ba99e5a630 /llvm/lib/Support/CommandLine.cpp | |
parent | 98e3e6003d996102e76118804339d42c8a8e9773 (diff) | |
download | llvm-c662b501508200076e581beb9345a7631173a1d8.zip llvm-c662b501508200076e581beb9345a7631173a1d8.tar.gz llvm-c662b501508200076e581beb9345a7631173a1d8.tar.bz2 |
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).
llvm-svn: 304833
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
0 files changed, 0 insertions, 0 deletions