Tests are misssing for armv6m + darwin as well.
Details
Diff Detail
Event Timeline
lib/Basic/Targets.cpp | ||
---|---|---|
4456 | Why is this not necessary any more? |
lib/Basic/Targets.cpp | ||
---|---|---|
4456 | 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 | Oh, so this ended up as a work-around for the correct change that you just did, below? |
lib/Basic/Targets.cpp | ||
---|---|---|
4456 | 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. |
Absolutely agree. If we miss some other target, we should add it there, too, not cover later. LGTM. Thanks!
Why is this not necessary any more?