summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Follow-up to r281367: Compare uuids case-insensitively.Nico Weber2016-09-142-2/+3
| | | | llvm-svn: 281430
* [modules] When merging one definition into another, propagate the list ofRichard Smith2016-09-147-22/+86
| | | | | | re-exporting modules from the discarded definition to the retained definition. llvm-svn: 281429
* Cleaned up the code that handles function return addresses in "frame diagnose."Sean Callanan2016-09-141-18/+33
| | | | llvm-svn: 281428
* Color warnings purple rather than orange, to match actual Clang output.Richard Smith2016-09-142-2/+2
| | | | llvm-svn: 281427
* Turn a no-op assignment into an assertion.Rui Ueyama2016-09-141-1/+1
| | | | | | r279456 guarantees that this condition is always satisfied. llvm-svn: 281426
* Simplify InputFile ownership management.Rui Ueyama2016-09-1416-111/+105
| | | | | | | | | | | | | | | | | | | | Previously, all input files were owned by the symbol table. Files were created at various places, such as the Driver, the lazy symbols, or the bitcode compiler, and the ownership of new files was transferred to the symbol table using std::unique_ptr. All input files were then free'd when the symbol table is freed which is on program exit. I think we don't have to transfer ownership just to free all instance at once on exit. In this patch, all instances are automatically collected to a vector and freed on exit. In this way, we no longer have to use std::unique_ptr. Differential Revision: https://reviews.llvm.org/D24493 llvm-svn: 281425
* [SE] Pack global dev handle addressesJason Henline2016-09-134-32/+14
| | | | | | | | | | | | | | | | | Summary: We were packing global device memory handles in `PackedKernelArgumentArray`, but as I was implementing the CUDA platform, I realized that CUDA wants the address of the handle, not the handle itself. So this patch switches to packing the address of the handle. Reviewers: jlebar Subscribers: jprice, jlebar, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24528 llvm-svn: 281424
* Device doc says device is smallJason Henline2016-09-131-0/+4
| | | | llvm-svn: 281423
* [SE] Platforms return Device valuesJason Henline2016-09-134-24/+19
| | | | | | | | | | | | | | | Summary: Platforms were returning Device pointers, but a Device is now basically just a pointer to an underlying PlatformDevice, so we will now just pass it around as a value. Reviewers: jlebar Subscribers: jprice, jlebar, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24537 llvm-svn: 281422
* Address Pete's review comment and define OrigArg on its own line.Akira Hatanaka2016-09-131-1/+2
| | | | | | This is a follow-up to r281419. llvm-svn: 281421
* Force c++14 when running tests on Windows.Zachary Turner2016-09-131-0/+1
| | | | | | | | | VS 2015 and higher begin making use of c++14 in their standard library headers. As such, -std=c++11 makes it so you can't compile trivial programs. Bump this to -std=c++14 when this situation is detected. llvm-svn: 281420
* [ObjCARC] Traverse chain downwards to replace uses of argument passed toAkira Hatanaka2016-09-132-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ObjC library call with call return. ARC contraction tries to replace uses of an argument passed to an objective-c library call with the call return value. For example, in the following IR, it replaces uses of argument %9 and uses of the values discovered traversing the chain upwards (%7 and %8) with the call return %10, if they are dominated by the call to @objc_autoreleaseReturnValue. This transformation enables code-gen to tail-call the call to @objc_autoreleaseReturnValue, which is necessary to enable auto release return value optimization. %7 = tail call i8* @objc_loadWeakRetained(i8** %6) %8 = bitcast i8* %7 to %0* %9 = bitcast %0* %8 to i8* %10 = tail call i8* @objc_autoreleaseReturnValue(i8* %9) ret %0* %8 Since r276727, llvm started removing redundant bitcasts and as a result started feeding the following IR to ARC contraction: %7 = tail call i8* @objc_loadWeakRetained(i8** %6) %8 = bitcast i8* %7 to %0* %9 = tail call i8* @objc_autoreleaseReturnValue(i8* %7) ret %0* %8 ARC contraction no longer does the optimization described above since it only traverses the chain upwards and fails to recognize that the function return can be replaced by the call return. This commit changes ARC contraction to traverse the chain downwards too and replace uses of bitcasts with the call return. rdar://problem/28011339 Differential Revision: https://reviews.llvm.org/D24523 llvm-svn: 281419
* TestQueues could error out because the one second sleep main.c wasJason Molenda2016-09-132-3/+6
| | | | | | | | using to enqueue all the jobs wasn't enough time on a slow/overloaded system. Instead use a global to indicate when all the work has been enqueued, let's see if this makes the CIs work more reliably. llvm-svn: 281418
* [SE] KernelSpec return best PTXJason Henline2016-09-133-12/+15
| | | | | | | | | | | | | | | | Summary: Before, the kernel spec would only return PTX for exactly the requested compute capability. With this patch it will now return the PTX with the largest compute capability that does not exceed that requested compute capability. Reviewers: jlebar Subscribers: jprice, jlebar, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24531 llvm-svn: 281417
* Missed update from r281412.Richard Smith2016-09-131-1/+1
| | | | llvm-svn: 281415
* [llvm-cov] Just emit the version number in the index fileVedant Kumar2016-09-133-12/+8
| | | | | | | Having the version information in every view is distracting, especially if there are several sub-views. llvm-svn: 281414
* Also don't inline dllimport functions referring to non-dllimport constructors.Hans Wennborg2016-09-133-4/+14
| | | | | | | | The AST walker wasn't visiting CXXConstructExprs before. This is a follow-up to r281395. llvm-svn: 281413
* Warning flag updates:Richard Smith2016-09-131-5/+7
| | | | | | | | -Wdiv-by-zero may as well be an alias for -Wdivision-by-zero rather than a GCC-compatibility no-op. -Wno-shadow should disable -Wshadow-ivar. -Weffc++ may as well enable -Wnon-virtual-dtor like it does in GCC. llvm-svn: 281412
* revert: [ELF] - Versionscript: support mangled symbols with the same name.George Rimar2016-09-133-41/+16
| | | | | | | | | | | | | | | | | | | | | | | | | Something broked BBots: 281318 failed on step 9: http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/413 r281317 built step 9 green: http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/415 Initial revision commits were: This is PR30312. Info from bug page: Both of these symbols demangle to abc::abc(): _ZN3abcC1Ev _ZN3abcC2Ev (These would be abc's complete object constructor and base object constructor, respectively.) however with "abc::abc()" in the version script only one of the two receives the symbol version. Patch fixes that. It uses testcase created by Ed Maste (D24306). Differential revision: https://reviews.llvm.org/D24336 llvm-svn: 281411
* [asan] alloc_dealloc_mismatch=0 by default on Android.Evgeniy Stepanov2016-09-133-6/+4
| | | | | | | All known (to me) Android deployments are disabling this flag anyway. The in-tree script (asan_device_setup) does that, too. llvm-svn: 281410
* [asan] Remove lit -j5 flag for android tests.Evgeniy Stepanov2016-09-131-7/+1
| | | | | | | | It makes the tests extremely slow due to high latency of the test launcher. The main reason for -j5 was high memory usage with handle_abort=1, which is now disabled in the test runner. llvm-svn: 281409
* Fix a FIXME about MSVC 2013 in the diagnostic doc generation codeReid Kleckner2016-09-131-5/+7
| | | | | | Ultimately it boiled down to adding a move constructor. llvm-svn: 281408
* [AArch64] Simplify patchpoint/stackmap size test (r281301). NFC.Ahmed Bougacha2016-09-132-42/+0
| | | | llvm-svn: 281407
* [CUDA] Do not merge CUDA target attributes.Artem Belevich2016-09-133-1/+47
| | | | | | | | | | | | CUDA target attributes are used for function overloading and must not be merged. This fixes a bug where attributes were inherited during function template specialization in CUDA and made it impossible for specialized function to provide its own target attributes. Differential Revision: https://reviews.llvm.org/D24522 llvm-svn: 281406
* [CodeGen] Fix an assert in EmitNullConstant.Akira Hatanaka2016-09-132-1/+23
| | | | | | | | | | | | | | | r235815 changed CGRecordLowering::accumulateBases to ignore non-virtual bases of size 0, which prevented adding those non-virtual bases to CGRecordLayout's NonVirtualBases. This caused clang to assert when CGRecordLayout::getNonVirtualBaseLLVMFieldNo was called in EmitNullConstant. This commit fixes the bug by ignoring zero-sized non-virtual bases in EmitNullConstant. rdar://problem/28100139 Differential Revision: https://reviews.llvm.org/D24312 llvm-svn: 281405
* ObjectiveC Generics: follow-up commit to r281355.Manman Ren2016-09-131-1/+3
| | | | | | | | | Correct getExtraLocalDataSize for ObjCTypeParamTypeLoc. rdar://24619481 rdar://25060179 llvm-svn: 281404
* [CodeGen] Fix invalid shift in mul expansionPawel Bylica2016-09-133-6/+6670
| | | | | | | | | | | | Summary: When expanding mul in type legalization make sure the type for shift amount can actually fit the value. This fixes PR30354 https://llvm.org/bugs/show_bug.cgi?id=30354. Reviewers: hfinkel, majnemer, RKSimon Subscribers: RKSimon, llvm-commits Differential Revision: https://reviews.llvm.org/D24478 llvm-svn: 281403
* [DAG] Allow build-to-shuffle combine to combine builds from two wide vectors.Michael Kuperstein2016-09-132-126/+84
| | | | | | | | | | | This allows us to, in some cases, create a vector_shuffle out of a build_vector, when the inputs to the build are extract_elements from two different vectors, at least one of which is wider than the output. (E.g. a <8 x i16> being constructed out of elements from a <16 x i16> and a <8 x i16>). Differential Revision: https://reviews.llvm.org/D24491 llvm-svn: 281402
* Temporary fix for MS _Interlocked intrinsicsAlbert Gutowski2016-09-134-84/+59
| | | | llvm-svn: 281401
* Next set of additional error checks for invalid Mach-O files for bad load ↵Kevin Enderby2016-09-1315-7/+120
| | | | | | | | | | | | | commands that use the Mach::dyld_info_command type for the load commands that are currently use in the MachOObjectFile constructor. This contains the missing checks for LC_DYLD_INFO and LC_DYLD_INFO_ONLY load commands and the fields for the Mach::dyld_info_command type. llvm-svn: 281400
* Reverse commit 281375 (breaks building Chromium)Albert Gutowski2016-09-1313-131/+55
| | | | llvm-svn: 281399
* Cleaned up some of the "frame diagnose" code to use Operands as currency.Sean Callanan2016-09-135-80/+210
| | | | | | | Also added some utility functions around Operands to make code easier and more compact to write. llvm-svn: 281398
* [Hexagon] Better handling of HVX vector loweringKrzysztof Parzyszek2016-09-133-4/+38
| | | | | | | - Expand SELECT_CC and BR_CC for vector types. - Implement TLI::isShuffleMaskLegal. llvm-svn: 281397
* cmake: PollyPPCG depends on PollyISLTobias Grosser2016-09-131-0/+2
| | | | | | | This line makes BUILD_SHARED_LIBS=ON work for Polly-ACC. Without it, ld complains about missing isl symbols when constructing the shared library. llvm-svn: 281396
* Try harder to not inline dllimport functions referencing non-dllimport functionsHans Wennborg2016-09-133-3/+31
| | | | | | | | In r246338, code was added to check for this, but it failed to take into account implicit destructor invocations because those are not reflected in the AST. This adds a separate check for them. llvm-svn: 281395
* [ELF] Set EF_ARM_EABI_VER5 for ARMRui Ueyama2016-09-132-1/+20
| | | | | | | | | | | Without this flag set, an AArch64 Linux kernel won't try to load the executable (even if a 32 bit arm kernel will run the binary just fine). Patch by Martin Storsjö! Differential revision: https://reviews.llvm.org/D24471 llvm-svn: 281394
* Split scanVersionScript. NFC.Rui Ueyama2016-09-132-20/+26
| | | | llvm-svn: 281393
* [asan] Reify ErrorSanitizerGetAllocatedSizeNotOwnedFilipe Cabecinhas2016-09-133-10/+35
| | | | | | | | | | | | Summary: Continuing implementation mentioned in this thread: http://lists.llvm.org/pipermail/llvm-dev/2016-July/101933.html Reviewers: kcc, eugenis, vitalybuka Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D24392 llvm-svn: 281392
* [asan] Reify ErrorMallocUsableSizeNotOwnedFilipe Cabecinhas2016-09-133-10/+33
| | | | | | | | | | | | Summary: Continuing implementation mentioned in this thread: http://lists.llvm.org/pipermail/llvm-dev/2016-July/101933.html Reviewers: kcc, eugenis, vitalybuka Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D24391 llvm-svn: 281391
* [asan] Reify ErrorAllocTypeMismatchFilipe Cabecinhas2016-09-133-19/+49
| | | | | | | | | | | | Summary: Continuing implementation mentioned in this thread: http://lists.llvm.org/pipermail/llvm-dev/2016-July/101933.html Reviewers: kcc, eugenis, vitalybuka Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D24390 llvm-svn: 281390
* [asan] Reify ErrorFreeNotMallocedFilipe Cabecinhas2016-09-133-15/+39
| | | | | | | | | | | | Summary: Continuing implementation mentioned in this thread: http://lists.llvm.org/pipermail/llvm-dev/2016-July/101933.html Reviewers: kcc, eugenis, vitalybuka Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D24389 llvm-svn: 281389
* Add comments.Rui Ueyama2016-09-131-0/+3
| | | | llvm-svn: 281388
* Add some unit tests for ArchSpec.Zachary Turner2016-09-134-2/+108
| | | | | | | | | | | | I'm was trying to do some cleanup and code modernization and in doing so I needed to change ParseMachCPUDashSubtypeTriple to take a StringRef. To ensure I don't break anything, I'm adding some unit tests for this function. As a side benefit, this also expands test coverage of this function to all platforms, since in general this code would rarely be exercised on non Mac platforms, and never in the test suite. llvm-svn: 281387
* add tests for PR28672Sanjay Patel2016-09-131-0/+30
| | | | | | | I'm not sure if we actually want to transform all of these in InstCombine yet, so I'm not labeling these with FIXME. llvm-svn: 281386
* Remove excessive padding from PTHWriterAlexander Shaposhnikov2016-09-131-3/+3
| | | | | | | | | | | The class PTHWriter is in lib/Frontend/CacheTokens.cpp inside the anonymous namespace. This diff changes the order of fields an removes excessive padding. Test plan: make -j8 check-clang Differential revision: https://reviews.llvm.org/D23902 llvm-svn: 281385
* [SE] Use real HostPlatformDevice for testingJason Henline2016-09-135-151/+17
| | | | | | | | | | | | | | Summary: Replace uses of SimpleHostPlatformDevice in tests with HostPlatformDevice. Reviewers: jlebar Subscribers: jlebar, jprice, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24519 llvm-svn: 281384
* [SemaObjC] Be more strict while parsing type arguments and protocolsBruno Cardoso Lopes2016-09-134-2/+54
| | | | | | | | | | | | | | | | | | | | Fix a crash-on-invalid. When parsing type arguments and protocols, parseObjCTypeArgsOrProtocolQualifiers() calls ParseTypeName(), which tries to find matching tokens for '[', '(', etc whenever they appear among potential type names. If unmatched, ParseTypeName() yields a tok::eof token stream. This leads to crashes since the parsing at this point is not expected to go beyond the param list closing '>'. Fix that by properly handling tok::eof in parseObjCTypeArgsOrProtocolQualifiers() callers. Differential Revision: https://reviews.llvm.org/D23852 rdar://problem/25063557 llvm-svn: 281383
* Work around MSVC 2013's inability to default move special members.Richard Smith2016-09-131-3/+3
| | | | llvm-svn: 281382
* Inline small funciton.Rui Ueyama2016-09-131-14/+9
| | | | llvm-svn: 281381
* Fix comments.Rui Ueyama2016-09-131-1/+2
| | | | llvm-svn: 281380
OpenPOWER on IntegriCloud