TargetBaseAlign is no longer required since LSV checks if target allows misaligned accesses.
A constant defining a base alignment is still needed for stack accesses where alignment can be adjusted.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp | ||
---|---|---|
43 ↗ | (On Diff #65992) | I think we still want a comment here, because we're basically assuming that 4 bytes is good enough for any type. |
1033 ↗ | (On Diff #65992) | Can we rewrite this function as if (Alignment % SzInBytes == 0) return true; bool Fast = false; bool Allows = ...; return !Allows || !Fast; That would make it a lot more obvious to me. |
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp | ||
---|---|---|
43 ↗ | (On Diff #65992) | I think this makes an easier TTI hook now that it isn't related to unaligned access |
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp | ||
---|---|---|
1036 ↗ | (On Diff #66001) | I think you meant return false on the first condition. Updated. |
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp | ||
---|---|---|
1036 ↗ | (On Diff #66001) | Yes, "not misaligned". Sigh. |