summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [RDF] Allow unlinking ref nodes from data-flow chains onlyKrzysztof Parzyszek2016-01-183-14/+23
| | | | llvm-svn: 258073
* Add an AST matcher for checking whether a function is defaulted.Aaron Ballman2016-01-184-0/+32
| | | | | | Patch by Jonathan Coe. llvm-svn: 258072
* [TableGen] Use FoldingSets instead of DenseMaps to unique UnOpInit, ↵Craig Topper2016-01-182-42/+88
| | | | | | BinOpInit and TernOpInit. This remove the memory needed to store the key for the DenseMap. NFC llvm-svn: 258071
* Augments r258042; changes the AST matcher tests to use matchesNot and ↵Aaron Ballman2016-01-182-2/+48
| | | | | | EXPECT_TRUE instead of EXPECT_FALSE. Adds a matcher test to ensure that static member functions are properly handled. Generates the documentation from the matcher. llvm-svn: 258070
* Clarify the comment and code a bit. NFC.Rafael Espindola2016-01-181-3/+4
| | | | llvm-svn: 258069
* [TableGen] Fix an assert I missed in r258063.Craig Topper2016-01-181-1/+1
| | | | llvm-svn: 258068
* TargetLowering: Improve handling of (setcc ([sz]ext x) 0, cc) in SimplifySetCCTom Stellard2016-01-182-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When SimplifySetCC sees a setcc node that compares the result of a value extension operation with a constant, it tries to simplify the setcc node by eliminating the extension and shrinking the constant. If shrinking the inputs to setcc is deemed not desirable by the target (e.g. the target does not want a setcc comparing i1 values), then it is still possible to optimize this sequence in some cases. This patch adds the following combines to SimplifySetCC when shrinking setcc inputs is not desirable: (setcc ([sz]ext (setcc x, y, cc)), 0, setne) -> (setcc (x, y, cc)) (setcc ([sz]ext (setcc x, y, cc)), 0, seteq) -> (setcc (x, Y, !cc)) There are no tests for this yet, but once AMDGPU correctly implements TargetLowering::isTypeDesirableForOp(), this new combine will be exercised by the existing CodeGen/AMDGPU/setcc-opt.ll test. Reviewers: resistor, arsenm Subscribers: jroelofs, arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15034 llvm-svn: 258067
* [TableGen] Merge the SuperClass Record and SMRange vector a single vector. ↵Craig Topper2016-01-183-18/+17
| | | | | | This removes the state needed to manage the extract vector. NFC llvm-svn: 258066
* [TableGen] Merge the SuperClass Record and SMRange vector into a single ↵Craig Topper2016-01-185-35/+32
| | | | | | vector. This removes the state needed to manage the extra vector thus reducing the size of the Record class. NFC llvm-svn: 258065
* [TableGen] Reorder fields in Record class to optimize memory usage. NFCCraig Topper2016-01-181-7/+8
| | | | llvm-svn: 258064
* [TableGen] Allocate the Init pointer array for BitsInit/ListInit after the ↵Craig Topper2016-01-182-29/+38
| | | | | | BitsInit/ListInit object itself. Saves a bit of memory. NFC llvm-svn: 258063
* combine clauses with same output ; NFCISanjay Patel2016-01-181-8/+3
| | | | llvm-svn: 258062
* [analyzer] Nullability: Look through implicit casts when suppressing ↵Devin Coughlin2016-01-184-9/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | warnings on return. In r256567 I changed the nullability checker to suppress warnings about returning a null value from a function/method with a non-null return type when the type of the returned expression is itself nonnull. This enables the programmer to silence nullability warnings by casting to _Nonnull: return (SomeObject * _Nonnull)nil; Unfortunately, under ObjC automated reference counting, Sema adds implicit casts to _Nonnull to return expressions of nullable or unspecified types in functions with non-null function/method return types. With r256567, these casts cause all nullability warnings for returns of reference-counted types to be suppressed under ARC, leading to false negatives. This commit updates the nullability checker to look through implicit casts before determining the type of the returned expression. It also updates the tests to turn on ARC for the nullability_nullonly.mm testfile and adds a new testfile to test when ARC is turned off. rdar://problem/24200117 llvm-svn: 258061
* [llvm-readobj][ELF] s/dyn_rela_/dyn_rel_/ No functional changes.Simon Atanasyan2016-01-181-16/+16
| | | | | | | Follow up to r258001. These template functions might return both REL and RELA relocations. The 'rel' noun looks less ambiguous. llvm-svn: 258060
* use m_OneUse ; NFCISanjay Patel2016-01-181-4/+2
| | | | llvm-svn: 258059
* fix variable names, typos ; NFCSanjay Patel2016-01-181-36/+36
| | | | llvm-svn: 258058
* fix typo; NFCSanjay Patel2016-01-181-1/+1
| | | | llvm-svn: 258057
* Remove skipIfLinuxClang decoratorPavel Labath2016-01-181-18/+0
| | | | | | it isn't used in the code anymore, and we're trying to cut down on the decorators. llvm-svn: 258049
* Guard against application of an XFAIL decorator on a classPavel Labath2016-01-181-0/+2
| | | | | | | | This does not work and causes the class to be silently skipped, which is a bad idea. This makes sure it cannot happen accidentaly. I've played with the idea of actually making the decorator work at class level, but it proved too magic to do at this moment. llvm-svn: 258048
* AVX512: Masked store intrinsic implementation.Igor Breger2016-01-188-42/+569
| | | | | | | | Implemented intrinsic for the follow instructions (store) : VMOVDQU8/16/32/64, VMOVDQA32/64, VMOVAPS/PD, VMOVUPS/PD. Differential Revision: http://reviews.llvm.org/D16271 llvm-svn: 258047
* Added Cannonlake processor to X86 TargetElena Demikhovsky2016-01-181-1/+37
| | | | | | Differential Revision: http://reviews.llvm.org/D16289 llvm-svn: 258046
* AVX512 : Change v8i1 bitconvert GR8 pattern, remove unnecessary movzbl ↵Igor Breger2016-01-1812-1361/+1127
| | | | | | | | | | | | | | instruction. code example , previous implementation. movzbl %dil, %eax kmovw %eax, %k0 new code kmovw %edi, %k0 Differential Revision: http://reviews.llvm.org/D16287 llvm-svn: 258045
* [ARM] Operands for PKHTB alias should be swappedOliver Stannard2016-01-184-8/+8
| | | | | | | | | When the shift immediate is zero, PKHTB is an alias for PKHBT, but the order of the input operands needs to be swapped. Differential Revision: http://reviews.llvm.org/D16288 llvm-svn: 258044
* Revert "Unconditionally accept symbol sizes from elf"Tamas Berghammer2016-01-184-27/+12
| | | | | | | | It causes issues for i386 when compiling with gcc-4.9.2 This reverts commit e248214a3eab8e244095f97d1996c991cb988cc4. llvm-svn: 258043
* Add forEachArgumentWithParam AST matcher.Manuel Klimek2016-01-183-0/+137
| | | | | | | | | | | | The new matcher allows users to provide a matcher for both the argument of a CallExpr/CxxConstructExpr a well as the ParmVarDecl of the argument. Patch by Felix Berger. Differential Revision: http://reviews.llvm.org/D13845 llvm-svn: 258042
* [AVX512] adding AVXVBMI feature flagMichael Zuckerman2016-01-181-1/+1
| | | | | | | | | Fixing wrong typo (avx515) → (avx512) Review over the shoulder by asaf . Differential Revision: http://reviews.llvm.org/D16190 llvm-svn: 258041
* Unconditionally accept symbol sizes from elfTamas Berghammer2016-01-184-12/+27
| | | | | | | | | | | | | | | | | The ELF symbol table always contain the size of the symbols so we don't have to try to guess them based on the address of the next symbol (it is needed for mach-o). The change fixes an issue when a symbol is removed after a 0 size symbol (e.g. because the second one is not public) what previously caused the symbol lookup algorithm to end up with showing the 0 size symbol even for the later addresses (what are not part of any symbol). That symbol lookup error can confuse the user and also confuses the current stack unwinder. Differential revision: http://reviews.llvm.org/D16186 llvm-svn: 258040
* [analyzer] Fix an off-by-one in evalIntegralCast()Artem Dergachev2016-01-182-1/+10
| | | | | | | | | Make sure that we do not add SymbolCast at the very boundary of the range in which the cast would not certainly happen. Differential Revision: http://reviews.llvm.org/D16178 llvm-svn: 258039
* [RenderScript] Remove mips specific expressionsEwan Crawford2016-01-182-180/+90
| | | | | | | | Reverts earlier commit r254910, which used function pointers for jitted expressions to avoid a Mips64 compiler bug. Bug has since been fixed, and compiler longer issues the problem instruction. Author: Dean De Leo <dean@codeplay.com> llvm-svn: 258038
* [asan] Optionally print reproducer cmdline in ASan reports.Maxim Ostapenko2016-01-188-1/+50
| | | | | | Differential Revision: http://reviews.llvm.org/D16070 llvm-svn: 258037
* [Coverage] move a local var to be BinaryCoverageReader's memberXinliang David Li2016-01-182-8/+12
| | | | | | | | The symtab is logically referenced beyond the call to the create method. This changes makes sure its lifetime matches that of the reader. llvm-svn: 258036
* Remove extra whitespace. NFC.Junmo Park2016-01-181-2/+2
| | | | llvm-svn: 258035
* [Orc] Revert r258031 - it broke the builders.Lang Hames2016-01-181-1/+1
| | | | llvm-svn: 258034
* Fix typo in the C API commentsAmaury Sechet2016-01-181-1/+1
| | | | llvm-svn: 258033
* [Orc] Expand a comment explaining a unit test.Lang Hames2016-01-181-0/+5
| | | | llvm-svn: 258032
* [Orc] Enable ORC execution unit tests on non-windows platforms.Lang Hames2016-01-181-1/+1
| | | | | | | | | | | Previously these were Darwin-only. Since the switch to direct binary emission of stubs, trampolines and resolver blocks, these should work on other *nix platforms too. These tests can be enabled on Windows once known issues with ORC's handling of Windows symbol mangling (see e.g. https://llvm.org/PR25940) have been fixed. llvm-svn: 258031
* minor comment clean and add a method \NFCXinliang David Li2016-01-181-9/+11
| | | | llvm-svn: 258030
* Revert assert added in rL258028 as the alloca and OtherPtr types may differ ↵Eduard Burtescu2016-01-181-1/+0
| | | | | | in address space. llvm-svn: 258029
* [opaque pointer types] Alloca: use getAllocatedType() instead of ↵Eduard Burtescu2016-01-185-17/+13
| | | | | | | | | | | | getType()->getPointerElementType(). Reviewers: mjacob Subscribers: llvm-commits, dblaikie Differential Revision: http://reviews.llvm.org/D16272 llvm-svn: 258028
* fix variable names; NFCSanjay Patel2016-01-171-16/+16
| | | | llvm-svn: 258027
* fix typos; NFCSanjay Patel2016-01-171-17/+16
| | | | llvm-svn: 258026
* [Support/ELF] Add Sun machine-independent extesions DT_* constants.Davide Italiano2016-01-171-2/+6
| | | | llvm-svn: 258025
* [opaque pointer types] [breaking-change] [NFC] SimplifyGEPInst: take the ↵Manuel Jacob2016-01-174-8/+11
| | | | | | | | | | | | | | source element type of the GEP as an argument. Patch by Eduard Burtescu. Reviewers: dblaikie, mjacob Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16281 llvm-svn: 258024
* [opaque pointer types] [NFC] CallSite: use getFunctionType() instead of ↵Manuel Jacob2016-01-174-19/+9
| | | | | | | | | | | | | | going through PointerType::getElementType. Patch by Eduard Burtescu. Reviewers: dblaikie, mjacob Subscribers: dsanders, llvm-commits, dblaikie Differential Revision: http://reviews.llvm.org/D16273 llvm-svn: 258023
* [NFC] Remove one dead PointerType::getElementType() call.Manuel Jacob2016-01-171-2/+0
| | | | | | | | | | | | Reviewers: dblaikie, mjacob Subscribers: llvm-commits, dblaikie Patch by Eduard Burtescu. Differential Revision: http://reviews.llvm.org/D16274 llvm-svn: 258022
* [tsan] Do nothing in ScopedInterceptor's destructor if thr is not inited.Yabin Cui2016-01-171-0/+2
| | | | | | | | | | | | Summary: It is part of http://reviews.llvm.org/D15301, but missed when I committed that patch. Reviewers: kubabrecka, kcc, eugenis, llvm-commits, dvyukov Differential Revision: http://reviews.llvm.org/D16235 llvm-svn: 258021
* [TableGen] Keep a returned const reference instead of making a copy. NFCCraig Topper2016-01-171-1/+1
| | | | llvm-svn: 258020
* [TableGen] Replace instructions() with getInstructionsByEnumValue(). No need ↵Craig Topper2016-01-175-11/+8
| | | | | | to make an iterator_range when we already have a function that returns an ArrayRef. NFC llvm-svn: 258019
* [TableGen] Return ArrayRef instead of a std::vector reference from ↵Craig Topper2016-01-173-19/+19
| | | | | | getInstructionsByEnumValue(). NFC llvm-svn: 258018
* [TableGen] Use std::find instead of a manual loop. NFCCraig Topper2016-01-171-3/+1
| | | | llvm-svn: 258017
OpenPOWER on IntegriCloud