summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [tsan] fix tsan build by adding a dummy __sanitizer_print_memory_profileKostya Serebryany2016-09-142-1/+3
| | | | llvm-svn: 281553
* [clang-cl] Accept the joined equals version of -resource-dir=Reid Kleckner2016-09-142-2/+3
| | | | | | | lib/Tooling injects this argument without regard for what driver syntax is in use. llvm-svn: 281550
* Fix auto-upgrade of TBAA tags in Bitcode ReaderMehdi Amini2016-09-147-36/+71
| | | | | | | | | | | | | | | | | | If TBAA is on an intrinsic and it gets upgraded, it'll delete the call instruction that we collected in a vector. Even if we were to use WeakVH, it'll drop the TBAA and we'll hit the assert on the upgrade path. r263673 gave a shot to make sure the TBAA upgrade happens before intrinsics upgrade, but failed to account for all cases. Instead of collecting instructions in a vector, this patch makes it just upgrade the TBAA on the fly, because metadata are always already loaded at this point. Differential Revision: https://reviews.llvm.org/D24533 llvm-svn: 281549
* [asan] fix windowsKostya Serebryany2016-09-141-0/+1
| | | | llvm-svn: 281548
* [asan] add heap_profile=1 to asan to periodically print the heap profile. So ↵Kostya Serebryany2016-09-144-1/+48
| | | | | | far this is a very basic heap-profile functionality llvm-svn: 281546
* More cleanup in `frame diagnose,` eliminating a bunch of messy cases.Sean Callanan2016-09-143-60/+33
| | | | llvm-svn: 281545
* [CUDA] Make __clang_cuda_cmath.h compatible with libc++.Justin Lebar2016-09-141-0/+31
| | | | | | | | | | | | | | | | Summary: We need to add a bunch more "using"s, which weren't necessary with libstdc++. Once this is in I can check in a test to the test-suite. Reviewers: tra Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24588 llvm-svn: 281544
* [CUDA] Add test checking our ability to take a function pointer to a ↵Justin Lebar2016-09-141-0/+31
| | | | | | | | | | | | | | __global__ function on the host side. Summary: This functionality is used by Thrust. Reviewers: tra Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24581 llvm-svn: 281543
* Fix indentation in codeview codeReid Kleckner2016-09-141-7/+7
| | | | llvm-svn: 281542
* Add some MS aliases for existing intrinsicsAlbert Gutowski2016-09-1414-112/+221
| | | | | | | | | | Reviewers: thakis, compnerd, majnemer, rsmith, rnk Subscribers: alexshap, cfe-commits Differential Revision: https://reviews.llvm.org/D24330 llvm-svn: 281540
* [LTO] Move tests from test/tools to test/LTO, as they're testing the API ↵Mehdi Amini2016-09-142-1/+1
| | | | | | functionalities (NFC) llvm-svn: 281539
* [LTO] Fix commons handlingMehdi Amini2016-09-145-8/+50
| | | | | | | | | | | | | | Previously the prevailing information was not honored, and commons symbols could override a strong definition. This patch fixes it and propose the following semantic for commons: the client should mark as prevailing the commons that it expects the LTO implementation to merge (i.e. take the maximum size and alignment). It implies that commons are allowed to have multiple prevailing definitions. Differential Revision: https://reviews.llvm.org/D24545 llvm-svn: 281538
* [ThinLTO] Add an option to llvm-lto to print some basic statistics for the indexMehdi Amini2016-09-142-0/+47
| | | | | | Differential Revision: https://reviews.llvm.org/D24290 llvm-svn: 281537
* Replaced two instances of std::function with auto.Sean Callanan2016-09-142-8/+6
| | | | | | | | Thanks to Zachary Turner for the suggestion. It's distasteful that the actual type of the lambda can't be spelled out, but it should be evident from the definition of the lambda body. llvm-svn: 281536
* Finish renaming remaining analyzeBranch functionsMatt Arsenault2016-09-1447-142/+140
| | | | llvm-svn: 281535
* Cleaned up a little bit of redundant code in 'frame diagnose.`Sean Callanan2016-09-141-11/+19
| | | | llvm-svn: 281534
* [asan] Disable 64-bit allocator on android/aarch64.Evgeniy Stepanov2016-09-141-3/+1
| | | | | | Makes the device strangely unstable, and fails one sanitizer_common test. llvm-svn: 281533
* [Stackmap] Added callsite counts to emitted function information.Sanjoy Das2016-09-1423-68/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: It was previously not possible for tools to use solely the stackmap information emitted to reconstruct the return addresses of callsites in the map, which is necessary to use the information to walk a stack. This patch adds per-function callsite counts when emitting the stackmap section in order to resolve the problem. Note that this slightly alters the stackmap format, so external tools parsing these maps will need to be updated. **Problem Details:** Records only store their offset from the beginning of the function they belong to. While these records and the functions are output in program order, it is not possible to determine where the end of one function's records are without the callsite count when processing the records to compute return addresses. Patch by Kavon Farvardin! Reviewers: atrick, ributzka, sanjoy Subscribers: nemanjai Differential Revision: https://reviews.llvm.org/D23487 llvm-svn: 281532
* [x86] regenerate checksSanjay Patel2016-09-141-33/+49
| | | | llvm-svn: 281531
* Revert "Do not warn about format strings that are indexed string literals."Stephen Hines2016-09-142-201/+18
| | | | | | | | | | | | Summary: This reverts r281527 because I messed up the attribution. Reviewers: srhines Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24579 llvm-svn: 281530
* [x86] regenerate checksSanjay Patel2016-09-141-223/+374
| | | | llvm-svn: 281529
* Use 'enum class' instead of 'enum' in NativeRegisterContextLinux_x86_x64.Valentina Giusti2016-09-142-36/+36
| | | | | | | | | | Reviewers: labath, clayborg, zturner Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D24578 llvm-svn: 281528
* Do not warn about format strings that are indexed string literals.Stephen Hines2016-09-142-18/+201
| | | | | | | | | | | | | | | | | | | Summary: The warning for a format string not being a sting literal and therefore being potentially insecure is overly strict for indecies into sting literals. This fix checks if the index into the string literal is precomputable. If thats the case it will check if the suffix of that sting literal is a valid format string string literal. It will still issue the aforementioned warning for out of range indecies into the string literal. Reviewers: rsmith Subscribers: srhines, cfe-commits Differential Revision: https://reviews.llvm.org/D23820 llvm-svn: 281527
* Revert "[ARM] Promote small global constants to constant pools"Evgeniy Stepanov2016-09-145-254/+1
| | | | | | | | Breaks Android tests by introducing text relocations to ARM binaries. http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/25362/steps/run%20asan%20lit%20tests%20%5Barm%2Fbullhead-userdebug%2FMTC20F%5D/logs/stdio llvm-svn: 281526
* Correct assert text in DeclGroup::getSingleDecl()Kirill Bobyrev2016-09-141-1/+1
| | | | | | | | | | | | | | | Assert text for getSingleDecl() is inaccurate. Appears to have been copy pasted from getDeclGroup(). Patch by Ben Taylor! Reviewers: alexfh Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24518 llvm-svn: 281525
* [SE] Add CUDA platformJason Henline2016-09-1413-17/+596
| | | | | | | | | | | | | | | | | | | | Summary: Basic CUDA platform implementation and cmake infrastructure to control whether it's used. A few important TODOs will be handled in later patches: * Log some error messages that can't easily be returned as Errors. * Cache modules and kernels to prevent reloading them if someone tries to reload a kernel that's already loaded. * Tolerate shared memory arguments for kernel launches. Reviewers: jlebar Subscribers: beanz, mgorny, jprice, jlebar, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24538 llvm-svn: 281524
* [x86] regenerate checksSanjay Patel2016-09-141-72/+83
| | | | llvm-svn: 281523
* [compiler-rt] Set asan win 64-bits to use dynamic address for memory allocatorEtienne Bergeron2016-09-141-0/+4
| | | | | | | | | | | | | | | Summary: ASAN on Windows 64-bits should use a dynamic address instead of a fixed one. The asan-allocator code to support dynamic address is already landed. This patch is turning on the feature. Reviewers: rnk Subscribers: kubabrecka, dberris, llvm-commits, chrisha Differential Revision: https://reviews.llvm.org/D24575 llvm-svn: 281522
* Handle arbitrary expressions in DATA_SEGMENT_RELRO_END.Rafael Espindola2016-09-142-2/+2
| | | | llvm-svn: 281521
* Add SB API's for writing breakpoints to & creating the from a file.Jim Ingham2016-09-1411-115/+407
| | | | | | | | | | | Moved the guts of the code from CommandObjectBreakpoint to Target (should have done it that way in the first place.) Added an SBBreakpointList class so there's a way to specify which breakpoints to serialize and to report the deserialized breakpoints. <rdar://problem/12611863> llvm-svn: 281520
* Fix some const-ness issues with BreakpointID & BreakpointIDList.Jim Ingham2016-09-143-10/+12
| | | | llvm-svn: 281519
* [lib/LTO] Fix a typo. NFC.Davide Italiano2016-09-141-1/+1
| | | | llvm-svn: 281517
* [analyzer] scan-build-py: Remove relative path hack for SATestsBuild.pyDevin Coughlin2016-09-142-26/+1
| | | | | | | | | | | | | | | | | Remove the relative path hack in scan-build-py that converts a fully qualified directory name and a fully qualified file path to a relative path before running the analyzer on a file. This hack is not needed: the bad interaction with SATestsBuild.py it was intended to address is actually the same underlying problem that r280768 fixed. Further, because the hack would always relativize paths, it caused SATestBuild.py to be unable to properly line up issues when the build system changed directory and then built a source file in a child directory but used a fully-qualified path for the source file. Differential Revision: https://reviews.llvm.org/D24470 llvm-svn: 281516
* Add an interesting test.Rafael Espindola2016-09-141-0/+34
| | | | llvm-svn: 281515
* Revert "AMDGPU: Use SOPK compare instructions"Matt Arsenault2016-09-148-691/+52
| | | | | | Accidentally committed llvm-svn: 281514
* AMDGPU: Use SOPK compare instructionsMatt Arsenault2016-09-148-52/+691
| | | | llvm-svn: 281513
* [cmake] Make libgomp & libiomp5 alias install optionalMichal Gorny2016-09-142-7/+13
| | | | | | | | | | | Introduce a new LIBOMP_INSTALL_VARIABLES cache variable that can be used to disable creating libgomp and libiomp5 aliases on 'make install'. Those aliases are undesired e.g. on Gentoo systems where libomp is used purely by clang. Differential Revision: https://reviews.llvm.org/D24563 llvm-svn: 281512
* [Release notes] Mention readability-container-size-empty improvements.Eugene Zelenko2016-09-141-0/+5
| | | | | | Differential revision: https://reviews.llvm.org/D24526 llvm-svn: 281510
* Convert finite to builtinDehao Chen2016-09-143-0/+18
| | | | | | | | | | | | Summary: This patch converts finite/__finite to builtin functions so that it will be inlined by compiler. Reviewers: hfinkel, davidxl, efriedma Subscribers: efriedma, llvm-commits Differential Revision: https://reviews.llvm.org/D24483 llvm-svn: 281509
* Verifier: Mark orphaned DICompileUnits as a debug info failure.Adrian Prantl2016-09-142-30/+63
| | | | | | | | | This is a follow-up to r268778 that adds a couple of missing cases, most notably orphaned compile units. rdar://problem/28193346 llvm-svn: 281508
* Use Intel CPU flags to determine target supported features.Valentina Giusti2016-09-143-117/+183
| | | | | | | | | | | | | Summary: This patch uses the instruction CPUID to verify that FXSAVE, XSAVE, AVX and MPX are supported by the target hardware. In case the HW supports XSAVE, and at least one of the extended register sets, it further checks if the target software has the kernel support for such features, by verifying that their XSAVE part is correctly managed. Differential Revision: https://reviews.llvm.org/D24559 llvm-svn: 281507
* Make analyzeBranch family of instruction names consistentMatt Arsenault2016-09-1447-101/+101
| | | | | | | analyzeBranch was renamed to use lowercase first, rename the related set to match. llvm-svn: 281506
* AArch64: Use TTI branch functions in branch relaxationMatt Arsenault2016-09-1436-247/+287
| | | | | | | | | The main change is to return the code size from InsertBranch/RemoveBranch. Patch mostly by Tim Northover llvm-svn: 281505
* [x86] fix formatting; NFCSanjay Patel2016-09-141-28/+20
| | | | llvm-svn: 281504
* [compiler-rt] Avoid instrumenting sanitizer functionsEtienne Bergeron2016-09-142-6/+34
| | | | | | | | | | | | | | | | | | | Summary: Function __asan_default_options is called by __asan_init before the shadow memory got initialized. Instrumenting that function may lead to flaky execution. As the __asan_default_options is provided by users, we cannot expect them to add the appropriate function atttributes to avoid instrumentation. Reviewers: kcc, rnk Subscribers: dberris, chrisha, llvm-commits Differential Revision: https://reviews.llvm.org/D24566 llvm-svn: 281503
* [X86][SSE] Improve recognition of i64 sitofp conversions that can be ↵Simon Pilgrim2016-09-143-151/+59
| | | | | | | | | | | | performed as i32 (PR29078) Until AVX512DQ we only support i64/vXi64 sitofp conversion as scalars. This patch sees if the sign bit extends far enough that we can truncate to a i32 type and then perform sitofp without loss of precision. Differential Revision: https://reviews.llvm.org/D24345 llvm-svn: 281502
* [LoopInterchange] Typo. NFC.Chad Rosier2016-09-141-4/+4
| | | | llvm-svn: 281501
* [LoopInterchange] Add CL option to override cost threshold.Chad Rosier2016-09-141-3/+6
| | | | | | Mostly useful for getting consistent lit testing. llvm-svn: 281500
* [X86][SSE] Don't use PSHUFD directly - lower with generic shuffleSimon Pilgrim2016-09-141-17/+1
| | | | | | Remove the last user of the old getTargetShuffleNode helpers llvm-svn: 281499
* getValueType().getScalarSizeInBits() -> getScalarValueSizeInBits(), round 2 ↵Sanjay Patel2016-09-143-8/+6
| | | | | | ; NFCI llvm-svn: 281498
OpenPOWER on IntegriCloud