summaryrefslogtreecommitdiffstats
path: root/clang/test
Commit message (Collapse)AuthorAgeFilesLines
...
* [clang][AVX512][Builtin] adding intrinsics for vf{n}madd{ss|sd} and ↵Michael Zuckerman2016-04-221-0/+287
| | | | | | | | vf{n}sub{ss|sd} instruction set Differential Revision: http://reviews.llvm.org/D19320 llvm-svn: 267135
* [Clang][AVX512][BUILTIN] Adding scalar intrinsics for rsqrt14 ,rcp14, getexp ↵Michael Zuckerman2016-04-221-2/+144
| | | | | | | | and getmant instruction set Differential Revision: http://reviews.llvm.org/D19326 llvm-svn: 267129
* [OPENMP] Fix for PR27463: Privatizing struct fields with array typeAlexey Bataev2016-04-221-8/+17
| | | | | | | | | | causes code generation failure. The codegen part of firstprivate clause for member decls used type of original variable without skipping reference type from OMPCapturedExprDecl. Patch fixes this problem. llvm-svn: 267125
* [index] Add SymbolSubKinds for ObjC IB annotations.Argyrios Kyrtzidis2016-04-221-0/+12
| | | | llvm-svn: 267118
* [index] Add a SymbolSubKind for an ObjC unit test.Argyrios Kyrtzidis2016-04-221-0/+36
| | | | llvm-svn: 267117
* [OPENMP] Fix for LCV in simd directives in explicit clauses.Alexey Bataev2016-04-224-9/+171
| | | | | | | | If loop control variable for simd-based directives is explicitly marked as linear/lastprivate in clauses, codegen for such construct would crash. Patch fixes this problem. llvm-svn: 267101
* Try to get test passing on OS X (see comment at top of file).Nico Weber2016-04-221-2/+2
| | | | llvm-svn: 267089
* [esan] EfficiencySanitizer driver flagsDerek Bruening2016-04-215-0/+65
| | | | | | | | | | | | | | | | Summary: Adds a framework to enable the instrumentation pass for the new EfficiencySanitizer ("esan") family of tools. Adds a flag for esan's cache fragmentation tool via -fsanitize=efficiency-cache-frag. Adds appropriate tests for the new flag. Reviewers: eugenis, vitalybuka, aizatsky, filcab Subscribers: filcab, kubabrecka, llvm-commits, zhaoqin, kcc Differential Revision: http://reviews.llvm.org/D19169 llvm-svn: 267059
* Split interesting warnings off from -Wfloat-conversionRichard Trieu2016-04-213-15/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Restructure the implict floating point to integer conversions so that interesting sub-groups are under different flags. Breakdown of warnings: No warning: Exact conversions from floating point to integer: int x = 10.0; int x = 1e10; -Wliteral-conversion - Floating point literal to integer with rounding: int x = 5.5; int x = -3.4; -Wfloat-conversion - All conversions not covered by the above two: int x = GetFloat(); int x = 5.5 + 3.5; -Wfloat-zero-conversion - The expression converted has a non-zero floating point value that gets converted to a zero integer value, excluded the cases falling under -Wliteral-conversion. Subset of -Wfloat-conversion. int x = 1.0 / 2.0; -Wfloat-overflow-conversion - The floating point value is outside the range of the integer type, exluding cases from -Wliteral conversion. Subset of -Wfloat-conversion. char x = 500; char x = -1000; -Wfloat-bool-conversion - Any conversion of a floating point type to bool. Subset of -Wfloat-conversion. if (GetFloat()) {} bool x = 5.0; -Wfloat-bool-constant-conversion - Conversion of a compile time evaluatable floating point value to bool. Subset of -Wfloat-bool-conversion. bool x = 1.0; bool x = 4.0 / 20.0; Also add EvaluateAsFloat to Sema, which is similar to EvaluateAsInt, but for floating point values. llvm-svn: 267054
* clang-cl: Don't assert on using /Yc with non-source files, PR27450Nico Weber2016-04-211-1/+16
| | | | | | Move phase handling after input type validation. llvm-svn: 267040
* [x86] Force mixes asm syntax test to check for x86Renato Golin2016-04-211-0/+1
| | | | llvm-svn: 266993
* [Hexagon] Define architecture version macros for hexagonv55Krzysztof Parzyszek2016-04-211-0/+6
| | | | llvm-svn: 266989
* [Clang][AVX512][BuiltIn] Adding intrinsics of VGATHER{DPS|DPD} , ↵Michael Zuckerman2016-04-213-0/+223
| | | | | | | | VPGATHER{QD|QQ|DD|DQ} and VGATHERPF{0|1}{DPS|QPS|DPD|QPD} instruction set . Differential Revision: http://reviews.llvm.org/D19224 llvm-svn: 266983
* Correctly parse GCC-style asm line following MS-style asm line.Denis Zobnin2016-04-211-0/+28
| | | | | | | | | | | | | | Quit parsing MS-style inline assembly if the following statement has GCC style. Enables compilation of code like void f() { __asm mov ebx, ecx __asm__("movl %ecx, %edx"); } Differential Revision: http://reviews.llvm.org/D18652 llvm-svn: 266976
* Back out the test case for r266973 for now.Benjamin Kramer2016-04-211-2/+0
| | | | | | | It breaks on windows, need to investigate. It's not testing the important part of that change anyways. llvm-svn: 266975
* [Tooling] Inject -resource-dir instead of overwriting argv[0].Benjamin Kramer2016-04-211-0/+2
| | | | | | | | | This allows using a different standard library (the one from argv[0] in the compilation database) with the correct builtins. Differential Revision: http://reviews.llvm.org/D19356 llvm-svn: 266973
* Compilation for Intel MCU (Part 1/3)Andrey Turetskiy2016-04-211-0/+18
| | | | | | | | | | | Add -miamcu option which: * Sets IAMCU triple * Sets IAMCU ABI * Enforces static compilation Differential Revision: http://reviews.llvm.org/D18398 llvm-svn: 266972
* Remove the (ignored) -Wreceived-is-weak diagnostic.Bob Wilson2016-04-211-3/+2
| | | | | | | | We kept this around for a while since Xcode 6 and earlier had a build setting for this warning. It was removed in Xcode 7 so there should be no need for this warning now. llvm-svn: 266938
* Module Debugging: Emit the canonical debug info for Objective-C classesAdrian Prantl2016-04-203-3/+24
| | | | | | | | | | | | | in the compile unit that contains their implementation even if their interface is declared in a module. The private @implementation of an @interface may have additional hidden ivars so we should not defer to the public version of the type that is found in the module. <rdar://problem/25541798> llvm-svn: 266937
* [OPENMP] Codegen for untied tasks.Alexey Bataev2016-04-203-13/+53
| | | | | | | | If the untied clause is present on a task construct, any thread in the team can resume the task region after a suspension. Patch adds proper codegen for untied tasks. llvm-svn: 266853
* [Clang] Remove unwanted --check-prefix=CHECK from unit tests. NFC.Mandeep Singh Grang2016-04-2014-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Removed unwanted --check-prefix=CHECK from the following unit tests: test/CXX/special/class.copy/implicit-move-def.cpp test/CodeGen/cleanup-destslot-simple.c test/CodeGen/inline-asm-immediate-ubsan.c test/CodeGen/mips-interrupt-attr.c test/CodeGenCXX/cfi-stats.cpp test/CodeGenCXX/copy-constructor-elim.cpp test/CodeGenCXX/microsoft-templ-uuidof.cpp test/CodeGenCXX/vtable-linkage.cpp test/CodeGenObjC/messages-2.m test/Driver/noinline.c test/Index/remap-load.c test/Index/retain-comments-from-system-headers.c test/OpenMP/task_if_codegen.cpp test/Preprocessor/comment_save_macro.c Patch by: Mandeep Singh Grang (mgrang) Reviewers: rafael, ABataev, rengolin Projects: #clang-c Differential Revision: http://reviews.llvm.org/D19232 llvm-svn: 266843
* MarkEOLs should only be true for clang-cl.exe.Stephen Hines2016-04-202-1/+13
| | | | | | | | | | | | | | | | | | | | | Summary: https://llvm.org/bugs/show_bug.cgi?id=27396 This fixes an issue in response files where "\r\n" was being interpreted as two EOL markers (i.e. we consumed the '\r' as terminating the previous token, and then parsed the '\n' as a significant EOL). This breaks response files where joined arguments get split across multiple lines (like "-x\r\nc"). I also fixed an accidental issue in the response-file.c test, where the response file is appended to, instead of being overwritten. Reviewers: rnk Subscribers: danalbert, llvm-commits Differential Revision: http://reviews.llvm.org/D19289 llvm-svn: 266840
* [AArch64] Fix D19098 fallout.Marcin Koscielnicki2016-04-191-1/+1
| | | | | | | | | | The intrinsic is now called llvm.thread.pointer, not llvm.aarch64.thread.pointer. Also, the code handling it in CGBuiltin.cpp is dead - it's already covered by GCCBuiltin. Remove it. Differential Revision: http://reviews.llvm.org/D19099 llvm-svn: 266817
* cc1as: Don't crash when CIE is requested and no DWARF version is specified.Adrian Prantl2016-04-191-0/+37
| | | | | | | | | This patch changes the default DWARF version for cc1as from invalid 0 to 2, which should be the lowest common denominator on all platforms. rdar://problem/24735813 llvm-svn: 266814
* [ARM NEON] Define vfms_f32 on ARM, and all vfms using vfma.Ahmed Bougacha2016-04-195-100/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r259537 added vfma/vfms to armv7, but the builtin was only lowered on the AArch64 side. Instead of supporting it on ARM, get rid of it. The vfms builtin lowered to: %nb = fsub float -0.0, %b %r = @llvm.fma.f32(%a, %nb, %c) Instead, define the operation in terms of vfma, and swap the multiplicands. It now lowers to: %na = fsub float -0.0, %a %r = @llvm.fma.f32(%na, %b, %c) This matches the instruction more closely, and lets current LLVM generate the "natural" operand ordering: fmls.2s v0, v1, v2 instead of the crooked (but equivalent): fmls.2s v0, v2, v1 Except for theses changes, assembly is identical. LLVM accepts both commutations, and the LLVM tests in: test/CodeGen/AArch64/arm64-fmadd.ll test/CodeGen/AArch64/fp-dp3.ll test/CodeGen/AArch64/neon-fma.ll test/CodeGen/ARM/fusedMAC.ll already check either the new one only, or both. Also verified against the test-suite unittests. llvm-svn: 266807
* ObjC Class Property: don't emit class properties on old deployment targets.Manman Ren2016-04-191-2/+13
| | | | | | | | For old deployment targets, emit nil for all class property lists. rdar://25616128 llvm-svn: 266800
* [CUDA] Add a test for r266496 (raise an error if a CUDA installation isn't ↵Justin Lebar2016-04-191-0/+12
| | | | | | found) llvm-svn: 266796
* [builtin_expect] tighten checks, add test, add commentsSanjay Patel2016-04-191-25/+50
| | | | llvm-svn: 266788
* [CodeGen] Widen non-power-of-2 vector HFA base types.Ahmed Bougacha2016-04-193-29/+80
| | | | | | | | | | | | | | | | | | | | | | | Currently, for the ppc64--gnu and aarch64 ABIs, we recognize: typedef __attribute__((__ext_vector_type__(3))) float v3f32; typedef __attribute__((__ext_vector_type__(16))) char v16i8; struct HFA { v3f32 a; v16i8 b; }; as an HFA. Since the first type encountered is used as the base type, we pass the HFA as: [2 x <3 x float>] Which leads to incorrect IR (relying on padding values) when the second field is used. Instead, explicitly widen the vector (after size rounding) in isHomogeneousAggregate. Differential Revision: http://reviews.llvm.org/D18998 llvm-svn: 266784
* Pass dwarf-version to cc1as.Douglas Katzman2016-04-191-0/+5
| | | | | | Fix PR26999 - crashing in cc1as with any '*bsd' target. llvm-svn: 266775
* [Clang][Builtin][AVX512] Adding intrinsics for VGETMANT{PD|PS} and ↵Michael Zuckerman2016-04-192-0/+216
| | | | | | | | VGETEXP{PD|PS} instruction set Differential Revision: http://reviews.llvm.org/D19197 llvm-svn: 266763
* Revert "[OPENMP] Codegen for untied tasks."Alexey Bataev2016-04-193-53/+13
| | | | | | This reverts commit r266754. llvm-svn: 266755
* [OPENMP] Codegen for untied tasks.Alexey Bataev2016-04-193-13/+53
| | | | | | | | If the untied clause is present on a task construct, any thread in the team can resume the task region after a suspension. Patch adds proper codegen for untied tasks. llvm-svn: 266754
* Revert r266747 (Compilation for Intel MCU (Part 1/3)) since it breaks a few ↵Andrey Turetskiy2016-04-191-21/+0
| | | | | | buildbots. llvm-svn: 266753
* Compilation for Intel MCU (Part 1/3)Andrey Turetskiy2016-04-191-0/+21
| | | | | | | | | | | Add -miamcu option which: * Sets IAMCU triple * Sets IAMCU ABI * Enforces static compilation Differential Revision: http://reviews.llvm.org/D18398 llvm-svn: 266747
* [Clang][AVX512][BUILTIN] Adding intrinsics support to VEXTRACT{I|F} and ↵Michael Zuckerman2016-04-194-1/+342
| | | | | | | | VINSERT{I|F} instruction set Differential Revision: http://reviews.llvm.org/D19097 llvm-svn: 266745
* Revert "[OPENMP] Codegen for untied tasks."Alexey Bataev2016-04-193-53/+13
| | | | | | This reverts commit 266722. llvm-svn: 266724
* [OPENMP] Codegen for untied tasks.Alexey Bataev2016-04-193-13/+53
| | | | | | If the untied clause is present on a task construct, any thread in the team can resume the task region after a suspension. Patch adds proper codegen for untied tasks. llvm-svn: 266722
* Warn if function or variable cannot be implicitly instantiatedSerge Pavlov2016-04-1910-0/+157
| | | | | | | | | | | | With this patch compiler emits warning if it tries to make implicit instantiation of a template but cannot find the template definition. The warning can be suppressed by explicit instantiation declaration or by command line options -Wundefined-var-template and -Wundefined-func-template. The implementation follows the discussion of http://reviews.llvm.org/D12326. Differential Revision: http://reviews.llvm.org/D16396 llvm-svn: 266719
* [CUDA] Add --no-cuda-noopt-debug, which disables --cuda-noopt-debug.Justin Lebar2016-04-191-0/+5
| | | | | | | | | | Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D19251 llvm-svn: 266708
* [CUDA] Add --cuda-compile-host-device, which overrides --cuda-host-only and ↵Justin Lebar2016-04-192-9/+38
| | | | | | | | | | | | | | | | --cuda-device-only. Summary: This completes the flag's tristate, letting you override it at will on the command line. Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D19248 llvm-svn: 266707
* Add a test case to check a member's default constructor is also run.Akira Hatanaka2016-04-191-0/+4
| | | | | | This is a follow-up to r266645. llvm-svn: 266706
* [ObjC++] Fix crash when emitting debug info for a block member capturing this.Adrian Prantl2016-04-181-0/+19
| | | | | | rdar://problem/23871824 llvm-svn: 266698
* Mark -Xclang as being a compilation-only option so that the clang driverRichard Smith2016-04-181-0/+12
| | | | | | | | | doesn't warn if it's passed to a link action. This matches the behavior for most other compilation-only options (including things like -f flags), and is necessary to suppress warnings on systems like cmake that always pass all compile flags to the linker. llvm-svn: 266695
* [sanitizer-coverage] make sure coverage flags are not passed to clang if the ↵Kostya Serebryany2016-04-181-0/+1
| | | | | | driver thinks they are unused llvm-svn: 266673
* [Hexagon] V60/HVX builtin definitions for clangKrzysztof Parzyszek2016-04-181-0/+2917
| | | | | | | | The builtins already exist in LLVM, but are not exposed to the C/C++ programmers. This patch adds all the information about the builtins needed for clang, as well as a test for all available intrinsics. llvm-svn: 266671
* Block: Fix a crash when we have type attributes or qualifiers with omittedManman Ren2016-04-182-9/+52
| | | | | | | | | | | | return type. Emit a warning instead of crashing in IR generation. rdar://22762981 Differential Revision: http://reviews.llvm.org/D18567 llvm-svn: 266648
* [Hexagon] Define macros __HVX__ and __HVXDBL__ when appropriateKrzysztof Parzyszek2016-04-181-0/+26
| | | | llvm-svn: 266647
* [Parser][ObjC] Make sure c++11 in-class initialization is done when theAkira Hatanaka2016-04-181-0/+17
| | | | | | | | | | | | | | | | | | | | constructor's definition is in an implementation block. Without this commit, ptr doesn't get initialized to null in the following code: struct S { S(); void *ptr = nullptr; }; @implementation I S::S() {} @end rdar://problem/25693624 llvm-svn: 266645
* Clarifying the wording of this diagnostic; it confused parameter and argument.Aaron Ballman2016-04-182-7/+7
| | | | llvm-svn: 266644
OpenPOWER on IntegriCloud