Go to file
Jonas Paulsson afa6813816 Bugfix for missed dependency from store to load in buildSchedGraph().
Background: When handling underlying objects for a store, the vector
of previous mem uses, mapped to the same Value, is afterwards cleared
(regardless of ThisMayAlias). This means that during handling of the
next store using the same Value, adjustChainDeps() must be called,
otherwise a dependency might be missed.

For example, three spill/reload (NonAliasing) memory accesses using
the same Value 'a', with different offsets:

    SU(2): store  @a
    SU(1): store  @a, Offset:1
    SU(0): load   @a

In this case we have:

* SU(1) does not need a dep against SU(0). Therefore,SU(0) ends up in
  RejectMemNodes and is removed from the mem-uses list (AliasMemUses
  or NonAliasMemUses), as this list is cleared.

* SU(2) needs a dep against SU(0). Therefore, SU(2) must check
  RejectMemNodes by calling adjustChainDeps().

Previously, for store SUs, adjustChainDeps() was only called if
MayAlias was true, missing the S(2) to S(0) dependency in the case
above. The fix is to always call adjustChainDeps(), regardless of
MayAlias, since this applies both for AliasMemUses and
NonAliasMemUses.

No testcase found for any in-tree target.

llvm-svn: 228686
2015-02-10 13:03:32 +00:00
clang Fix __ldrexd arm intrinsic. 2015-02-10 09:09:04 +00:00
clang-tools-extra [clang-tidy] Checker for inaccurate use of erase() method. 2015-02-10 09:14:26 +00:00
compiler-rt [ASan] Add missing RUN: prefix. 2015-02-10 01:55:02 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Implement log10 2015-01-30 18:00:34 +00:00
libcxx Add __cxxabi_config.h to libcxxabi headers. 2015-02-05 23:56:33 +00:00
libcxxabi unwind: improve compilation on Linux with gcc 2015-02-10 03:43:33 +00:00
lld [ELF][ARM] Add veneer generation to branch instructions 2015-02-10 09:31:42 +00:00
lldb Add thread-id field in *stopped notification (MI) 2015-02-10 12:02:03 +00:00
llgo irgen: don't emit debug metadata for locals 2015-01-29 00:34:30 +00:00
llvm Bugfix for missed dependency from store to load in buildSchedGraph(). 2015-02-10 13:03:32 +00:00
openmp Pin the libiomp5.dll for the lifetime of application, Windows-specific 2015-01-29 17:18:20 +00:00
polly isl is now distributed with polly 2015-02-09 13:52:21 +00:00