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 | 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 | 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 | please fix |
- Review comments
test/CodeGen/X86/x32-alloca.ll | ||
---|---|---|
2 | 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 | Done. | |
17 | Done. |
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)?