llvm-project/clang/lib
Hal Finkel c9fac9e151 [CodeGen] Treat all vector fields as mayalias
Because it is common to treat vector types as an array of their elements, or
even some other type that's not the element type, and thus index into them, we
can't use struct-path TBAA for these accesses. Even though we already treat all
vector types as equivalent to 'char', we were using field-offset information
for them with TBAA, and this renders undefined the intra-value indexing we
intend to allow. Note that, although 'char' is universally aliasing, with path
TBAA, we can still differentiate between access to s.a and s.b in
  struct { char a, b; } s;. We can't use this capability as-is for vector types.

Fixes PR33967.

llvm-svn: 312447
2017-09-03 17:18:25 +00:00
..
ARCMigrate Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:23:19 +00:00
AST Revert "Improve constant expression evaluation of arrays of unknown bound." 2017-08-30 10:44:46 +00:00
ASTMatchers Register linkageSpecDecl matcher 2017-08-31 21:18:27 +00:00
Analysis [analyzer] MinComplexityConstraint now early exits and only does one macro stack lookup 2017-09-03 13:45:33 +00:00
Basic Change Diagnostic Category size error from runtime to compiletime 2017-08-28 18:53:17 +00:00
CodeGen [CodeGen] Treat all vector fields as mayalias 2017-09-03 17:18:25 +00:00
Driver Driver; extract target specific option application (NFC) 2017-09-03 04:47:00 +00:00
Edit [clang] Fix format specifiers fixits for nested macros 2017-06-20 20:46:58 +00:00
Format clang-format: Fix formatting of for loops with multiple increments. 2017-09-03 08:56:24 +00:00
Frontend [modules] Add ability to specify module name to module file mapping (reapply) 2017-08-31 06:26:43 +00:00
FrontendTool Update after LLVM change r309087 2017-07-26 09:10:17 +00:00
Headers [X86] Implement broadcastf32x2 and broadcasti32x2 intrinsics using __builtin_shufflevector instead builtins 2017-08-30 16:15:12 +00:00
Index Print enum constant values using the original source formatting 2017-08-17 13:41:55 +00:00
Lex [modules] Add ability to specify module name to module file mapping (reapply) 2017-08-31 06:26:43 +00:00
Parse std::function -> llvm::function_ref. NFC. 2017-09-01 16:51:51 +00:00
Rewrite [Analyzer] Add support for displaying cross-file diagnostic paths in HTML output 2017-08-03 18:12:22 +00:00
Sema [OPENMP] Fix for PR34398: assert with random access iterator if the 2017-08-31 23:06:52 +00:00
Serialization [modules] Add ability to specify module name to module file mapping (reapply) 2017-08-31 06:26:43 +00:00
StaticAnalyzer [analyzer] Performance optimizations for the CloneChecker 2017-08-31 07:10:46 +00:00
Tooling Recommit r312127: [refactor] AST selection tree should contain syntactic 2017-08-30 15:28:01 +00:00
CMakeLists.txt