summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* [x86] Filecheck is case sensitive. Capitalize directives.Chad Rosier2015-12-171-4/+4
| | | | llvm-svn: 255916
* [x86] Filecheck is case sensitive. Capitalize directives.Chad Rosier2015-12-171-48/+48
| | | | llvm-svn: 255915
* [ms-inline-asm] Add support for composite structs in MS inline asmMarina Yatsina2015-12-171-0/+20
| | | | | | | | Add MS inline asm support for structs that contain fields that are also structs. Differential Revision: http://reviews.llvm.org/D15578 llvm-svn: 255890
* Reland "[SEH] Use llvm.x86.seh.recoverfp for SEH filters on x64 as well as ↵Reid Kleckner2015-12-161-1/+2
| | | | | | | | 32bit" I forgot to initialize RecoverFP. llvm-svn: 255731
* Revert "[SEH] Use llvm.x86.seh.recoverfp for SEH filters on x64 as well as ↵Reid Kleckner2015-12-161-2/+1
| | | | | | | | 32bit" This reverts commit r255710. llvm-svn: 255728
* [SEH] Use llvm.x86.seh.recoverfp for SEH filters on x64 as well as 32bitReid Kleckner2015-12-151-1/+2
| | | | llvm-svn: 255710
* Cross-DSO control flow integrity (Clang part).Evgeniy Stepanov2015-12-151-0/+49
| | | | | | | | | | | | | | Clang-side cross-DSO CFI. * Adds a command line flag -f[no-]sanitize-cfi-cross-dso. * Links a runtime library when enabled. * Emits __cfi_slowpath calls is bitset test fails. * Emits extra hash-based bitsets for external CFI checks. * Sets a module flag to enable __cfi_check generation during LTO. This mode does not yet support diagnostics. llvm-svn: 255694
* clang/test/CodeGen/ms_this.cpp: Fix for -Asserts.NAKAMURA Takumi2015-12-151-6/+12
| | | | llvm-svn: 255690
* Fix clang/test/CodeGen/ms_this.cpp.NAKAMURA Takumi2015-12-151-3/+1
| | | | llvm-svn: 255685
* Unsupport test that should not be run on HexagonKrzysztof Parzyszek2015-12-151-0/+4
| | | | llvm-svn: 255667
* [Microsoft][C++] Clang doesn't support a use of "this" pointer inside inline ↵Michael Zuckerman2015-12-151-1/+1
| | | | | | | | | | asm add triple to test Differential Revision: http://reviews.llvm.org/D15115 llvm-svn: 255647
* [Microsoft][C++] Clang doesn't support a use of "this" pointer inside inline asmMichael Zuckerman2015-12-151-0/+49
| | | | | | | | | | | | | | | | | | | | | Clang doesn’t support a use of “this” pointer inside inline asm. When I tried to compile a class or a struct (see example) with an inline asm that contains "this" pointer. Clang returns with an error. This patch fixes that. error: expected unqualified-id For example: ''' struct A { void f() { __asm mov eax, this // error: expected unqualified-id } }; ''' Differential Revision: http://reviews.llvm.org/D15115 llvm-svn: 255645
* [PowerPC] Fix test/CodeGen/ppc-sfvarargsPetar Jovanovic2015-12-141-1/+1
| | | | | | | | | The issue seems to be that .ll file may either use number of register value or alias %numUsedRegs, so the check needs to cover both cases. This will hopefully fix the last regression introduced by r255515. llvm-svn: 255539
* [PowerPC] Fix make-check issuesPetar Jovanovic2015-12-141-2/+2
| | | | | | | Previous change r255515 introduced a couple of issues likely caused by a different configure setup. llvm-svn: 255533
* [Power PC] add soft float support for ppc32Petar Jovanovic2015-12-141-0/+17
| | | | | | | | | | | | This patch enables soft float support for ppc32 architecture and fixes the ABI for variadic functions. This is the first in a set of patches for soft float support in LLVM. Patch by Strahinja Petrovic. Differential Revision: http://reviews.llvm.org/D13351 llvm-svn: 255515
* [Hexagon] Xfail two tests that fail due to over-aligning arraysKrzysztof Parzyszek2015-12-142-0/+9
| | | | llvm-svn: 255510
* [Hexagon] Update default paths and argumentsKrzysztof Parzyszek2015-12-141-1/+1
| | | | | | | | | - Removed support for hexagonv3 and earlier. - Added handling of hexagonv55 and hexagonv60. - Added handling of target features (hvx, hvx-double). - Updated paths to reflect current directory layout. llvm-svn: 255502
* Update clang to use the updated LLVM EH instructionsDavid Majnemer2015-12-123-88/+50
| | | | | | | | | | Depends on D15139. Reviewers: rnk Differential Revision: http://reviews.llvm.org/D15140 llvm-svn: 255423
* Revert r254647.Easwaran Raman2015-12-121-9/+0
| | | | | | | | Reason: The testcase fails in many architectures. Differential Revision: http://reviews.llvm.org/D15163 llvm-svn: 255416
* Attach maximum function count to Module when using PGO modeEaswaran Raman2015-12-121-0/+9
| | | | | | | | | This sets the maximum entry count among all functions in the program to the module using module flags. This allows the optimizer to use this information. Differential Revision: http://reviews.llvm.org/D15163 llvm-svn: 255397
* Mark MS inline ASM 'nodplicate' it it has labels (PR23715)Hans Wennborg2015-12-101-2/+5
| | | | | | | | Duplicating it can lead to labels being defined twice. Differential revision: http://reviews.llvm.org/D15399 llvm-svn: 255201
* [X86][AVX2] Stripped backend codegen testsSimon Pilgrim2015-12-081-207/+1
| | | | | | | | As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible. The llvm tests will (re)added in a future commit. llvm-svn: 255050
* Explicitly permit undefined behavior in constant initializers for globalRichard Smith2015-12-081-2/+2
| | | | | | | | variables in C, in the cases where we can constant-fold it to a value regardless (such as floating-point division by zero and signed integer overflow). Strictly enforcing this rule breaks too much code. llvm-svn: 254992
* Remove target specifier from new testsTeresa Johnson2015-12-071-4/+4
| | | | | | | | | Hopefully fix the remaining bot failure from r254927. Remove target specification since it shouldn't be needed, and this causes an error when trying to check the pass execution structure in test/CodeGen/thinlto_backend.c on non-x86 arches. llvm-svn: 254940
* Adjust test to fix bot error from r254927.Teresa Johnson2015-12-071-1/+1
| | | | | | Remove the part of the error message that may vary across systems. llvm-svn: 254938
* [ThinLTO] Option to invoke ThinLTO backend passes and importingTeresa Johnson2015-12-071-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Adds new option -fthinlto-index=<file> to invoke the LTO pipeline along with function importing via clang using the supplied function summary index file. This supports invoking the parallel ThinLTO backend processes in a distributed build environment via clang. Additionally, this causes the module linker to be invoked on the bitcode file being compiled to perform any necessary promotion and renaming of locals that are exported via the function summary index file. Add a couple tests that confirm we get expected errors when we try to use the new option on a file that isn't bitcode, or specify an invalid index file. The tests also confirm that we trigger the expected function import pass. Depends on D15024 Reviewers: joker.eph, dexonsmith Subscribers: joker.eph, davidxl, cfe-commits Differential Revision: http://reviews.llvm.org/D15025 llvm-svn: 254927
* [X86][3DNow!] Stripped backend codegen testsSimon Pilgrim2015-12-051-26/+0
| | | | | | | | As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible. The llvm tests will (re)added in a future commit llvm-svn: 254849
* Updated test names to match the intrinsics being testedSimon Pilgrim2015-12-052-14/+14
| | | | llvm-svn: 254848
* [X86][F16C] Stripped backend codegen testsSimon Pilgrim2015-12-051-6/+4
| | | | | | | | | | As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible. The llvm tests will (re)added in a future commit I will update PR24580 on this new plan llvm-svn: 254847
* LLDB JIT needs android vector passing rules.Stephen Hines2015-12-041-0/+68
| | | | | | | | | | | | | | | | Summary: Looking into some recent issues with LLDBs expression parser highlighted that upstream clang passes vectors types differently to Android Open Source Project's clang for Arm Android targets. This patch reflects the changes present in the AOSP and allows LLDB's JIT expression evaluation to work correctly for Arm Android targets when passing vectors. This is submitted with consent of the original author Stephen Hines. Reviewers: asl, rsmith, ADodds, rnk Subscribers: rnk, aemerson, tberghammer, danalbert, srhines, cfe-commits, pirama Differential Revision: http://reviews.llvm.org/D14639 llvm-svn: 254682
* [PowerPC] Fix calculating address of arguments on stack for variadic funcPetar Jovanovic2015-12-042-4/+9
| | | | | | | | | | | Fix calculating address of arguments larger than 32 bit on stack for variadic functions (rounding up address to alignment) on ppc32 architecture. Patch by Strahinja Petrovic. Differential Revision: http://reviews.llvm.org/D14871 llvm-svn: 254670
* Add tests for pass_object_size.George Burgess IV2015-12-031-0/+353
| | | | | | | | These additions were meant to go in as a part of r254554; while it's certainly nice to have new functionality, it's nicer if we have tests to go with it. :) llvm-svn: 254632
* Revert "Fix for merging decls in pragma weak Calling ↵Alexander Kornienko2015-12-031-9/+0
| | | | | | | | | | | | CheckFunctionDeclaration so that 2 decls for the 'weak' are merged. Differential Revision: http://reviews.llvm.org/D13048" This reverts commit r254143 which introduces a crash on the following input: f(char *); g(char *); #pragma weak f = g int g(char *p) {} llvm-svn: 254605
* [X86] Stripped backend codegen testsSimon Pilgrim2015-12-039-1285/+498
| | | | | | | | | | As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible. The llvm tests will (re)added in a future commit I will update PR24580 on this new plan llvm-svn: 254594
* generalize CHECK lines to make buildbot happySanjay Patel2015-12-031-2/+2
| | | | llvm-svn: 254576
* PR17381: Treat undefined behavior during expression evaluation as an unmodeledRichard Smith2015-12-032-2/+12
| | | | | | | | | | | | | | | | | | | | | side-effect, so that we don't allow speculative evaluation of such expressions during code generation. This caused a diagnostic quality regression, so fix constant expression diagnostics to prefer either the first "can't be constant folded" diagnostic or the first "not a constant expression" diagnostic depending on the kind of evaluation we're doing. This was always the intent, but didn't quite work correctly before. This results in certain initializers that used to be constant initializers to no longer be; in particular, things like: float f = 1e100; are no longer accepted in C. This seems appropriate, as such constructs would lead to code being executed if sanitizers are enabled. llvm-svn: 254574
* change an assert when generating fmuladd to an ordinary 'if' check (PR25719)Sanjay Patel2015-12-031-0/+12
| | | | | | | | | | | | | | | | | | | We don't want to generate fmuladd if there's a use of the fmul expression, but this shouldn't be an assert. The test case is derived from the commit message for r253337: http://reviews.llvm.org/rL253337 That commit reverted r253269: http://reviews.llvm.org/rL253269 ...but the bug exists independently of the default fp-contract setting. It just became easier to hit with that change. PR25719: https://llvm.org/bugs/show_bug.cgi?id=25719 Differential Revision: http://reviews.llvm.org/D15165 llvm-svn: 254573
* fix typos; NFCSanjay Patel2015-12-021-2/+2
| | | | llvm-svn: 254561
* Teaches clang about Cortex-A35.Christof Douma2015-12-021-0/+1
| | | | | | | | Adds support for the new Cortex-A35 ARMv8-A core. Differential Revision: http://reviews.llvm.org/D15142 llvm-svn: 254505
* [X86] _mm256_permutevar8x32_ps should take an integer vector for its shuffle ↵Craig Topper2015-11-291-1/+1
| | | | | | index input. llvm-svn: 254270
* [X86][SSE2] Added SSE2 IR + assembly codegen builtin testsSimon Pilgrim2015-11-291-0/+1656
| | | | | | Improved tests as discussed in PR24580 llvm-svn: 254262
* clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c REQUIRES both arm and aarch64.NAKAMURA Takumi2015-11-291-0/+1
| | | | llvm-svn: 254252
* ARM v8.1a adds Advanced SIMD instructions for Rounding Double MultiplyAlexandros Lamprineas2015-11-292-0/+249
| | | | | | | | | | Add/Subtract. Add missing tests that accidentally were not committed in rL254250. Differential Revision: http://reviews.llvm.org/D14982 llvm-svn: 254251
* [mips] Interrupt attribute support.Daniel Sanders2015-11-271-0/+64
| | | | | | | | | | | | | | Summary: This patch adds support for the interrupt attribute for mips32r2+. Patch by Simon Dardis. Reviewers: dsanders, aaron.ballman Subscribers: aaron.ballman, cfe-commits Differential Revision: http://reviews.llvm.org/D10802 llvm-svn: 254205
* Revert r254203: [mips] Interrupt attribute support.Daniel Sanders2015-11-271-64/+0
| | | | | | I forgot to credit the author. llvm-svn: 254204
* [mips] Interrupt attribute support.Daniel Sanders2015-11-271-0/+64
| | | | | | | | | | | | Summary: This patch adds support for the interrupt attribute for mips32r2+. Reviewers: dsanders, aaron.ballman Subscribers: aaron.ballman, cfe-commits Differential Revision: http://reviews.llvm.org/D10802 llvm-svn: 254203
* Fix for merging decls in pragma weakAlexander Musman2015-11-261-0/+9
| | | | | | | Calling CheckFunctionDeclaration so that 2 decls for the 'weak' are merged. Differential Revision: http://reviews.llvm.org/D13048 llvm-svn: 254143
* Make tbm-builtins.c as X86 specific unit testSumanth Gundapaneni2015-11-231-0/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D14887 llvm-svn: 253887
* Disable frame pointer elimination when using -pg Xinliang David Li2015-11-231-0/+14
| | | | | | | | | | | | | | | | (Re-apply patch after bug fixing) This diff makes sure that the driver does not pass -fomit-frame-pointer or -momit-leaf-frame-pointer to the frontend when -pg is used. Currently, clang gives an error if -fomit-frame-pointer is used in combination with -pg, but -momit-leaf-frame-pointer was forgotten. Also, disable frame pointer elimination in the frontend when -pg is set. Patch by Stefan Kempf. llvm-svn: 253886
* Revert r253846 (build bot failure))Xinliang David Li2015-11-231-13/+0
| | | | llvm-svn: 253851
OpenPOWER on IntegriCloud