When scalarizing a load, be sure to update the offset in the MachineMemOperand
for each scalar load.
Details
- Reviewers
hfinkel craig.topper RKSimon spatel niravd
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
19890 | I'm not sure if this is needed. getAlignment for loads defers to MachineMemOperand::getAlignment which calls MinAlign(getBaseAlignment(), Offset) |
lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
19889 | Why doesn't this use TLI::scalarizeVectorLoad? |
lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
19889 | I don't know. Perhaps we can look at refactoring after fixing this bug. | |
19890 | I was just following the example of similar code in the file. If we think it's unnecessary, I guess that's ok but it seems good to me to make this kind of thing explicit, if for no other reason than to make others feel comfortable when they look at this code two years from now. |
Why doesn't this use TLI::scalarizeVectorLoad?