llvm-project/clang/test
David Majnemer 0392cf892f CodeGen: Don't completely mess-up optimized atomic libcalls
Summary:
We did a great job getting this wrong:
- We messed up which LLVM IR types to use for arguments and return values.
  The optimized libcalls use integer types for values.

  Clang attempted to use the IR type which corresponds to the value
  passed in instead of using an appropriately sized integer type.  This
  would result in violations of the ABI for, as an example, floating
  point types.
- We didn't bother recording the result of the atomic libcall in the
  destination memory.

Instead, call the functions with arguments matching the type of the
libcall prototype's parameters.

This fixes PR20780.

Differential Revision: http://reviews.llvm.org/D5098

llvm-svn: 216714
2014-08-29 07:27:49 +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 When completing Objective-C instance method invocations, perform a contextual conversion to an Objective-C pointer type of the target expression if needed. This fixes code completion of method invocations where the target is a smart pointer that has an explicit conversion operator to an Objective-C type. 2014-02-28 19:07:22 +00:00
CodeGen CodeGen: Don't completely mess-up optimized atomic libcalls 2014-08-29 07:27:49 +00:00
CodeGenCUDA Move all CUDA testing inputs to Inputs/ subdirectory inside the tests. 2014-04-28 22:21:28 +00:00
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