Disable the use of TBAA when using AA in CodeGen
authorHal Finkel <hfinkel@anl.gov>
Sat, 25 Jan 2014 19:24:54 +0000 (19:24 +0000)
committerHal Finkel <hfinkel@anl.gov>
Sat, 25 Jan 2014 19:24:54 +0000 (19:24 +0000)
commit397cd32bc2f5d7618b26af04da45b615a32d291f
tree39888b0e01c3376df2d80925c094a83ff214782f
parent55604d97163ef8141e081fb7d66ae596796da8b8
Disable the use of TBAA when using AA in CodeGen

There are currently two issues, of which I currently know, that prevent TBAA
from being correctly usable in CodeGen:

  1. Stack coloring does not update TBAA when merging allocas. This is easy
     enough to fix, but is not the largest problem.

  2. CGP inserts ptrtoint/inttoptr pairs when sinking address computations.
     Because BasicAA does not handle inttoptr, we'll often miss basic type punning
     idioms that we need to catch so we don't miscompile real-world code (like LLVM).

I don't yet have a small test case for this, but this fixes self hosting a
non-asserts build of LLVM on PPC64 when using -enable-aa-sched-mi and -misched=shuffle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200093 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/ScheduleDAGInstrs.cpp
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/CodeGen/StackColoring.cpp