hanchenye-llvm-project/clang/test
James Molloy 90d6101410 Use store size instead of alloc size when coercing.
Previously, EnterStructPointerForCoercedAccess used Alloc size when determining how to convert. This was problematic, because there were situations were the alloc size was larger than the store size. For example, if the first element of a structure were i24 and the destination type were i32, the old code would generate a GEP and a load i24. The code should compare store sizes to ensure the whole object is loaded. I have attached a test case.

This patch modifies the output of arm64-be-bitfield.c test case, but the new IR seems to be equivalent, and after -O3, the compiler generates identical ARM assembly. (asr x0, x0, #54)

Patch by Thomas Jablin!

llvm-svn: 216722
2014-08-29 10:17:52 +00:00
..
ARCMT Objective-C modernization. Convert -initWithUTF8String messaging 2014-08-25 20:22:25 +00:00
ASTMerge
Analysis Add tests for variadic functions versus attribute nonnull in the static analyzer. 2014-08-27 19:05:47 +00:00
CXX C++1y is now C++14! 2014-08-19 15:55:55 +00:00
CodeCompletion
CodeGen Use store size instead of alloc size when coercing. 2014-08-29 10:17:52 +00:00
CodeGenCUDA
CodeGenCXX Reverting r216675. This breaks some bots. Before this can be committed again, I have to explore runtime ABI requirements with libc++abi. 2014-08-28 17:24:14 +00:00
CodeGenObjC Objective-C IRGen. Fixes an assertion crash caused by inconsistent 2014-08-28 17:05:17 +00:00
CodeGenObjCXX Objective-C ARC. Use of non-retain/autorelease API 2014-08-08 17:31:14 +00:00
CodeGenOpenCL Driver: Implement -cl-denorms-are-zero 2014-08-21 13:58:36 +00:00
Coverage Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
CoverageMapping Coverage Mapping: store function's hash in coverage function records. 2014-08-21 19:25:27 +00:00
Driver Call powerpc-darwin external tools with -arch ppc. 2014-08-28 21:23:05 +00:00
FixIt Objective-C [qoi]. Provide fix-it hint when sending 2014-08-19 23:39:17 +00:00
Format Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
Frontend This test was updated in r216397, but was failing on Windows due to mixed path separators as well as case sensitivity of the "no" in "no such file or directory." Rather than revert this file back to its original form, I've made some incredibly ugly regexes so that it will pass everywhere. 2014-08-26 14:09:25 +00:00
Headers Add a module cache path to test/Headers/cxx11 2014-08-12 16:42:25 +00:00
Index [libclang] Fixup the cursor spelling range for C++ destructors, operator overloads, and conversion functions. 2014-08-26 20:23:26 +00:00
Integration Split out header integration tests 2014-05-04 13:00:32 +00:00
Layout AST: Propagate 'AlignIsRequired' though many levels of typedefs 2014-08-04 05:11:01 +00:00
Lexer Don't destroy MacroInfos if we find the macro definition is invalid; it'll get 2014-08-03 23:41:04 +00:00
Misc Add a warning flag for an existing diagnostic. 2014-08-18 23:02:03 +00:00
Modules Oops, use correct RUN: line for test. 2014-08-28 21:09:23 +00:00
OpenMP [OPENMP] Improved DSA processing of the loop control variables for loop directives. 2014-07-25 06:27:47 +00:00
PCH Modify behavior of -ast-dump-lookups: if -ast-dump is not also provided, dump 2014-08-11 22:11:07 +00:00
Parser PR20760: Don't assert (and produce better diagnostics) if a default initializer 2014-08-27 03:23:12 +00:00
Preprocessor [ARM] Change default ABI for AArch32 to be "aapcs" (was "apcs-gnu") 2014-08-28 12:15:49 +00:00
Profile InstrProf: Update for LLVM API change 2014-08-01 22:50:16 +00:00
Rewriter Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00
Sema Allow adding dll attributes on certain redecls with a warning if the decl hasn't been used yet (PR20746) 2014-08-27 21:27:40 +00:00
SemaCUDA Automate attribute argument count semantic checking when there are variadic or optional arguments present. With this, the only time you should have to manually check attribute argument counts is when HasCustomParsing is set to true, or when you have variadic arguments that aren't really variadic (like ownership_holds and friends). 2014-07-31 16:37:04 +00:00
SemaCXX During cross field uninitialized checking, when processing an assignment, 2014-08-28 03:23:47 +00:00
SemaObjC Objective-C. Change to method lookup rules to look 2014-08-27 20:34:29 +00:00
SemaObjCXX Allow @synchronized to contextually convert a C++ object to an ObjC object pointer. 2014-08-12 16:20:36 +00:00
SemaOpenCL [OpenCL] Reject reqd_work_group_size(X, Y, Z) where X, Y or Z == 0. 2014-05-19 14:41:38 +00:00
SemaTemplate [C++11] Support for capturing of variable length arrays in lambda expression. 2014-08-28 04:28:19 +00:00
TableGen
Tooling clang/test: Introduce the feature "staticanalyzer" for --enable-clang-static-analyzer. 2014-07-16 12:05:45 +00:00
Unit Let test/Unit/lit.cfg add config.shlibdir to $PATH on DLL platforms like cygming. 2014-07-04 05:11:55 +00:00
VFS Make -Wincomplete-umbrella go through the VFS 2014-06-25 23:53:43 +00:00
.clang-format
CMakeLists.txt Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00
Makefile Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00
TestRunner.sh
cxx-sections.data
lit.cfg Introduce -DLLVM_USE_SANITIZER=Undefined CMake option to build UBSan-ified version of LLVM/Clang. 2014-08-29 00:50:36 +00:00
lit.site.cfg.in Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00
make_test_dirs.pl