Tests are misssing for armv6m + darwin as well.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Basic/Targets.cpp | ||
---|---|---|
4456 ↗ | (On Diff #35883) | Why is this not necessary any more? |
lib/Basic/Targets.cpp | ||
---|---|---|
4456 ↗ | (On Diff #35883) | The logic is still necessary for the back-end to emit aligned loads and stores, but it should be moved to the Driver, where +strict-align is set for all arch+OS combinations as shown below. |
lib/Basic/Targets.cpp | ||
---|---|---|
4456 ↗ | (On Diff #35883) | Oh, so this ended up as a work-around for the correct change that you just did, below? |
lib/Basic/Targets.cpp | ||
---|---|---|
4456 ↗ | (On Diff #35883) | Apparently yes. The front-end checks this flag in order to decide whether it should define the __ARM_FEATURE_UNALIGNED macro, and the back-end needs it to chose the correct instruction lowering for memory accesses. The best place to set this flag is in Driver, where all target features are handled. |
Comment Actions
Absolutely agree. If we miss some other target, we should add it there, too, not cover later. LGTM. Thanks!