1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib
Peter Collingbourne fbb7ea5270 IR: Introduce inrange attribute on getelementptr indices.
If the inrange keyword is present before any index, loading from or
storing to any pointer derived from the getelementptr has undefined
behavior if the load or store would access memory outside of the bounds of
the element selected by the index marked as inrange.

This can be used, e.g. for alias analysis or to split globals at element
boundaries where beneficial.

As previously proposed on llvm-dev:
http://lists.llvm.org/pipermail/llvm-dev/2016-July/102472.html

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

llvm-svn: 286514
2016-11-10 22:34:55 +00:00
..
Analysis IR: Introduce inrange attribute on getelementptr indices. 2016-11-10 22:34:55 +00:00
AsmParser IR: Introduce inrange attribute on getelementptr indices. 2016-11-10 22:34:55 +00:00
Bitcode IR: Introduce inrange attribute on getelementptr indices. 2016-11-10 22:34:55 +00:00
CodeGen ScheduleDAGInstrs: Slightly simplify code; NFC 2016-11-10 22:11:00 +00:00
DebugInfo Fix some size_t / uint32_t ambiguity errors. 2016-11-08 22:30:11 +00:00
Demangle Avoid using alignas and constexpr. 2016-09-06 20:36:24 +00:00
ExecutionEngine Bitcode: Change the materializer interface to return llvm::Error. 2016-11-09 17:49:19 +00:00
Fuzzer [libFuzzer] fix -error_exitcode=N, now with a test 2016-11-03 19:31:18 +00:00
IR IR: Introduce inrange attribute on getelementptr indices. 2016-11-10 22:34:55 +00:00
IRReader IR, Bitcode: Change bitcode reader to no longer own its memory buffer. 2016-11-08 06:03:43 +00:00
LibDriver
LineEditor
Linker Bitcode: Change the materializer interface to return llvm::Error. 2016-11-09 17:49:19 +00:00
LTO Bitcode: Change the materializer interface to return llvm::Error. 2016-11-09 17:49:19 +00:00
MC Fix 24560: assembler does not share constant pool for same constants 2016-11-04 19:17:32 +00:00
Object Revert "[ThinLTO] Prevent exporting of locals used/defined in module level asm" 2016-11-09 01:45:13 +00:00
ObjectYAML Fix Clang-tidy readability-redundant-string-cstr warnings 2016-11-02 16:43:50 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes Conditionally eliminate library calls where the result value is not used 2016-10-18 21:36:27 +00:00
ProfileData Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 15:02:18 +00:00
Support Fix type ambiguity with std::max 2016-11-10 20:35:21 +00:00
TableGen
Target AMDGPU: Emit runtime metadata as a note element in .note section 2016-11-10 21:18:49 +00:00
Transforms Add comments about why we put LoopSink pass at the very late stage. 2016-11-10 17:42:18 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00