X86FastISel::fastMaterializeAlloca was incorrectly conditioning its
opcode selection on subtarget bitness rather than pointer size.
Details
Diff Detail
Event Timeline
test/CodeGen/X86/x32-alloca.ll | ||
---|---|---|
2 ↗ | (On Diff #15817) | Add "-fast-isel-abort" to make sure it's actually using fast-isel for this codegen? A bunch of the other fast-isel tests have a "fast-isel-" prefix for the filename. Perhaps it would be good to stick with that. I couldn't find any existing test for this for non ILP32 x86-64 code, so might as well test the non-ILP32 x86-64 code path too. Maybe the test can be merged into fast-isel-x86-64.ll (but only have a check-prefix of this case for x32 for now)? |
6 ↗ | (On Diff #15817) | could probably just make bar a "declare" and not have to codegen it |
lgtm
I suspect we'll see more issues like this.
test/CodeGen/X86/x32-alloca.ll | ||
---|---|---|
17 ↗ | (On Diff #15817) | please fix |
- Review comments
test/CodeGen/X86/x32-alloca.ll | ||
---|---|---|
2 ↗ | (On Diff #15817) | Added -fast-isel-abort and renamed; unfortunately fast-isel-x86_64.ll can't be codegen'd for x32/nacl currently (it throws an assert). Fixing that would be beyond the scope of this change but I added the same test case to that file for LP64. |
6 ↗ | (On Diff #15817) | Done. |
17 ↗ | (On Diff #15817) | Done. |