Go to file
David Green fc4b0fe0a2 [GlobalOpt] Test array indices inside structs for out-of-bounds accesses
We now, from clang, can turn arrays of
  static short g_data[] = {16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0};
into structs of the form
  @g_data = internal global <{ [8 x i16], [8 x i16] }> ...

GlobalOpt will incorrectly SROA it, not realising that the access to the first
element may overflow into the second. This fixes it by checking geps more
thoroughly.

I believe this makes the globalsra-partial.ll test case invalid as the %i value
could be out of bounds. I've re-purposed it as a negative test for this case.

Differential Revision: https://reviews.llvm.org/D49816

llvm-svn: 338192
2018-07-28 08:20:10 +00:00
clang [Sema][ObjC] Warn when a method declared in a protocol takes a 2018-07-28 04:06:13 +00:00
clang-tools-extra [clang-tidy] Fix a crash in fuchsia-multiple-inheritance 2018-07-27 14:05:39 +00:00
compiler-rt [test] Use printf instead of C++ iostream, NFC. 2018-07-26 18:23:40 +00:00
debuginfo-tests [DebugInfo] LowerDbgDeclare: Add derefs when handling CallInst users 2018-07-26 20:56:53 +00:00
libclc atom: Use volatile pointers for cl_khr_{global,local}_int32_{base,extended}_atomics 2018-06-21 19:27:39 +00:00
libcxx [libc++] Exclude posix_l/strtonum fallback inclusion for newlib > 2.4 2018-07-27 20:02:58 +00:00
libcxxabi [demangler] Fix an oss-fuzz bug from r338138 2018-07-28 04:06:30 +00:00
libunwind [CMake] Include CMakeDependentOption in libunwind 2018-07-24 23:42:51 +00:00
lld Reland r338088, "ELF: Make --print-icf-sections output deterministic." 2018-07-27 19:10:44 +00:00
lldb Add the actually calculated completions to COMPLETION_MSG 2018-07-27 23:42:34 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [GlobalOpt] Test array indices inside structs for out-of-bounds accesses 2018-07-28 08:20:10 +00:00
openmp [OMPT] Fix OMPT callbacks for the taskloop construct and add testcase 2018-07-27 18:13:24 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [test] Remove non-JSPON comments in JSCOP file. NFC. 2018-07-28 01:11:45 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.