summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add some MS aliases for existing intrinsicsAlbert Gutowski2016-09-1313-55/+131
| | | | | | | | | | Reviewers: thakis, compnerd, majnemer, rsmith, rnk Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24330 llvm-svn: 281375
* [SE] Add .clang-formatJason Henline2016-09-1319-153/+120
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: The .clang-tidy file is copied from the top-level LLVM source directory. Also fix warnings generated by clang-format: * Moved SimpleHostPlatformDevice.h so its header include guard could have the right format. * Changed signatures of methods taking llvm::Twine by value to take it by const ref instead. * Add "noexcept" to some move constructors and assignment operators. * Removed a bunch of places where single-statement loops and conditionals were surrounded with braces. (This was not found by the current clang-tidy, but with a local patch that I hope to upstream soon.) Reviewers: jlebar, jprice Subscribers: parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24468 llvm-svn: 281374
* [analyzer] Fix ExprEngine::VisitMemberExprAlexander Shaposhnikov2016-09-132-1/+12
| | | | | | | | | | | AST may contain intermediate ParenExpr nodes between MemberExpr and ArrayToPointerDecay. This diff adjusts the check in ExprEngine::VisitMemberExpr accordingly. Test plan: make -j8 check-clang-analysis Differential revision: https://reviews.llvm.org/D24484 llvm-svn: 281373
* AMDGPU: Remove code I think is deadMatt Arsenault2016-09-131-27/+3
| | | | | | | | As far as I can tell, resolveFrameIndex is supposed to be called with a legal offset, so inserting an add shouldn't be necessary. llvm-svn: 281372
* Switch to 64-bit allocator on android/aarch64.Evgeniy Stepanov2016-09-132-3/+11
| | | | | | | This uses the "very compact" size class mapping that fits in the 39-bit address space. llvm-svn: 281371
* .clang-tidy: correct style name is 'camelBack' not 'lowerCase'.Mike Aizatsky2016-09-131-1/+1
| | | | | | | | Summary: clang-tidy doesn't like to complain. Differential Revision: https://reviews.llvm.org/D24413 llvm-svn: 281370
* AMDGPU: Support commuting a FrameIndex operandMatt Arsenault2016-09-134-9/+44
| | | | llvm-svn: 281369
* [LV] Clean up uniform induction variable analysis (NFC)Matthew Simpson2016-09-131-23/+31
| | | | llvm-svn: 281368
* [clang-cl] Diagnose duplicate uuids.Nico Weber2016-09-137-4/+152
| | | | | | | | | | | | This mostly behaves cl.exe's behavior, even though clang-cl is stricter in some corner cases and more lenient in others (see the included test). To make the uuid declared previously here diagnostic work correctly, tweak stripTypeAttributesOffDeclSpec() to keep attributes in the right order. https://reviews.llvm.org/D24469 llvm-svn: 281367
* [LTO] Don't pass SF_Undefined symbols to the IRmover.Davide Italiano2016-09-132-0/+20
| | | | | | This should fix PR 30363. llvm-svn: 281366
* Fix MSVC 2013 build by using our <thread> wrapper headerReid Kleckner2016-09-131-1/+1
| | | | llvm-svn: 281365
* [asan] Re-poison all redzones on activation.Evgeniy Stepanov2016-09-132-12/+63
| | | | | | | | | | | | | When running with start_deactivated=1 in ASAN_OPTIONS, heap redzones are not poisoned until the first instrumented module is loaded. This can cause false negatives even on memory allocated after activation, because redzones are normally poisoned only once when a new allocator region is mapped. This change attempts to fix it by iterating over all existing allocator chunks and poisoning their redzones. llvm-svn: 281364
* Work around a GCC 4.7-specific issue: due to implementing older rules forRichard Smith2016-09-131-0/+5
| | | | | | | | | | | implicit declarations of move operations, GCC 4.7 would find that SelectPiece has neither a move constructor nor a copy constructor. The copy constructor was (correctly) deleted because the class has a member of move-only type, and the move constructor was (incorrectly, per current C++ rules) not provided because the class has a copy-only base class (in turn because it explicitly declares a destructor). llvm-svn: 281363
* [DAGCombiner] Use APInt directly in (shl (zext (srl x, C)), C) combine range ↵Simon Pilgrim2016-09-132-2/+9
| | | | | | | | | | test To avoid assertion, we must ensure that the inner shift constant is within range before calling ConstantSDNode::getZExtValue(). We already know that the outer shift constant is in range. Followup to D23007 llvm-svn: 281362
* Revert r281336 (and r281337), it caused PR30372.Nico Weber2016-09-1316-519/+830
| | | | llvm-svn: 281361
* Some more pointer safety in Breakpoint.Zachary Turner2016-09-1313-108/+123
| | | | | | | | | | | Plumb unique_ptrs<> all the way through the baton interface. NFC, this is a minor improvement to remove the possibility of an accidental pointer ownership issue. Reviewed By: jingham Differential Revision: https://reviews.llvm.org/D24495 llvm-svn: 281360
* [Myriad]: set LeonCASA processor featureDouglas Katzman2016-09-132-6/+7
| | | | llvm-svn: 281359
* ObjectiveC Generics: Start using ObjCTypeParamType.Manman Ren2016-09-138-10/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | For ObjC type parameter, we used to have TypedefType that is canonicalized to id or the bound type. We can't represent "T <protocol>" and thus will lose the type information in the following example: @interface MyMutableDictionary<KeyType, ObjectType> : NSObject - (void)setObject:(ObjectType)obj forKeyedSubscript:(KeyType <NSCopying>)key; @end MyMutableDictionary<NSString *, NSString *> *stringsByString; NSNumber *n1, *n2; stringsByString[n1] = n2; --> no warning on type mismatch of the key. To fix the problem, we introduce a new type ObjCTypeParamType that supports a list of protocol qualifiers. We create ObjCTypeParamType for ObjCTypeParamDecl when we create ObjCTypeParamDecl. We also substitute ObjCTypeParamType instead of TypedefType on an ObjCTypeParamDecl. rdar://24619481 rdar://25060179 Differential Revision: http://reviews.llvm.org/D23080 llvm-svn: 281358
* AMDGPU: Fix target options fp32/64-denormalsYaxun Liu2016-09-132-12/+14
| | | | | | | | | | | | | | Fix target options for fp32/64-denormals so that +fp64-denormals is set if fp64 is supported -fp32-denormals if fp32 denormals is not supported, or -cl-denorms-are-zero is set +fp32-denormals if fp32 denormals is supported and -cl-denorms-are-zero is not set If target feature fp32/64-denormals is explicitly set, they will override default options and options deduced from -cl-denorms-are-zero. Differential Revision: https://reviews.llvm.org/D24512 llvm-svn: 281357
* [X86][SSE] Added AVX512F and additional vector truncate test casesSimon Pilgrim2016-09-131-88/+273
| | | | | | trunc16i16_16i8 is currently commented out due to PR25684 llvm-svn: 281356
* ObjectiveC generics: Add ObjCTypeParamType in the type system.Manman Ren2016-09-1322-1/+411
| | | | | | | | | | | | | | | | | We also need to add ObjCTypeParamTypeLoc. ObjCTypeParamType supports the representation of "T <protocol>" where T is a type parameter. Before this, we use TypedefType to represent the type parameter for ObjC. ObjCTypeParamType has "ObjCTypeParamDecl *OTPDecl" and it extends from ObjCProtocolQualifiers. It is a non-canonical type and is canonicalized to the underlying type with the protocol qualifiers. rdar://24619481 rdar://25060179 Differential Revision: http://reviews.llvm.org/D23079 llvm-svn: 281355
* [DAGCombiner] Use APInt directly in (shl (ext (shl x, c1)), c2) combineSimon Pilgrim2016-09-132-11/+33
| | | | | | | | Fix failure to detect out of range shift constants leading to assert in ConstantSDNode::getZExtValue() Followup to D23007 llvm-svn: 281354
* ObjectiveC: Refactor applyObjCProtocolQualifiers.Manman Ren2016-09-133-57/+86
| | | | | | | | | | | | | | To construct the canonical type of ObjCTypeParamType, we need to apply qualifiers on ObjCObjectPointerType. The updated applyObjCProtocolQualifiers handles this case by merging the protocol lists, constructing a new ObjCObjectType, then a new ObjCObjectPointerType. rdar://24619481 rdar://25060179 Differential Revision: http://reviews.llvm.org/D24059 llvm-svn: 281353
* fixup Xcode build for removal of MIUtilParse.*Todd Fiala2016-09-131-6/+0
| | | | llvm-svn: 281352
* Add a class ObjCProtocolQualifiers to wrap APIs for ObjC protocol list.Manman Ren2016-09-132-37/+69
| | | | | | | | | | | | | | | Now ObjCObjectType extends from ObjCProtocolQualifiers. We save number of protocols in ObjCProtocolQualifiers. This is in preparation of adding a new type class ObjCTypeParamType that can take protocol qualifiers. rdar://24619481 rdar://25060179 Differential Revision: http://reviews.llvm.org/D23078 llvm-svn: 281351
* Fix misleading comment for getOrEnforceKnownAlignmentMatt Arsenault2016-09-132-8/+9
| | | | | | | It does not return 0 to indicate failure, and returns the known alignment. llvm-svn: 281350
* Fix a merge mishap in rL281348Dimitar Vlahovski2016-09-131-2/+0
| | | | llvm-svn: 281349
* MinidumpParsing: pid, modules, exceptions, stringsDimitar Vlahovski2016-09-137-69/+412
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Added parsing of the MiscInfo data stream. The main member of it that we care about is the process_id On Linux generated Minidump (from breakpad) we don't have the MiscInfo, we have the /proc/$pid/status from where we can get the pid. Also parsing the module list - the list of all of the loaded modules/shared libraries. Parsing the exception stream. Parsing MinidumpStrings. I have unit tests for all of that. Also added some tests using a Minidump generated from Windows tools (not from breakpad) Reviewers: labath, zturner Subscribers: beanz, lldb-commits Differential Revision: https://reviews.llvm.org/D24385 llvm-svn: 281348
* [SE] Stop using llvm-config --cxxflagsJason Henline2016-09-131-11/+4
| | | | | | | | | | | | | | | | | | | | | | | Summary: Build configuration was adding $(llvm-config --cxxflags) to the StreamExecutor CXXFLAGS, but this was causing "-O3" to be passed even for debug builds, and was making debugging difficult. The llvm-config call was originally introduced to handle the -fno-rtti flag because an RTTI StreamExecutor could not link with a no-RTTI LLVM. This patch converts to using LLVM_ENABLE_RTTI and only adding the `-fno-rtti` flag if needed, not all the rest of the LLVM CXXFLAGS. I have tested this with clang-4.0 and gcc-4.8 on Ubuntu. Some work will probably have to be done to support MSVC. Reviewers: jlebar Subscribers: beanz, jprice, parallel_libs-commits, mgorny Differential Revision: https://reviews.llvm.org/D24474 llvm-svn: 281347
* Traversing template paramter lists of DeclaratorDecls and/or TagDecls.Nico Weber2016-09-132-0/+103
| | | | | | | | | | | | | | The unit tests in this patch demonstrate the need to traverse template parameter lists of DeclaratorDecls (e.g. VarDecls, CXXMethodDecls) and TagDecls (e.g. EnumDecls, RecordDecls). Fixes PR29042. https://reviews.llvm.org/D24268 Patch from Lukasz Łukasz Anforowicz <lukasza@chromium.org>! llvm-svn: 281345
* Remove redundant comma around parenthesis in parameter list.Eric Liu2016-09-132-56/+58
| | | | | | | | | | Reviewers: djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D24501 llvm-svn: 281344
* [ConstantFold] Improve the bitcast folding logic for constant vectors.Andrea Di Biagio2016-09-133-25/+35
| | | | | | | | | | | | | | | | | | | | The constant folder didn't know how to always fold bitcasts of constant integer vectors. In particular, it was unable to handle the case where a constant vector had some undef elements, and the resulting (i.e. bitcasted) vector type had more elements than the original vector type. Example: %cast = bitcast <2 x i64><i64 undef, i64 2> to <4 x i32> On a little endian target, %cast could have been folded to: <4 x i32><i32 undef, i32 undef, i32 2, i32 0> This patch improves the folding logic by teaching how to correctly propagate undef elements in the folded vector. Differential Revision: https://reviews.llvm.org/D24301 llvm-svn: 281343
* [asan] Add missing include for rand()Jonas Hahnfeld2016-09-131-0/+1
| | | | llvm-svn: 281342
* [X86] Regenerated shift combine tests.Simon Pilgrim2016-09-131-26/+104
| | | | | | Added x86_64 tests llvm-svn: 281341
* [modules] Re-enable some previously excluded files.Vassil Vassilev2016-09-131-9/+0
| | | | | | | | Our modules support seems to be able to handle them nowadays. Patch by Cristina Cristescu! llvm-svn: 281340
* [Hexagon] Clear the flow queue after visiting a single instructionKrzysztof Parzyszek2016-09-132-0/+52
| | | | llvm-svn: 281339
* Enable merging of SHF_MERGE sections with linker scripts.Rafael Espindola2016-09-137-17/+154
| | | | | | | | | This also fixes the related problem of non SHF_MERGE sections with different flags not being merged. Fixes pr30355. llvm-svn: 281338
* Apply Clang-format to MCAsmParser.cpp NFC.Nirav Dave2016-09-131-1/+2
| | | | llvm-svn: 281337
* Defer asm errors to post-statement failureNirav Dave2016-09-1316-830/+518
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recommitting after fixing AsmParser Initialization. Allow errors to be deferred and emitted as part of clean up to simplify and shorten Assembly parser code. This will allow error messages to be emitted in helper functions and be modified by the caller which has better context. As part of this many minor cleanups to the Parser: * Unify parser cleanup on error * Add Workaround for incorrect return values in ParseDirective instances * Tighten checks on error-signifying return values for parser functions and fix in-tree TargetParsers to be more consistent with the changes. * Fix AArch64 test cases checking for spurious error messages that are now fixed. These changes should be backwards compatible with current Target Parsers so long as the error status are correctly returned in appropriate functions. Reviewers: rnk, majnemer Subscribers: aemerson, jyknight, llvm-commits Differential Revision: https://reviews.llvm.org/D24047 llvm-svn: 281336
* [LoopInterchange] Minor refactor. NFC.Chad Rosier2016-09-131-12/+11
| | | | llvm-svn: 281334
* GPGPU: Use const_cast to avoid compiler warning [NFC]Tobias Grosser2016-09-131-1/+1
| | | | llvm-svn: 281333
* [InstSimplify] Add tests to show missed bitcast folding opportunities.Andrea Di Biagio2016-09-131-0/+144
| | | | | | | | | | InstSimplify doesn't always know how to fold a bitcast of a constant vector. In particular, the logic in InstSimplify doesn't know how to handle the case where the constant vector in input contains some undef elements, and the number of elements is smaller than the number of elements of the bitcast vector type. llvm-svn: 281332
* Don't use else if after return. Tidy comments. NFC.Chad Rosier2016-09-131-5/+3
| | | | llvm-svn: 281331
* Typo. NFC.Chad Rosier2016-09-131-3/+3
| | | | llvm-svn: 281330
* Refactor duplicated code. NFC.Rafael Espindola2016-09-131-11/+11
| | | | llvm-svn: 281329
* [LoopInterchange] Tidy up and remove unnecessary dyn_casts. NFC.Chad Rosier2016-09-131-13/+12
| | | | llvm-svn: 281328
* Revert "[ARM] Promote small global constants to constant pools"James Molloy2016-09-135-253/+1
| | | | | | This reverts commit r281314. Speculatively revert as it's possible this caused linker errors: http://lab.llvm.org:8011/builders/clang-native-arm-lnt/builds/19656 llvm-svn: 281327
* Remove InstCombine test fileSam Parker2016-09-131-17/+0
| | | | | | My previous commit should of removed a test file but I missed it. llvm-svn: 281326
* Turn createKey into a static helper. NFC.Rafael Espindola2016-09-132-20/+18
| | | | llvm-svn: 281325
* [ARM] Add ".code 32" to functions in the ARM instruction setPablo Barrio2016-09-133-3/+28
| | | | | | | | | | | | | | | | | | | Before, only Thumb functions were marked as ".code 16". These ".code x" directives are effective until the next directive of its kind is encountered. Therefore, in code with interleaved ARM and Thumb functions, it was possible to declare a function as ARM and end up with a Thumb function after assembly. A test has been added. An existing test has also been fixed to take this change into account. Reviewers: aschwaighofer, t.p.northover, jmolloy, rengolin Subscribers: aemerson, rengolin, llvm-commits Differential Revision: https://reviews.llvm.org/D24337 llvm-svn: 281324
OpenPOWER on IntegriCloud