llvm-6502/include/llvm
Richard Sandiford 66589dcc8f Keep TBAA info when rewriting SelectionDAG loads and stores
Most SelectionDAG code drops the TBAA info when creating a new form of a
load and store (e.g. during legalization, or when converting a plain
load to an extending one).  This patch tries to catch all cases where
the TBAA information can legitimately be carried over.

The patch adds alternative forms of getLoad() and getExtLoad() that take
a MachineMemOperand instead of individual fields.  (The corresponding
getTruncStore() already exists.)  The idea is to use the MachineMemOperand
forms when all fields are carried over (size, pointer info, isVolatile,
isNonTemporal, alignment and TBAA info).  If some adjustment is being
made, e.g. to narrow the load, then we still pass the individual fields
but also pass the TBAA info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193517 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-28 11:17:59 +00:00
..
ADT
Analysis Quick look-up for block in loop. 2013-10-26 03:08:02 +00:00
Assembly
Bitcode
CodeGen Keep TBAA info when rewriting SelectionDAG loads and stores 2013-10-28 11:17:59 +00:00
Config
DebugInfo [DebugInfo] Remove unneeded struct member and hide struct definition. No functionality change. 2013-10-18 07:13:32 +00:00
ExecutionEngine Optimizing MCJIT module state tracking 2013-10-24 00:19:14 +00:00
IR AVX-512: PMIN/PMAX intrinsics and patterns 2013-10-27 08:18:37 +00:00
IRReader
LTO
MC ARM: allow .thumb_func to be separated from symbol definition 2013-10-25 12:49:50 +00:00
Object Add missing #include's to cctype when using isdigit/alpha/etc. 2013-10-12 00:55:57 +00:00
Option
Support Change MemoryBuffer::getFile to take a Twine. 2013-10-25 19:06:52 +00:00
TableGen Speling fixes. 2013-10-22 15:18:03 +00:00
Target SelectionDAG: Pass along the original argument/element type in ISD::InputArg 2013-10-23 00:44:24 +00:00
Transforms Optimize more linkonce_odr values during LTO. 2013-10-21 17:14:55 +00:00
AutoUpgrade.h
CMakeLists.txt
DebugInfo.h Reformat. 2013-10-15 21:22:12 +00:00
DIBuilder.h fix two typos. 2013-10-21 23:55:19 +00:00
GVMaterializer.h
InitializePasses.h Remove the now unused strong phi elimination pass. 2013-10-14 16:39:04 +00:00
InstVisitor.h
LinkAllIR.h
LinkAllPasses.h
Linker.h Add a 'deleteModule' method to the Linker class. 2013-10-16 08:59:57 +00:00
Pass.h
PassAnalysisSupport.h
PassManager.h
PassManagers.h
PassRegistry.h
PassSupport.h