llvm-6502/include/llvm
Chad Rosier e891f49ad5 [BranchFolding] Remove MMOs during tail merge to preserve dependencies.
When tail merging it may be necessary to remove MMOs from memory operations to
ensures later passes (e.g., MI sched) conservatively compute dependencies.
Currently, we only remove the MMO from the common tail if the MMO doesn't match
with the relative instruction in the non-common tail(s).

A more robust solution would be to add multiple MMOs from the duplicate MIs to
the new MI. Currently ScheduleDAGInstrs.cpp ignores all MMOs on instructions
with multiple MMOs, so this solution is equivalent for the time being.

No test case included as this is incredibly difficult to reproduce.

Patch was a collaborative effort between Ana Pazos and myself.
Phabricator: http://reviews.llvm.org/D7769

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231799 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-10 16:22:52 +00:00
..
ADT Add support for Nuxi CloudABI. 2015-03-09 18:40:45 +00:00
Analysis DataLayout is mandatory, update the API to reflect it with references. 2015-03-10 02:37:25 +00:00
AsmParser
Bitcode
CodeGen [BranchFolding] Remove MMOs during tail merge to preserve dependencies. 2015-03-10 16:22:52 +00:00
Config Drop the hacks used for partial C99 math libraries. 2015-03-09 18:35:18 +00:00
DebugInfo Typo. 2015-03-07 01:39:09 +00:00
ExecutionEngine Temporarily revert r231726 and r231724 as they're breaking the build.: 2015-03-10 00:33:27 +00:00
IR [X86, AVX] replace vinsertf128 intrinsics with generic shuffles 2015-03-10 16:08:36 +00:00
IRReader
LineEditor
Linker
LTO
MC Don't repeat names and clang-format this file. 2015-03-10 13:56:44 +00:00
Object
Option
Passes [PM] Create a separate library for high-level pass management code. 2015-03-07 09:02:36 +00:00
ProfileData
Support Teach raw_ostream to accept SmallString. 2015-03-10 07:33:23 +00:00
TableGen
Target DataLayout is mandatory, update the API to reflect it with references. 2015-03-10 02:37:25 +00:00
Transforms DataLayout is mandatory, update the API to reflect it with references. 2015-03-10 02:37:25 +00:00
CMakeLists.txt
InitializePasses.h Add a new pass "Loop Interchange" 2015-03-06 10:11:25 +00:00
LinkAllIR.h
LinkAllPasses.h Add a new pass "Loop Interchange" 2015-03-06 10:11:25 +00:00
module.modulemap [modules] Mark Analysis/TargetLibraryInfo.def as a textual header. 2015-03-06 23:39:54 +00:00
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h
PassSupport.h