summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* R600/SI: Add instruction definitions for more LDS opsMatt Arsenault2014-06-112-0/+104
| | | | llvm-svn: 210675
* R600/SI: Fix backwards names for local atomic instructions.Matt Arsenault2014-06-113-12/+12
| | | | | | | The manual lists them as *_RTN_U32, not *_U32_RTN, which is more consistent with how every other sized instruction is named. llvm-svn: 210674
* R600/SI: Refactor local atomics.Matt Arsenault2014-06-114-41/+90
| | | | | | | Use patterns that will also match the immediate offset to match the normal read / writes. llvm-svn: 210673
* Sink SpecifierInfo into the only class that uses it.Kaelyn Takata2014-06-111-18/+13
| | | | | | | | | | | | | SpecifierInfo is not used outside of NamespaceSpecifierSet except indirectly through NamespaceSpecifierSet's iterator, so clean up the code a bit by moving SpecifierInfo into NamespaceSpecifierSet. Also drop SpecifierInfo's trivial yet verbose constructor since brace initiialization is sufficient in the only two places the constructor was being explicitly called. No functionality changed. llvm-svn: 210672
* Make a couple of helper classes private to TypoCorrectionConsumer.Kaelyn Takata2014-06-111-81/+87
| | | | | | | | | | | The SpecifierInfo and NamespaceSpecifierSet are now only used by TypoCorrectionConsumer, so treat them as the implementation details of TypoCorrectionConsumer that they are. Also make NamespaceSpecifierSet's method names more style guide compliant. No functionality changed. llvm-svn: 210671
* Clean up the TypoCorrectionConsumer's interface a bit.Kaelyn Takata2014-06-111-37/+26
| | | | | | No functionality changed. llvm-svn: 210670
* Move TypoCorrection filtering into the TypoCorrectionConsumer and make it ↵Kaelyn Takata2014-06-113-266/+262
| | | | | | | | | | | | incremental. The only external/visible functional change that fell out of this refactoring is that there was one less case where the typo caching and/or counting didn't work properly. The result is that a test case had to be moved from typo-correction.cpp to typo-correction-pt2.cpp to avoid the hard-coded limit on per file/TU typo correction attempts. llvm-svn: 210669
* Move a few classes to be before TypoCorrectionConsumer.Kaelyn Takata2014-06-111-129/+134
| | | | | | | | | | | This is in preparation for moving TypoCorrection filtering into the TypoCorrectionConsumer, to separate out some of the purely mechanical churn. It also makes some of the method names in NamespaceSpecifierSet be more style guide compliant. No functionality changed. llvm-svn: 210668
* Add loop unroll pragma supportEli Bendersky2014-06-118-79/+156
| | | | | | | | http://reviews.llvm.org/D4089 Patch by Mark Heffernan. llvm-svn: 210667
* R600/SI: Use v_cvt_f32_ubyte* instructionsMatt Arsenault2014-06-1110-5/+397
| | | | | | | This eliminates extra extract instructions when loading an i8 vector to a float vector. llvm-svn: 210666
* SmallVectorTest: Make the deleted member functions private to help MSVC users.David Blaikie2014-06-111-0/+1
| | | | llvm-svn: 210665
* R600/SI: Fix selection failure on scalar_to_vectorMatt Arsenault2014-06-114-11/+122
| | | | | | | | | | | There seem to be only 2 places that produce these, and it's kind of tricky to hit them. Also fixes failure to bitcast between i64 and v2f32, although this for some reason wasn't actually broken in the simple bitcast testcase, but did in the scalar_to_vector one. llvm-svn: 210664
* X86: add stringy name for X86ISD::LCMPXCHG16_DAGTim Northover2014-06-111-0/+1
| | | | | | | I don't know what "target specific node #383" is, and I don't want to have to. llvm-svn: 210663
* Revert r210613 to conform to coding standards.Eric Christopher2014-06-111-1/+1
| | | | | | Thanks Duncan for noticing. llvm-svn: 210662
* Add a FAQ section, with a question about why the std::exception class ↵Marshall Clow2014-06-111-0/+16
| | | | | | destructors live in libc++abi llvm-svn: 210661
* Objective-C. Patch to handle bridge attribute warningsFariborz Jahanian2014-06-112-29/+106
| | | | | | | | correctly when both NSAttributedString and NSMutableAttributedString are specified on the same CFStruct via different typedefs. // rdar://17238954 llvm-svn: 210660
* Implement string_view from the library fundamentals TS (n4023). Also works ↵Marshall Clow2014-06-1180-0/+16908
| | | | | | in C++11 and 03, with reduced functionality (mostly in the area of constexpr) llvm-svn: 210659
* [PPC64LE] Fix vec_sld and vec_vsldoi for little endianBill Schmidt2014-06-112-0/+128
| | | | | | | | | | | | The vec_sld and vec_vsldoi interfaces perform a left-shift on vector arguments for both big and little endian. However, because they rely on the vec_perm interface which is endian-dependent, the permutation vector needs to be reversed for LE to get the proper shift direction. I've added some extra testing for these interfaces for LE in the builtins-ppc-altivec.c. llvm-svn: 210657
* [mips][mips64r6] Improve tests affected by the changes to multiplies and dividesDaniel Sanders2014-06-115-83/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: MIPS32r6/MIPS64r6 support has not been added yet. inlineasm-cnstrnt-reg.ll: Explicitly specify the CPU since it will not work on MIPS32r6/MIPS64r6 when -integrated-as is the default. We can't change the mnemonic since the LO register is an implicit def of mtlo and MIPS32r6/MIPS64r6 has no instructions that use LO. 2008-08-01-AsmInline.ll: Explicitly specify the CPU since MIPS32r6/MIPS64r6 will correctly emit different code and this is a regression test. mips64instrs.ll and mips64muldiv.ll Check registers and the way the multiply is used in m1 divrem.ll Check registers and use multiple filecheck prefixes to limit redundancy Reviewers: vmedic, jkolek, zoran.jovanovic, matheusalmeida Reviewed By: matheusalmeida Subscribers: matheusalmeida Differential Revision: http://reviews.llvm.org/D3894 llvm-svn: 210656
* [asan] Fix mmap-ed coverage with coverage=0.Evgeniy Stepanov2014-06-112-2/+20
| | | | llvm-svn: 210655
* [mips] Implement jr.hb and jalr.hb (Jump Register and Jump and Link Register ↵Matheus Almeida2014-06-1117-1/+189
| | | | | | | | | | | | | | with Hazard Barrier). Summary: These instructions are available in ISAs >= mips32/mips64. For mips32r6/mips64r6, jr.hb has a new encoding format. Reviewers: dsanders Reviewed By: dsanders Differential Revision: http://reviews.llvm.org/D4019 llvm-svn: 210654
* Add AVX512 masked leadz instrinsic support.Cameron McInally2014-06-113-1/+65
| | | | llvm-svn: 210652
* clang-tidy: [use-override] Remove 'override' if 'final' is also present.Daniel Jasper2014-06-113-9/+35
| | | | | | Also, make warning more precise by distinguishing different cases. llvm-svn: 210651
* [asan] Run Android test with asanwrapper.Evgeniy Stepanov2014-06-111-1/+1
| | | | | | This better replicates the target environment. llvm-svn: 210650
* [asan] Exclude non-executable mappings from coverage.Evgeniy Stepanov2014-06-116-15/+21
| | | | llvm-svn: 210649
* [Mips] Fix the bug -- symbol referred by the R_MIPS_TLS_GD relocationSimon Atanasyan2014-06-112-1/+70
| | | | | | does not get an entry in the dynamic symbol table. llvm-svn: 210648
* [asan] One more coverage test.Evgeniy Stepanov2014-06-111-8/+34
| | | | | | | Test that coverage is dumped correctly (and completely) even when the processed gets SIGKILL-ed. llvm-svn: 210647
* [asan] Fix coverage-android test to avoid name conflict.Evgeniy Stepanov2014-06-111-6/+3
| | | | | | And re-enable it. llvm-svn: 210646
* Improve the test for inlining of __no_debug__ functions.Evgeniy Stepanov2014-06-111-1/+1
| | | | llvm-svn: 210645
* [X86] Refactor the logic to select horizontal adds/subs to a helper function.Andrea Di Biagio2014-06-112-108/+201
| | | | | | | | | | | | | | | This patch moves part of the logic implemented by the target specific combine rules added at r210477 to a separate helper function. This should make easier to add more rules for matching AVX/AVX2 horizontal adds/subs. This patch also fixes a problem caused by a wrong check performed on indices of extract_vector_elt dag nodes in input to the scalar adds/subs. New tests have been added to verify that we correctly check indices of extract_vector_elt dag nodes when selecting a horizontal operation. llvm-svn: 210644
* clang-format: Fix pointer/reference detection after decltype.Daniel Jasper2014-06-112-1/+3
| | | | | | | | | | Before: [](const decltype(*a) & value) {} After: [](const decltype(*a)& value) {} llvm-svn: 210643
* MS ABI: Only class templates get complex nullptr pointer-to-member-functionsDavid Majnemer2014-06-111-4/+7
| | | | | | | | | | | r210637 regressed CodeGenCXX/mangle-ms-templates-memptrs.cpp because it did not believe that there is a distinction between class templates and function templates. Sadly, there is. Function templates should behave in a compatible manner with MSVC. llvm-svn: 210642
* Create macro INITIALIZE_TM_PASS.Jiangning Liu2014-06-114-42/+19
| | | | | | | | Pass initialization requires to initialize TargetMachine for back-end specific passes. This commit creates a new macro INITIALIZE_TM_PASS to simplify this kind of initialization. llvm-svn: 210641
* Global merge for global symbols.Jiangning Liu2014-06-119-75/+284
| | | | | | | | This commit is to improve global merge pass and support global symbol merge. The global symbol merge is not enabled by default. For aarch64, we need some more back-end fix to make it really benifit ADRP CSE. llvm-svn: 210640
* Rename global-merge to enable-global-merge.Jiangning Liu2014-06-113-9/+9
| | | | llvm-svn: 210639
* Convert StringMapEntry::Create to use StringRef instead of start/end ↵Craig Topper2014-06-114-18/+15
| | | | | | pointers. Simpliies all in tree call sites. No functional change. llvm-svn: 210638
* MS ABI: Mangle null pointer-to-member-functions compatiblyDavid Majnemer2014-06-112-24/+44
| | | | | | | | | | | | | | | | | | | | | Summary: Previously, we would mangle nullptr pointer-to-member-functions in class templates with a mangling we invented because contemporary versions of MSVC would crash when trying to compile such code. However, VS "14" can successfully compile these sorts of template instantiations. This commit updates our mangling to be compatible with theirs. Reviewers: rnk Reviewed By: rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4059 llvm-svn: 210637
* Try to fix the msvc build.Rafael Espindola2014-06-111-1/+2
| | | | llvm-svn: 210636
* Uses generic_category instead of system_category.Rafael Espindola2014-06-112-25/+25
| | | | | | | Some c++ libraries (libstdc++ at least) don't seem to map to the generic category in in the system_category's default_error_condition. llvm-svn: 210635
* MC: add enumeration of WinEH data encodingSaleem Abdulrasool2014-06-112-2/+21
| | | | | | | | | | | | | | | Most Windows platforms use auxiliary data for unwinding. This information is stored in the .pdata section. The encoding format for the data differs between architectures and Windows variants. Windows MIPS and Alpha use identical formats; Alpha64 is the same with different widths. Windows x86_64 and Itanium share the representation. All Windows CE entries are identical irrespective of the architecture. ARMv7 (Windows [NT] on ARM) has its own format. This enumeration will become the differentiator once the windows EH emission infrastructure is generalised, allowing us to emit the necessary unwinding information for Windows on ARM. llvm-svn: 210634
* MC: clang-format MCAsmInfoSaleem Abdulrasool2014-06-111-528/+459
| | | | | | | Apply clang-format over the header. Reformat the docs to current LLVM style. NFC. llvm-svn: 210633
* CodeGen: Correct linkage of thread_local for OS XDavid Majnemer2014-06-114-14/+26
| | | | | | | | | | | | | The backing store of thread local variables is internal for OS X and all accesses must go through the thread wrapper. However, individual TUs may have inlined through the thread wrapper. To fix this, give the thread wrapper functions WeakAnyLinkage. This prevents them from getting inlined into call-sites. This fixes PR19989. llvm-svn: 210632
* Remove windows_error.Rafael Espindola2014-06-115-101/+50
| | | | | | | | | | MSVC doesn't seem to provide any is_error_code_enum enumeration for the windows errors. Fortunately very few places in llvm have to handle raw windows errors, so we can just construct the corresponding error_code directly. llvm-svn: 210631
* There is no posix_category in std, use generic_category.Rafael Espindola2014-06-113-17/+3
| | | | llvm-svn: 210630
* Missed these from the previous commit.Rafael Espindola2014-06-111-2/+2
| | | | llvm-svn: 210629
* Use cast instead of assert + dyn_castMatt Arsenault2014-06-111-3/+2
| | | | llvm-svn: 210628
* R600: Add helper functions.Matt Arsenault2014-06-112-0/+21
| | | | | | | Extract these from some of my other patches, since this is the only thing really making them dependent on each other. llvm-svn: 210627
* Inherit from error_category instead of _do_message.Rafael Espindola2014-06-111-4/+4
| | | | | | There is no std::_do_message and these classes override message anyway. llvm-svn: 210626
* [AArch64] Add default features for CPUs on AArch64 target.Kevin Qin2014-06-112-0/+30
| | | | | | | | | | For ARM target, we can use CRYPTO and CRC features if we select cortex-a57 by '-mcpu', but for AArch64 target, it doesn't work unless adding with '-mfpu=crypto-neon-fp-armv8'. To keep consistency between front-end and back-end and get end-users more easier to use, we'd better add default feature for CPUs on AArch64 target as well. llvm-svn: 210625
* [mach-o] fix use of resolver functions to not cause duplicate sections.Nick Kledzik2014-06-112-15/+25
| | | | | | | | | The previous commit uncovered a bug in the mach-o writer whereby two __text sections were created. But the test case did not catch that. So I updated the test case to run the linker a second time, reading the output of the first pass. llvm-svn: 210624
OpenPOWER on IntegriCloud