The "solution" is to not use this lowering if there are any dynamic
allocas in the current function. We know up front if there are dynamic
allocas, but we don't know if we'll need to create stack temporaries
with large alignment during lowering. Conservatively assume that we will
need such temporaries.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
LGTM!
I'm still planning to retry the "store ESI in another physreg while rep movs'ing" approach instead of bailing out, but that's orthogonal to this fix.
Comment Actions
Chandler suggested creating an opaque DAG node and lowering it in MI
*after* ISel. The MI layer is much less fluid than the DAG.