Fix LLVM TBAA metadata
authorDemi Obenour <demiobenour@gmail.com>
Fri, 9 Dec 2016 20:41:59 +0000 (15:41 -0500)
committerBen Gamari <ben@smart-cactus.org>
Fri, 9 Dec 2016 21:38:45 +0000 (16:38 -0500)
commit90fae01c326bf8b0802b4e8968f84886be4e1380
treed91307f5d7811c46dfa3fd8e19e019b82af10f1b
parent62418b878a1e57b6d187c4f98bf90f6cd64a58b6
Fix LLVM TBAA metadata

Accesses through a Cmm local are currently reported as having the
"other" type, which can only alias other "other" accesses.  However,
this assumption is incorrect, which can result in silent bad LLVM
codegen.

Fixes #9308.
Fixes #9504.

Test Plan: GHC CI

Reviewers: rwbarton, austin, bgamari

Reviewed By: bgamari

Subscribers: michalt, thomie

Differential Revision: https://phabricator.haskell.org/D2758

GHC Trac Issues: #9125, #9308, #9504
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
compiler/llvmGen/LlvmCodeGen/Regs.hs