Go to file
Hal Finkel 2150e3a743 Conservatively handle multiple MMOs in MIsNeedChainEdge
MIsNeedChainEdge, which is used by -enable-aa-sched-mi (AA in misched), had an
llvm_unreachable when -enable-aa-sched-mi is enabled and we reach an
instruction with multiple MMOs. Instead, return a conservative answer. This
allows testing -enable-aa-sched-mi on x86.

Also, this moves the check above the isUnsafeMemoryObject checks.
isUnsafeMemoryObject is currently correct only for instructions with one MMO
(as noted in the comment in isUnsafeMemoryObject):

  // We purposefully do no check for hasOneMemOperand() here
  // in hope to trigger an assert downstream in order to
  // finish implementation.

The problem with this is that, had the candidate edge passed the
"!MIa->mayStore() && !MIb->mayStore()" check, the hoped-for assert would never
happen (which could, in theory, lead to incorrect behavior if one of these
secondary MMOs was volatile, for example).

llvm-svn: 198795
2014-01-08 21:52:02 +00:00
clang Ensure that ENABLE_SHARED is substituted for use in Windows builds 2014-01-08 20:06:24 +00:00
clang-tools-extra Don't emit diagnostics for system headers. 2014-01-08 15:21:08 +00:00
compiler-rt SDKs: Add inttypes.h to the darwin SDK stub 2014-01-07 05:42:09 +00:00
debuginfo-tests don't use CHECK-NEXT because it may be on the same line. 2013-09-18 23:01:54 +00:00
libclc Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
libcxx Replace casts of __impl_ with the correct reinterpret_cast of the 2014-01-07 19:21:13 +00:00
libcxxabi Implement demangling for user-defined operators. 2014-01-06 23:05:04 +00:00
lld [Mips] GOT16 relocation against non-local symbol does not require a 2014-01-08 20:43:03 +00:00
lldb Fixed a kernel panic that would occur if you debug anything on MacOSX 10.7 or earlier due to the use of the POSIX_SPAWN_CLOEXEC_DEFAULT attribute flag that closes all file descriptors on exec. We now dyamically detect the OS version and do the right thing. 2014-01-08 18:02:51 +00:00
llvm Conservatively handle multiple MMOs in MIsNeedChainEdge 2014-01-08 21:52:02 +00:00
openmp For your Christmas hacking pleasure. 2013-12-23 17:28:57 +00:00
polly Update #include paths for r198688 in LLVM that moved headers in the Assembly 2014-01-07 12:59:58 +00:00