Coroutines: don't infer function attrs before lowering
authorTim Northover <t.p.northover@gmail.com>
Fri, 22 Oct 2021 08:13:02 +0000 (09:13 +0100)
committerTim Northover <t.p.northover@gmail.com>
Thu, 4 Nov 2021 10:24:28 +0000 (10:24 +0000)
commit3d39612b3dd3f6b67ee63da305d30606abbe7287
treed7107736843696450d4fa83fafe6540d6b790d0d
parent5f32a851fb14c839555f55ac165cf5c17742e1ea
Coroutines: don't infer function attrs before lowering

Coroutines have weird semantics that don't quite match normal LLVM functions,
so trying to infer even simple attributes based on thier contents can go wrong.
llvm/lib/Transforms/IPO/FunctionAttrs.cpp
llvm/test/Transforms/Coroutines/coro-retcon-alloca.ll
llvm/test/Transforms/Coroutines/coro-retcon.ll
llvm/test/Transforms/FunctionAttrs/noreturn.ll