Go to file
David Majnemer bc4981323f InstSimplify: Simplify trivial pointer expressions like b + (e - b)
consider:
long long *f(long long *b, long long *e) {
  return b + (e - b);
}

we would lower this to something like:
define i64* @f(i64* %b, i64* %e) {
  %1 = ptrtoint i64* %e to i64
  %2 = ptrtoint i64* %b to i64
  %3 = sub i64 %1, %2
  %4 = ashr exact i64 %3, 3
  %5 = getelementptr inbounds i64* %b, i64 %4
  ret i64* %5
}

This should fold away to just 'e'.

N.B.  This adds m_SpecificInt as a convenient way to match against a
particular 64-bit integer when using LLVM's match interface.

llvm-svn: 216439
2014-08-26 05:55:16 +00:00
clang Passing a variable to std::move now counts as a use for -Wuninitialized 2014-08-26 04:30:55 +00:00
clang-tools-extra Update for LLVM api change 2014-08-25 18:17:00 +00:00
compiler-rt [sanitizer] move mlock interceptor from asan/tsan/msan to common; no functionality change intended 2014-08-25 20:57:59 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc Revert "Implement generic mad_sat" 2014-08-23 14:06:01 +00:00
libcxx Replace 'noexcept' with '_NOEXCEPT' in <shared_mutex>. This allows us to build the dylib with MSVC, which doesn't support noexcept (sheesh\!). Thanks to K-ballo for the report. 2014-08-25 14:53:16 +00:00
libcxxabi Add baremetal ARM support to libcxxabi/libunwind 2014-08-21 18:42:36 +00:00
lld [PECOFF] Add /HighEntropyVA. 2014-08-25 22:23:34 +00:00
lldb Remove trailing whitespace from lines in UnwindAssembly-x86.cpp. No other changes. 2014-08-25 23:46:06 +00:00
llvm InstSimplify: Simplify trivial pointer expressions like b + (e - b) 2014-08-26 05:55:16 +00:00
openmp Commit PowerPC64 support from Carlo Bertolli at IBM. 2014-08-07 10:12:54 +00:00
polly Update for LLVM api change 2014-08-25 18:16:52 +00:00