summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix example in documentation of target triple sanitization.Eric Fiselier2014-10-281-1/+1
| | | | llvm-svn: 220804
* Actually remove this test entirely.Fariborz Jahanian2014-10-281-0/+0
| | | | llvm-svn: 220803
* [Objective-C]. revert r220740,r220727Fariborz Jahanian2014-10-284-63/+5
| | | | llvm-svn: 220802
* clang-format: Improve function declaration detection.Daniel Jasper2014-10-282-2/+3
| | | | | | | | | | | | | | | | | Before: ReturnType MACRO FunctionName() {} After: ReturnType MACRO FunctionName() {} This fixes llvm.org/PR21404. I wonder what the motivation for that if-condition was. But as no test breaks, ... llvm-svn: 220801
* PR17730: Add test that we don't crash on this testcase. (The bug is already ↵Richard Smith2014-10-281-0/+11
| | | | | | fixed.) llvm-svn: 220787
* clang-format: Update generated documentation with new flag.Daniel Jasper2014-10-281-0/+3
| | | | llvm-svn: 220786
* PR21367: Don't accept rvalue references as an extension in C++98 mode if ↵Richard Smith2014-10-282-5/+21
| | | | | | we're in a new-type-id or conversion-type-id, since those things can legitimately be followed by a binary && operator. llvm-svn: 220785
* clang-format: [ObjC] Add separate flag to control indentation in blocksDaniel Jasper2014-10-284-43/+58
| | | | | | | | | | Apparently, people are very much divided on what the "correct" indentation is. So, best to give them a choice. The new flag is called ObjCBlockIndentWidth and the default is now set to the same value as IndentWidth for the pre-defined styles. llvm-svn: 220784
* [AVX-512] Expanded rsqrt/rcp instructions to VL subset.Robert Khasanov2014-10-283-20/+719
| | | | | | Refactored multiclass through AVX512_maskable llvm-svn: 220783
* Extend test to check that -D flags do not leak across module boundaries.Richard Smith2014-10-281-3/+20
| | | | llvm-svn: 220782
* clang-format: Fix test after recent flag change.Daniel Jasper2014-10-281-1/+1
| | | | llvm-svn: 220781
* [modules] Allow -I, -D, -W flags to change between building a module andRichard Smith2014-10-282-3/+45
| | | | | | | | explicitly using the resulting .pcm file. Unlike for an implicit module build, we don't need nor want to require these flags to match between the module and its users. llvm-svn: 220780
* [AVX512] Removed special case for cmp instructions in getVectorMaskingNode. ↵Robert Khasanov2014-10-281-15/+4
| | | | | | | | Now cmp intrinsics lower as other intrinsics through VSELECT, and then VSELECT tranforms to AND in PerformSELECTCombine. No functional change. llvm-svn: 220779
* clang-format: Don't put functions on a single line in Google's JavaDaniel Jasper2014-10-281-0/+1
| | | | | | style. llvm-svn: 220778
* [x86] Simplify vector selection if condition value type matches vselect ↵Robert Khasanov2014-10-283-12/+56
| | | | | | | | | value type and true value is all ones or false value is all zeros. This transformation worked if selector is produced by SETCC, however SETCC is needed only if we consider to swap operands. So I replaced SETCC check for this case. Added tests for vselect of <X x i1> values. llvm-svn: 220777
* Add valueDecl() matcher.Samuel Benzaquen2014-10-283-0/+17
| | | | | | | | | | | | Summary: Add valueDecl() matcher. Reviewers: klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D6005 llvm-svn: 220776
* Silencing an "enumeral and non-enumeral type in conditional expression" ↵Aaron Ballman2014-10-281-1/+2
| | | | | | warning; NFC. llvm-svn: 220775
* [AVX512] Bring back vector-shuffle lowering support through broadcastsRobert Khasanov2014-10-286-50/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ffter commit at rev219046 512-bit broadcasts lowering become non-optimal. Most of tests on broadcasting and embedded broadcasting were changed and they doesn’t produce efficient code. Example below is from commit changes (it’s the first test from test/CodeGen/X86/avx512-vbroadcast.ll): define <16 x i32> @_inreg16xi32(i32 %a) { ; CHECK-LABEL: _inreg16xi32: ; CHECK: ## BB#0: -; CHECK-NEXT: vpbroadcastd %edi, %zmm0 +; CHECK-NEXT: vmovd %edi, %xmm0 +; CHECK-NEXT: vpbroadcastd %xmm0, %ymm0 +; CHECK-NEXT: vinserti64x4 $1, %ymm0, %zmm0, %zmm0 ; CHECK-NEXT: retq %b = insertelement <16 x i32> undef, i32 %a, i32 0 %c = shufflevector <16 x i32> %b, <16 x i32> undef, <16 x i32> zeroinitializer ret <16 x i32> %c } Here, 256-bit broadcast was generated instead of 512-bit one. In this patch 1) I added vector-shuffle lowering through broadcasts 2) Removed asserts and branches likes because this is incorrect - assert(Subtarget->hasDQI() && "We can only lower v8i64 with AVX-512-DQI"); 3) Fixed lowering tests llvm-svn: 220774
* Reformat partially, where I touched for whitespace changes.NAKAMURA Takumi2014-10-285-21/+18
| | | | llvm-svn: 220773
* LoopRerollPass.cpp: Use range-based loop. NFC.NAKAMURA Takumi2014-10-281-11/+9
| | | | llvm-svn: 220772
* Untabify and whitespace cleanups.NAKAMURA Takumi2014-10-287-48/+46
| | | | llvm-svn: 220771
* clang/test/Modules/explicit-build.cpp: Tweak to meet win32's backslash.NAKAMURA Takumi2014-10-281-1/+1
| | | | llvm-svn: 220770
* [libcxx] Delay evaluation of __make_tuple_types to prevent blowing the max ↵Eric Fiselier2014-10-283-21/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | template instantiation depth. Fixes Bug #18345 Summary: http://llvm.org/bugs/show_bug.cgi?id=18345 Tuple's constructor and assignment operators for "tuple-like" types evaluates __make_tuple_types unnecessarily. In the case of a large array this can blow the template instantiation depth. Ex: ``` #include <array> #include <tuple> #include <memory> typedef std::array<int, 1256> array_t; typedef std::tuple<array_t> tuple_t; int main() { array_t a; tuple_t t(a); // broken t = a; // broken // make_shared uses tuple behind the scenes. This bug breaks this code. std::make_shared<array_t>(a); } ``` To prevent this from happening we delay the instantiation of `__make_tuple_types` until after we perform the length check. Currently `__make_tuple_types` is instantiated at the same time that the length check . Test Plan: Two tests have been added. One for the "tuple-like" constructors and another for the "tuple-like" assignment operator. Reviewers: mclow.lists, EricWF Reviewed By: EricWF Subscribers: K-ballo, cfe-commits Differential Revision: http://reviews.llvm.org/D4467 llvm-svn: 220769
* Update compile target dependency.Rui Ueyama2014-10-281-1/+1
| | | | | | | test/elf/Mips/hilo16-*.test depends on llvm-mc, so we need to make CMake to build that before running the tests. llvm-svn: 220768
* [OCaml] Enable -g for debug builds.Peter Zotov2014-10-281-4/+3
| | | | | | We don't care about pre-3.12.1 anymore. llvm-svn: 220767
* [OCaml] Fix whitespace.Peter Zotov2014-10-2813-65/+65
| | | | llvm-svn: 220766
* Fix warning text: lower -> higherRichard Trieu2014-10-282-3/+3
| | | | llvm-svn: 220763
* Add breakpoint instruction byte sequences for arm toJason Molenda2014-10-281-0/+28
| | | | | | | | | PlatformLinux::GetSoftwareBreakpointTrapOpcode. Patch by Stephane Sezer. http://reviews.llvm.org/D5923 llvm-svn: 220762
* Clarify the launch style for debugserver to use.Jason Molenda2014-10-283-7/+5
| | | | | | <rdar://problem/18786645> llvm-svn: 220761
* Driver: remove a stray s that propagated in cross-windowsSaleem Abdulrasool2014-10-282-8/+8
| | | | | | The option is '--allow-multiple-definition' not '--allow-multiple-definitions'. llvm-svn: 220760
* Minimize the scope of some variables, NFC.David Blaikie2014-10-281-2/+2
| | | | llvm-svn: 220759
* X86: Implement the vectorcall calling conventionReid Kleckner2014-10-289-36/+227
| | | | | | | | | | | | | | | | | | | | This is a Microsoft calling convention that supports both x86 and x86_64 subtargets. It passes vector and floating point arguments in XMM0-XMM5, and passes them indirectly once they are consumed. Homogenous vector aggregates of up to four elements can be passed in sequential vector registers, but this part is not implemented in LLVM and will be handled in Clang. On 32-bit x86, it is similar to fastcall in that it uses ecx:edx as integer register parameters and is callee cleanup. On x86_64, it delegates to the normal win64 calling convention. Reviewers: majnemer Differential Revision: http://reviews.llvm.org/D5943 llvm-svn: 220745
* AArch64: enable Cortex-A57 FP balancing on Cortex-A53.Tim Northover2014-10-282-5/+12
| | | | | | | | | | Benchmarks have shown that it's harmless to the performance there, and having a unified set of passes between the two cores where possible helps big.LITTLE deployment. Patch by Z. Zheng. llvm-svn: 220744
* Add a test for setting and hitting the C++ Exception throw breakpoint.Jim Ingham2014-10-283-0/+76
| | | | llvm-svn: 220743
* Update for LLVM API change.Rafael Espindola2014-10-281-1/+1
| | | | llvm-svn: 220742
* Remove the PreserveSource linker mode.Rafael Espindola2014-10-285-66/+45
| | | | | | | | | | | | | | | | | | | | I noticed that it was untested, and forcing it on caused some tests to fail: LLVM :: Linker/metadata-a.ll LLVM :: Linker/prefixdata.ll LLVM :: Linker/type-unique-odr-a.ll LLVM :: Linker/type-unique-simple-a.ll LLVM :: Linker/type-unique-simple2-a.ll LLVM :: Linker/type-unique-simple2.ll LLVM :: Linker/type-unique-type-array-a.ll LLVM :: Linker/unnamed-addr1-a.ll LLVM :: Linker/visibility1.ll If it is to be resurrected, it has to be fixed and we should probably have a -preserve-source command line option in llvm-mc and run tests with and without it. llvm-svn: 220741
* Improve on the diagnostic in my last patch and change warningFariborz Jahanian2014-10-272-3/+3
| | | | | | to error. rdar://18768214. llvm-svn: 220740
* AArch64InstrInfo.h: Fix a warning introduced in clang r220703. ↵NAKAMURA Takumi2014-10-271-1/+1
| | | | | | [-Winconsistent-missing-override] llvm-svn: 220739
* Remove unused variable.Richard Smith2014-10-271-2/+1
| | | | llvm-svn: 220738
* [AVX512] Add vpermil variable versionAdam Nemet2014-10-272-2/+41
| | | | | | | | | This is implemented via a multiclass that derives from the vperm imm multiclass. Fixes <rdar://problem/18426089> llvm-svn: 220737
* [AVX512] Clean up avx512_perm_imm to use X86VectorVTInfoAdam Nemet2014-10-271-25/+22
| | | | | | | | No functionality change. No change in X86.td.expanded except that we only set the CD8 attributes for the memory variants. (This shouldn't be used unless we have a memory operand.) llvm-svn: 220736
* [AVX512] Derive vpermil* from avx512_perm_immAdam Nemet2014-10-271-14/+14
| | | | | | | | This used to derive from avx512_pshuf_imm which is confusing. NFC. Compared X86.td.expanded. llvm-svn: 220735
* [AVX512] Fix copy-and-paste bugs in vpermilAdam Nemet2014-10-271-3/+3
| | | | | | | | | 1) i512mem -> f512mem (this is the packed FP input being permuted) 2) element size is 64 bits in EVEX_CD8 for PD. (A good illustration why X86VectorVTInfo is useful) llvm-svn: 220734
* Use the newer/simple API for passing a diagnostic handler to the IR linker.Rafael Espindola2014-10-271-16/+5
| | | | llvm-svn: 220733
* Make it easier to pass a custom diagnostic handler to the IR linker.Rafael Espindola2014-10-273-32/+46
| | | | llvm-svn: 220732
* [modules] Load .pcm files specified by -fmodule-file lazily.Richard Smith2014-10-277-116/+168
| | | | llvm-svn: 220731
* TMP: fix readN & writeN to not encourage UBTim Northover2014-10-2710-345/+375
| | | | llvm-svn: 220730
* Test that the single-threaded lit feature is available iff the corresponding ↵Jonathan Roelofs2014-10-271-0/+18
| | | | | | | | guard is #defined http://reviews.llvm.org/D6006 llvm-svn: 220729
* Fix a stackmap bug introduced in r220710.Pete Cooper2014-10-272-6/+21
| | | | | | | | For a call to not return in to the stackmap shadow, the shadow must end with the call. To do this, we must insert any required nops *before* the call, and not after it. llvm-svn: 220728
* Objective-C ARC [qoi]. Issue diagnostic if __bridge castingFariborz Jahanian2014-10-274-5/+63
| | | | | | to C type a collection literal. rdar://18768214 llvm-svn: 220727
OpenPOWER on IntegriCloud