OSDN Git Service

Do a better and more complete job of preserving metadata when combining
authorChandler Carruth <chandlerc@gmail.com>
Sun, 19 Oct 2014 10:46:46 +0000 (10:46 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sun, 19 Oct 2014 10:46:46 +0000 (10:46 +0000)
commit63276ccdbd5553ad7af8362f9984b474d2345efa
treef5f66f4ff29e33a18c112df0f7466eb25bc1f8e1
parent4d2a706176b3308e3033f80808873e18761b0930
Do a better and more complete job of preserving metadata when combining
loads.

This handles many more cases than just the AA metadata, some of them
suggested by Hal in his review of the AA metadata handling patch. I've
tried to test this behavior where tractable to do so.

I'll point out that I have specifically *not* included a test for
debuginfo because it was going to require 2 or 3 times as much work to
craft some input which would survive the "helpful" stripping of debug
info metadata that doesn't match the desired schema. This is another
good example of why the current state of write-ability for our debug
info metadata is unacceptable. I spent over 30 minutes trying to conjure
some test case that would survive, even copying from other debug info
tests, but it always failed to survive with no explanation of why or how
I might fix it. =[

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220165 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
test/Transforms/InstCombine/loadstore-aa-metadata.ll [deleted file]
test/Transforms/InstCombine/loadstore-metadata.ll [new file with mode: 0644]