summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Bitcode] Add compatibility test for the 3.8 releaseVedant Kumar2016-03-162-0/+1590
| | | | | | | Fork off compatibility.ll for the 3.8 release. The *.bc file in this commit was produced using a Release build of the release_38 branch. llvm-svn: 263620
* [JumpThreading] See through Cast InstructionsHaicheng Wu2016-03-162-0/+53
| | | | | | To capture more jump-thread opportunity. llvm-svn: 263618
* Reapply: [VFS] Add support for handling path traversalsBruno Cardoso Lopes2016-03-164-24/+269
| | | | | | | | | | | | | | | | | | | | | | | | | | This is originally r261551, reverted because of windows bots failing on unittests. Change the current behavior to do not handle path traversals on windows. Handle ".", ".." and "./" with trailing slashes while collecting files to be dumped into the vfs overlay directory. Include the support for symlinks into components. Given the path: /install-dir/bin/../lib/clang/3.8.0/include/altivec.h, if "bin" component is a symlink, it's not safe to use `path::remove_dots` here, and `realpath` is used to get the right answer. Since `realpath` is expensive, we only do it at collecting time (which only happens during the crash reproducer) and cache the base directory for fast lookups. Overall, this makes the input to the VFS YAML file to be canonicalized to never contain traversal components. Differential Revision: http://reviews.llvm.org/D17104 rdar://problem/24499339 llvm-svn: 263617
* Add clang thread safety annotations to mutex and lock_guard. Patch by ↵Eric Fiselier2016-03-168-8/+154
| | | | | | | | | | | | | | | jamesr@google.com. This adds clang thread safety annotations to std::mutex and std::lock_guard so code using these types can use these types directly instead of having to wrap the types to provide annotations. These checks when enabled by -Wthread-safety provide simple but useful static checking to detect potential race conditions. See http://clang.llvm.org/docs/ThreadSafetyAnalysis.html for details. This patch was reviewed in http://reviews.llvm.org/D14731. llvm-svn: 263611
* [Support] Update Error unit test to remove implementation specific behaviour.Lang Hames2016-03-161-2/+1
| | | | llvm-svn: 263610
* [Support] Add the 'Error' class for structured error handling.Lang Hames2016-03-165-0/+1378
| | | | | | | | | | | | | | | | | This patch introduces the Error classs for lightweight, structured, recoverable error handling. It includes utilities for creating, manipulating and handling errors. The scheme is similar to exceptions, in that errors are described with user-defined types. Unlike exceptions however, errors are represented as ordinary return types in the API (similar to the way std::error_code is used). For usage notes see the LLVM programmer's manual, and the Error.h header. Usage examples can be found in unittests/Support/ErrorTest.cpp. Many thanks to David Blaikie, Mehdi Amini, Kevin Enderby and others on the llvm-dev and llvm-commits lists for lots of discussion and review. llvm-svn: 263609
* [X86] Regenerated widen load testsSimon Pilgrim2016-03-161-94/+127
| | | | llvm-svn: 263608
* Convert some ObjC msgSends to runtime calls.Pete Cooper2016-03-1610-18/+336
| | | | | | | | | | | | | | It is faster to directly call the ObjC runtime for methods such as retain/release instead of sending a message to those functions. This patch adds support for converting messages to retain/release/alloc/autorelease to their equivalent runtime calls. Tests included for the positive case of applying this transformation, negative tests that we ensure we only convert "alloc" to objc_alloc, not "alloc2", and also a driver test to ensure we enable this only for supported runtime versions. Reviewed by John McCall. Differential Revision: http://reviews.llvm.org/D14737 llvm-svn: 263607
* [X86][SSE41] Additional tests for extracting zeroable shuffle elementsSimon Pilgrim2016-03-161-0/+83
| | | | | | We can currently only match zeroable vector elements of the same size as the shuffle type - these tests demonstrate the problem and a solution will be shortly added in an updated D14261 llvm-svn: 263606
* Revert "[JumpThreading] Simplify Instructions first in ↵Haicheng Wu2016-03-152-85/+20
| | | | | | | | ComputeValueKnownInPredecessors()" Not sure it handles undef properly. llvm-svn: 263605
* On some platforms, the compiler is allowed to assume that BOOL == bool. On ↵Enrico Granata2016-03-153-7/+21
| | | | | | | | | | | | others, BOOL == signed char. This can cause differences in which bit patterns end up meaning YES or NO. In general, however, 0 == NO and 1 == YES. To keep it simple, LLDB will now show "YES" and "NO" only for 1 and 0 respectively, and format other values as the plain numeric value instead. Fixes rdar://24809994 llvm-svn: 263604
* Make it so that the data formatter for NSError can see through a variable of ↵Enrico Granata2016-03-154-31/+42
| | | | | | type NSError**. Fixes rdar://25060684 llvm-svn: 263603
* Only try to load the OS plug-in after a shared library load if we don't ↵Greg Clayton2016-03-151-1/+4
| | | | | | | | already have one. <rdar://problem/24162686> llvm-svn: 263602
* Fix ClangASTContext::GetFunctionArgumentAtIndex() to not water down the type ↵Greg Clayton2016-03-151-1/+1
| | | | | | to the canonical type before handing the type out for the function type. llvm-svn: 263601
* Unbreak buildbot.Davide Italiano2016-03-151-1/+1
| | | | | | | It passed on a case-insensitive filesystem, but it was broken on a case-sensitive one. llvm-svn: 263598
* llvm-bcanalyzer: Fix handling of attribute group entriesJustin Bogner2016-03-151-0/+4
| | | | | | | These were printing as "UnknownCode3", since we were looking for them inside PARAMATTR blocks instead of PARAMATTR_GROUP blocks. llvm-svn: 263597
* Myriad: define __myriad2 macro automaticallyDouglas Katzman2016-03-153-5/+35
| | | | llvm-svn: 263596
* Turn LoopLoadElimination on againAdam Nemet2016-03-151-2/+2
| | | | | | | | | The latent bug that LLE exposed in the LoopVectorizer was resolved (PR26952). The pass can be disabled with -mllvm -enable-loop-load-elim=0 llvm-svn: 263595
* [ELF] Ignore _GLOBAL_OFFSET_TABLE_ symbol in shared libs.Davide Italiano2016-03-152-4/+10
| | | | | | | | This fixes PR26705. Differential Revision: http://reviews.llvm.org/D18166 llvm-svn: 263594
* Don't crash if the TypeSP is empty.Greg Clayton2016-03-151-1/+4
| | | | llvm-svn: 263593
* Improve the 'type lookup' command such that it guesses to use the current's ↵Enrico Granata2016-03-153-2/+52
| | | | | | frame language as the one to start searching from. llvm-svn: 263592
* [libfuzzer] speeding up corpus loadMike Aizatsky2016-03-151-8/+10
| | | | llvm-svn: 263591
* Fix EHFrame processing to add implicit references when needed.Pete Cooper2016-03-159-36/+582
| | | | | | | | | | | | | | | | | The current code for processCIE and processFDE returns out if it sees any references. The problem with this is that some references could be explicit in the binary, while others are implicit as they can be inferred from the content of the EHFrame itself. This change walks the references we have against the references we need, and verifies that all explicit references are in the correct place, and generates any missing implicit ones. Reviewed by Lang Hames and Nick Kledzik. Differential Revision: http://reviews.llvm.org/D15439 llvm-svn: 263590
* Revert commit http://reviews.llvm.org/D17877 to fix tests on x86.Arpith Chacko Jacob2016-03-155-1053/+6
| | | | llvm-svn: 263589
* Remove unnecessary <limits> includes.Jim Ingham2016-03-157-9/+4
| | | | llvm-svn: 263588
* [OpenMP] Base support for target directive codegen on NVPTX device.Arpith Chacko Jacob2016-03-155-6/+1053
| | | | | | | | | | | Summary: This patch adds base support for codegen of the target directive on the NVPTX device. Reviewers: ABataev Differential Revision: http://reviews.llvm.org/D17877 llvm-svn: 263587
* Fix spelling error in commentJonathan Peyton2016-03-151-1/+1
| | | | llvm-svn: 263586
* Also handle the new Rust pers fn to isCatchAll()Bjorn Steinbrink2016-03-151-2/+3
| | | | llvm-svn: 263585
* Move the fixit for -Wformat-security to a note.Bob Wilson2016-03-158-42/+29
| | | | | | | | r263299 added a fixit for the -Wformat-security warning, but that runs into complications with our guideline that error recovery should be done as-if the fixit had been applied. Putting the fixit on a note avoids that. llvm-svn: 263584
* [STATS] Print "Unknown" for frequency if it wasn't able to be parsedJonathan Peyton2016-03-152-2/+5
| | | | llvm-svn: 263583
* [STATS] Fix comments in kmp_stats.hJonathan Peyton2016-03-151-22/+17
| | | | llvm-svn: 263582
* Add Rust's personality function to the list of known personality functionsBjorn Steinbrink2016-03-152-1/+3
| | | | | | | | | | Reviewers: majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18192 llvm-svn: 263581
* [STATS] Add header information to stats print outJonathan Peyton2016-03-154-61/+69
| | | | | | | | | | This change adds a header to the printout of the statistics which includes the time, machine name, and processor info if available. This change also includes some cosmetic changes like using enum casting for timer and counter iteration. Differential Revision: http://reviews.llvm.org/D18153 llvm-svn: 263580
* [msan] Don't put module constructors in comdats.Evgeniy Stepanov2016-03-153-7/+13
| | | | | | | | | There is something strange going on with debug info (.eh_frame_hdr) disappearing when msan.module_ctor are placed in comdat sections. Moving this functionality under flag, disabled by default. llvm-svn: 263579
* [cfi] Don't emit checks for disabled CFI kinds.Evgeniy Stepanov2016-03-153-9/+79
| | | | | | | | | | | | | | In the cross-DSO CFI mode clang emits __cfi_check_fail that handles errors triggered from other modules with targets in the current module. With this change, __cfi_check_fail will handle errors for CFI kinds that are not enabled in the current module as if they have the trapping behaviour (-fsanitize-trap=...). This fixes a bug where some combinations of -fsanitize* flags may result in a link failure due to a missing sanitizer runtime library for the diagnostic calls in __cfi_check_fail. llvm-svn: 263578
* Add missing error handling in llvm-ltoMehdi Amini2016-03-151-0/+1
| | | | | | | | | Annoyingly, ErrorOr allows to *not check* the error when things go well. It will crash badly when there is an error though. It should runtime assert when it is used without being checked! From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 263577
* [ThinLTO] Record all global variable defs in the summaryTeresa Johnson2016-03-151-11/+10
| | | | | | | Record all variable defs with a summary record to aid in building a complete reference graph and locating constant variable defs to import. llvm-svn: 263576
* [ASan] Make sure unittest works if sized-delete is enabled by default.Alexey Samsonov2016-03-151-4/+10
| | | | llvm-svn: 263575
* Test commit - Remove some trailing whitespacePablo Barrio2016-03-151-1/+1
| | | | llvm-svn: 263574
* [MIR] Add a test case for the diagnostic of a wrongly typed generic instructionQuentin Colombet2016-03-151-0/+15
| | | | llvm-svn: 263573
* [AArch64] Move GlobalISel test cases into a GlobalISel subdirectoryQuentin Colombet2016-03-151-0/+0
| | | | llvm-svn: 263572
* [CMake] Updating Apple build configurationsChris Bieneman2016-03-151-1/+1
| | | | | | This updates Apple build configurations to adapt to r263566 & r263570, which added a PACKAGE_VENDOR variable. llvm-svn: 263571
* [CMake] Defaulting CLANG_VENDOR to PACKAGE_VENDORChris Bieneman2016-03-151-1/+1
| | | | | | LLVM r263566 adds a generic PACKAGE_VENDOR configuration which can be used to specify the vendor for LLVM toolchain tools. This change defaults the CLANG_VENDOR to the PACKAGE_VENDOR so that you don't have to specify both when building a package. llvm-svn: 263570
* ELF: Fix use-after-free problem.Rui Ueyama2016-03-153-12/+14
| | | | | | | | | Fixes pr26908. This patch is based on Filipe Cabecinhas' patch (http://reviews.llvm.org/D18167) http://reviews.llvm.org/D18169 llvm-svn: 263569
* Fix a bot I broke.Chris Bieneman2016-03-151-1/+4
| | | | | | The builtin library isn't added by the driver unless it exists, so we shouldn't check for it. I've marked this as a FIXME, because we probably should have a way to test this. llvm-svn: 263568
* [Driver] [Darwin] Fix linking libclang_rt.profile_*sim.aChris Bieneman2016-03-152-28/+8
| | | | | | | | | | | | Summary: isTarget*() calls are order-dependent. This is because iOS Sim *is* iOS. This means checks for the simulator version of the platform must always be ahead of checks for the embedded platform. Reviewers: zaks.anna, bogner Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D17947 llvm-svn: 263567
* [CMake] Add PACKAGE_VENDOR for customizing version outputChris Bieneman2016-03-152-2/+9
| | | | | | | | | | | | Summary: This change adds a PACKAGE_VENDOR variable. When set it makes the version output more closely resemble the clang version output. Reviewers: aprantl, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18159 llvm-svn: 263566
* [LV] Preserve LoopInfo when store predication is usedAdam Nemet2016-03-154-12/+18
| | | | | | | | | | | | | | | | | This was a latent bug that got exposed by the change to add LoopSimplify as a dependence to LoopLoadElimination. Since LoopInfo was corrupted after LV, LoopSimplify mis-compiled nbench in the test-suite (more details in the PR). The problem was that when we create the blocks for predicated stores we didn't add those to any loops. The original testcase for store predication provides coverage for this assuming we verify LI on the way out of LV. Fixes PR26952. llvm-svn: 263565
* [MC] Rename TLSDESC as it's not ARM specific.Davide Italiano2016-03-153-4/+4
| | | | | | Similarly to what was done for TLSCALL in r263515. llvm-svn: 263564
* AMDGPU/SI: Implement GroupStaticSize Intrinsic for Dynamic LDSChangpeng Fang2016-03-154-2/+79
| | | | | | | | | | | | | | | | | | | Summary: Static LDS size is saved in MachineFunctionInfo::LDSSize, We define a pseudo instruction with usesCustomInserter bit set. Then, in EmitInstrWithCustomInserter, we replace this pseudo instruction with a mov of MachineFunctionInfo::LDSSize. Reviewers: arsenm tstellarAMD Subscribers llvm-commits, arsenm Differential Revision: http://reviews.llvm.org/D18064 llvm-svn: 263563
OpenPOWER on IntegriCloud