Go to file
Philip Reames c3c23e8cf2 [AST] Remove notion of volatile from alias sets [NFCI]
Volatility is not an aliasing property. We used to model volatile as if it had extremely conservative aliasing implications, but that hasn't been true for several years now. So, it doesn't make sense to be in AliasSet.

It also turns out the code is entirely a noop. Outside of the AST code to update it, there was only one user: load store promotion in LICM. L/S promotion doesn't need the check since it walks all the users of the address anyway. It already checks each load or store via !isUnordered which causes us to bail for volatile accesses. (Look at the lines immediately following the two remove asserts.)

There is the possibility of some small compile time impact here, but the only case which will get noticeably slower is a loop with a large number of loads and stores to the same address where only the last one we inspect is volatile. This is sufficiently rare it's not worth optimizing for..

llvm-svn: 340312
2018-08-21 17:59:11 +00:00
clang Address Aaron Ballman's post-commit review comments from r340306, NFC 2018-08-21 17:50:10 +00:00
clang-tools-extra [clangd] NFC: Fix broken build 2018-08-21 10:40:19 +00:00
compiler-rt SafeStack: Use correct unsafe stack sizes 2018-08-21 17:29:01 +00:00
debuginfo-tests Revert "(Retry) Add a basic integration test for C++ smart pointers" 2018-08-20 19:53:33 +00:00
libclc amdgcn: Use __constant AS for amdgcn builtins. 2018-08-03 15:14:08 +00:00
libcxx Teach libc++ to use native NetBSD's max_align_t 2018-08-20 22:29:20 +00:00
libcxxabi Port LLVM r340203 (and r340205) to libcxxabi. 2018-08-20 20:14:49 +00:00
libunwind NFC: Test commit access 2018-08-16 16:55:07 +00:00
lld [PPC64] Add TLS initial exec to local exec relaxation 2018-08-21 15:13:53 +00:00
lldb lldbtest.py: Unconditionally set the clang module cache path. 2018-08-21 16:13:37 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [AST] Remove notion of volatile from alias sets [NFCI] 2018-08-21 17:59:11 +00:00
openmp [OMPT] Remove OMPT idle callback 2018-08-15 13:54:28 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [AST] Adapt Polly to AnalysisSetTracker changes. NFC. 2018-08-17 19:31:41 +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.