You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
__asm lead to myfunc function prototype changed from void myfunc(alignedint) ; to void myfunc(); , so IC opt it.
I'm not sure there is a regular way to generate this IR? https://godbolt.org/z/1efKn1bje If have, maybe we should reject naked function in InstCombinerImpl::transformConstExprCastCall
The text was updated successfully, but these errors were encountered:
__asm lead to myfunc function prototype changed from void myfunc(alignedint) ; to void myfunc(); , so IC opt it.
I'm not sure there is a regular way to generate this IR? https://godbolt.org/z/1efKn1bje If have, maybe we should reject naked function in InstCombinerImpl::transformConstExprCastCall
Fix this issue #72843 .
For naked function, assembly might be using an argument, or otherwise
rely on the frame layout, so don't transformConstExprCastCall
https://godbolt.org/z/hr4z7Wbv3
Has follow code, fail with compile command
-O1
in arm32le.I see the arguments are removed in the pass
InstCombine
by this functionhttps://github.com/llvm/llvm-project/blob/27c98958c067c341dd3f65b7218c376d333fbed5/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp#L3778C1-L3781C68
I gusee there are caused by two reasons:
__asm
lead tomyfunc
function prototype changed fromvoid myfunc(alignedint) ;
tovoid myfunc();
, soIC
opt it.naked
function inInstCombinerImpl::transformConstExprCastCall
The text was updated successfully, but these errors were encountered: