This patch defines a new subtarget feature "strict-align" which is used to decide whether unaligned memory accesses are allowed or not.
I removed all the code that checks the target architecture and OS to see if unaligned memory accesses are allowed as that decision will be made in the front-end (I'll send a patch to cfe-commits that includes the clang-side changes shortly). I wasn't sure if this will work for NaCl, which I think has a clang-based frontend that produces a target independent bitcode and a code-gen tool and a translator tool that produces target-specific code according to the following link:
https://www.chromium.org/nativeclient/pnacl/developing-pnacl
Would it be a problem it this patch required changing the translator tool (pnacl-translate) to pass subtarget feature "+strict-align" based on the target architecture?
Doesn't this test's triple put it in the hasV6Ops() && isTargetMachO() category, which supports unaligned memory accesses?