llvm/lib
Weiming Zhao 2a0c41756b PR 18466: Fix ARM Pseudo Expansion
When expanding neon pseudo stores, it may miss the implicit uses of sub
regs, which may cause post RA scheduler reorder instructions that
breakes anti dependency.

For example:
  VST1d64QPseudo %R0<kill>, 16, %Q9_Q10, pred:14, pred:%noreg
  will be expanded to
    VST1d64Q %R0<kill>, 16, %D18, pred:14, pred:%noreg;

An instruction that defines %D20 may be scheduled before the store by
mistake.

This patches adds implicit uses for such case. For the example above, it
emits:
  VST1d64Q %R0<kill>, 8, %D18, pred:14, pred:%noreg, %Q9_Q10<imp-use>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199282 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-15 01:32:12 +00:00
..
Analysis Make nocapture analysis work with addrspacecast 2014-01-14 19:11:52 +00:00
AsmParser Decouple dllexport/dllimport from linkage 2014-01-14 15:22:47 +00:00
Bitcode Make parseBitcodeFile return an ErrorOr<Module *>. 2014-01-15 01:08:23 +00:00
CodeGen Make sure we emit a relocation to the debug_ranges section in the 2014-01-15 00:04:29 +00:00
DebugInfo llvm-dwarfdump: type unit dwo support 2014-01-09 05:08:24 +00:00
ExecutionEngine Return an error_code from materializeAllPermanently. 2014-01-14 23:51:27 +00:00
IR Return an error_code from materializeAllPermanently. 2014-01-14 23:51:27 +00:00
IRReader Make parseBitcodeFile return an ErrorOr<Module *>. 2014-01-15 01:08:23 +00:00
Linker Decouple dllexport/dllimport from linkage 2014-01-14 15:22:47 +00:00
LTO Return an error_code from materializeAllPermanently. 2014-01-14 23:51:27 +00:00
MC Replace .mips_hack_stocg with ".set micromips" and ".set nomicromips". 2014-01-14 04:25:13 +00:00
Object Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
Option Avoid buffer copies when a Twine already is a StringRef. 2013-12-03 18:18:28 +00:00
Support raw_fd_ostream: Don't change STDERR to O_BINARY, or w*printf() (in assert()) would barf wide chars after llvm::errs(). 2014-01-12 16:14:24 +00:00
TableGen [TableGen] Correctly generate implicit anonymous prototype defs in multiclasses 2014-01-02 20:47:09 +00:00
Target PR 18466: Fix ARM Pseudo Expansion 2014-01-15 01:32:12 +00:00
Transforms Do pointer cast simplifications on addrspacecast 2014-01-14 20:00:45 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile