summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* AMDGPU: Unify divergent function exits.Matt Arsenault2017-03-2414-59/+1209
| | | | | | | | | | StructurizeCFG can't handle cases with multiple returns creating regions with multiple exits. Create a copy of UnifyFunctionExitNodes that only unifies exit nodes that skips exit nodes with uniform branch sources. llvm-svn: 298729
* Fix a test so that it actually checks the output.Peter Collingbourne2017-03-241-1/+1
| | | | llvm-svn: 298728
* Revert r298652 on Quentin's requestKrzysztof Parzyszek2017-03-243-7/+15
| | | | llvm-svn: 298727
* Make testcase less nonsensical while still exercising the same code paths.Adrian Prantl2017-03-241-20/+24
| | | | llvm-svn: 298726
* AMDGPU: Fold rcp/rsq of undef to undefMatt Arsenault2017-03-242-2/+33
| | | | llvm-svn: 298725
* TTI: Split IsSimple in MemIntrinsicInfoMatt Arsenault2017-03-243-30/+25
| | | | | | All this did before was assert in EarlyCSE. llvm-svn: 298724
* [AMDGPU] Fold V_CNDMASK with identical source operandsStanislav Mekhanoshin2017-03-242-0/+63
| | | | | | | | Such instructions sometimes appear after lowering and folding. Differential Revision: https://reviews.llvm.org/D31318 llvm-svn: 298723
* [AMDGPU] Rename Kind to ValueKind in metadata to be consistentKonstantin Zhuravlyov2017-03-245-186/+186
| | | | llvm-svn: 298722
* [AMDGPU] Add AMDGPUAliasAnalysis to opt pipelineStanislav Mekhanoshin2017-03-242-1/+32
| | | | | | | | Previously it was added only to the BE. Differential Revision: https://reviews.llvm.org/D31323 llvm-svn: 298721
* [ThinLTO] Correct counting of functions in inliner statsTeresa Johnson2017-03-242-0/+5
| | | | | | | | | | | | Summary: Declarations need to be filtered out when counting functions. Reviewers: eraman Subscribers: Prazek, llvm-commits Differential Revision: https://reviews.llvm.org/D31336 llvm-svn: 298720
* [AMDGPU] Don't enforce constexpr, there are still old standard libraries ↵Benjamin Kramer2017-03-241-4/+4
| | | | | | around that don't have a constexpr std::pair. llvm-svn: 298719
* [AMDGPU] Remove double map lookups in SI schedulerValery Pykhtin2017-03-241-25/+8
| | | | | | | | Patch by Axel Davy (axel.davy@normalesup.org) Differential revision: https://reviews.llvm.org/D30382 llvm-svn: 298718
* [PDB] Split item and type records when merging type streamsReid Kleckner2017-03-248-118/+232
| | | | | | | | | | | | Summary: MSVC does this when producing a PDB. Reviewers: ruiu Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31316 llvm-svn: 298717
* [X86][SSE] Add ashr + mask test cases.Simon Pilgrim2017-03-241-0/+26
| | | | | | Test cases showing cases where we're missing an opportunity to lshr a value with an extended sign to avoid loading a mask llvm-svn: 298716
* Revert "builtins: Select correct code fragments when compiling for ↵Weiming Zhao2017-03-2414-108/+64
| | | | | | | | | Thumb1/Thum2/ARM ISA." This reverts commit c3709191b6d36c4c936173f4a9a29a734b12cb15. (commit by mistake) llvm-svn: 298715
* [Compiler-rt][Builtins] Implement lit-test support (part 2 of 2)Weiming Zhao2017-03-243-0/+109
| | | | | | | | | | | | | | Summary: Original r297566 (https://reviews.llvm.org/D30802) is splitted into two parts. This part adds CMakefile/lit.cfg support. Reviewers: rengolin, compnerd, jroelofs, erik.pilkington Subscribers: srhines, dberris, mgorny Differential Revision: https://reviews.llvm.org/D31259 llvm-svn: 298714
* builtins: Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA.Weiming Zhao2017-03-2414-64/+108
| | | | | | | | | | | | | | | | | | | | | | | Summary: Value of __ARM_ARCH_ISA_THUMB isn't based on the actual compilation mode (-mthumb, -marm), it reflect's capability of given CPU. Due to this: - use __tbumb__ and __thumb2__ insteand of __ARM_ARCH_ISA_THUMB - use '.thumb' directive consistently in all affected files - decorate all thumb functions using DEFINE_COMPILERRT_THUMB_FUNCTION() --------- Note: This patch doesn't fix broken Thumb1 variant of __udivsi3 ! Reviewers: weimingz, rengolin, compnerd Subscribers: aemerson, dim Differential Revision: https://reviews.llvm.org/D30938 llvm-svn: 298713
* Fix MSVC 'not all control paths return a value' warning.Simon Pilgrim2017-03-241-0/+1
| | | | llvm-svn: 298712
* [InstCombine] Provide a way to calculate KnownZero/One for Add/Sub in ↵Craig Topper2017-03-243-25/+45
| | | | | | | | SimplifyDemandedUseBits without recursing into ComputeKnownBits SimplifyDemandedUseBits for Add/Sub already recursed down LHS and RHS for simplifying bits. If that didn't provide any simplifications we fall back to calling computeKnownBits which will recurse again. Instead just take the known bits for LHS and RHS we already have and call into a new function in ValueTracking that can calculate the known bits given the LHS/RHS bits. llvm-svn: 298711
* [AMDGPU] Fix SGPR usage count in SI schedulerValery Pykhtin2017-03-241-2/+2
| | | | | | | | Patch by Axel Davy (axel.davy@normalesup.org) Differential revision: https://reviews.llvm.org/D30149 llvm-svn: 298710
* [OpenCL][Bug 10573] Don't set CXXOperatorNames flagAnastasia Stulova2017-03-241-1/+0
| | | | | | | | | The flag CXXOperatorNames was overwritten unconditionally after being set for OpenCL. There seems to be no necessity to set it, so removing the line. llvm-svn: 298709
* [AMDGPU] Add a new line after a debug messageValery Pykhtin2017-03-241-0/+1
| | | | | | | | Patch by Axel Davy (axel.davy@normalesup.org) Differential revision: https://reviews.llvm.org/D30146 llvm-svn: 298708
* Update debug_external.cc testcase to use TSan-invisible barriers to reduce ↵Kuba Mracek2017-03-241-0/+5
| | | | | | flakiness. llvm-svn: 298707
* XFAIL the std::byte tests on a bunch of old clang versions, because they ↵Marshall Clow2017-03-2417-0/+51
| | | | | | don't like 'std::byte b1{1}' llvm-svn: 298706
* stable-merge-request.sh: Add a script for submitting merge requests via bugzillaTom Stellard2017-03-241-0/+198
| | | | | | | | | | | | | | Summary: This script will automatically create a new stable merge request bug in bugzilla for the given svn revision and release number. Reviewers: hans Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30905 llvm-svn: 298705
* [X86][SSE] Generalised lowerTruncate by PACKSS to work with any 'zero/all ↵Simon Pilgrim2017-03-241-17/+19
| | | | | | | | | | bits' result, not just comparisons. Added vector compare opcodes to X86TargetLowering::ComputeNumSignBitsForTargetNode Covered by existing tests added for D22814. llvm-svn: 298704
* Another instance where GCC doesn't understand implicit construction of ↵Benjamin Kramer2017-03-241-2/+2
| | | | | | StringLiteral. llvm-svn: 298703
* Make GCC happy again.Benjamin Kramer2017-03-242-3/+2
| | | | llvm-svn: 298702
* Don't build up std::vectors with constant sizes when an array suffices.Benjamin Kramer2017-03-243-79/+77
| | | | | | NFC. llvm-svn: 298701
* Remove stale and unused (MC)TargetOptions comparators.Teresa Johnson2017-03-242-62/+0
| | | | | | | | | | | | | | | | | Summary: I discovered accidentally that the operator== for TargetOptions is stale - it is missing many fields that have been added over the recent years. It isn't used, so remove it. Ditto for the comparator in MCTargetOptions, which doesn't seem stale yet but is unused. Reviewers: echristo Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D31301 llvm-svn: 298700
* [analyzer] MisusedMovedObject: Remove deprecated callback. NFCArtem Dergachev2017-03-241-7/+0
| | | | | | | | wantsRegionChangeUpdate() checker callback is no longer used since recently. Fixes a buildbot warning. llvm-svn: 298699
* [analyzer] Add MisusedMovedObjectChecker for detecting use-after-move errors.Artem Dergachev2017-03-244-0/+1113
| | | | | | | | | | | | The checker currently warns on copying, moving, or calling methods on an object that was recently std::move'd from. It understands a set of "state reset" methods that bring a moved-from object back to a well-specified state. Patch by Peter Szecsi! Differential Revision: https://reviews.llvm.org/D24246 llvm-svn: 298698
* [libclang] Bury dead TemporaryFilesKrasimir Georgiev2017-03-241-6/+0
| | | | | | | | | | | | | | | | Summary: AllocatedCXCodeCompleteResults::TemporaryFiles have turned into zombies. Seven years ago they used to do their job during [[ https://github.com/llvm-mirror/clang/commit/313e26c4e81f0e467490a530548450f4c824a6c4/tools/CIndex/CIndexCodeCompletion.cpp#diff-02d3e692ad507b10af9458b775c5750bL261 | file remapping]], but now they are created just to be torn down in the destructor. Reviewers: bkramer Reviewed By: bkramer Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D31288 llvm-svn: 298697
* [clangd] Add support for vscode extension configurationKrasimir Georgiev2017-03-242-5/+36
| | | | | | | | | | | | | Summary: Adds vscode workspace level configuration options for path to clangd binary and its arguments. Contributed by stanionascu! Reviewers: cfe-commits, bkramer, krasimir Reviewed By: krasimir Differential Revision: https://reviews.llvm.org/D31121 llvm-svn: 298696
* Revert r298491 and r298494 which changed Clang's handling of 'nonnull'Chandler Carruth2017-03-246-219/+77
| | | | | | | | | | | | | | | | | attributes. These patches don't work because we can't currently access the parameter information in a reliable way when building attributes. I thought this would be relatively straightforward to fix, but it seems not to be the case. Fixing this will requrie a substantial re-plumbing of machinery to allow attributes to be handled in this location, and several other fixes to the attribute machinery should probably be made at the same time. All of this will make the patch .... substantially more complicated. Reverting for now as there are active miscompiles caused by the current version. llvm-svn: 298695
* The expression text in AppleObjCRuntimeV1::CreateObjectCheckerJason Molenda2017-03-241-2/+3
| | | | | | | | | | | was formatted into a string inside an assert() expression. Which is elided when lldb is built with asserts disabled; the result is that all expressions will fail when debugging programs using the objective-c v1 runtime. <rdar://problem/30353271> llvm-svn: 298694
* Revert "[ScalarEvolution] Re-enable Predicate implication from operations"Max Kazantsev2017-03-244-534/+16
| | | | | | | | This reverts commit rL298690 Causes failures on clang. llvm-svn: 298693
* NewGVN: Small cleanup of two dominance related functions to makeDaniel Berlin2017-03-241-13/+39
| | | | | | them easier to understand. llvm-svn: 298692
* NewGVN: Small cleanup of useless expression deletion, and don't uselessly ↵Daniel Berlin2017-03-241-14/+19
| | | | | | create two expressions in symbolic store evaluation. llvm-svn: 298691
* [ScalarEvolution] Re-enable Predicate implication from operationsMax Kazantsev2017-03-244-16/+534
| | | | | | | | | | | | | | | | | | | | | | | | The patch rL298481 was reverted due to crash on clang-with-lto-ubuntu build. The reason of the crash was type mismatch between either a or b and RHS in the following situation: LHS = sext(a +nsw b) > RHS. This is quite rare, but still possible situation. Normally we need to cast all {a, b, RHS} to their widest type. But we try to avoid creation of new SCEV that are not constants to avoid initiating recursive analysis that can take a lot of time and/or cache a bad value for iterations number. To deal with this, in this patch we reject this case and will not try to analyze it if the type of sum doesn't match with the type of RHS. In this situation we don't need to create any non-constant SCEVs. This patch also adds an assertion to the method IsProvedViaContext so that we could fail on it and not go further into range analysis etc (because in some situations these analyzes succeed even when the passed arguments have wrong types, what should not normally happen). The patch also contains a fix for a problem with too narrow scope of the analysis caused by wrong usage of predicates in recursive invocations. The regression test on the said failure: test/Analysis/ScalarEvolution/implied-via-addition.ll llvm-svn: 298690
* Implement P0298R3: 'std::byte'. Reviewed as https://reviews.llvm.org/D31022Marshall Clow2017-03-2421-1/+623
| | | | llvm-svn: 298689
* [ValueTracking] Use uint64_t for CarryIn in computeKnownBitsAddSub instead ↵Craig Topper2017-03-241-2/+2
| | | | | | of a creating a temporary APInt. NFC llvm-svn: 298688
* NewGVN: Fix PR32403 - Handling of undef in phis was not quite correctDaniel Berlin2017-03-242-1/+79
| | | | | | | due to LLVM's view of phi nodes. It would cause NewGVN not to fixpoint in some interesting edge cases. llvm-svn: 298687
* Move the scoped_lock inside the '#ifndef NO_THREADS' block to fix the ↵Marshall Clow2017-03-241-79/+78
| | | | | | no-threading build llvm-svn: 298686
* [XRay] [compiler-rt] Plug a file descriptor leak in a failure case.Martin Pelikan2017-03-241-1/+1
| | | | | | | | | | | | Summary: Fd needs to be closed before the number gets out of scope. Reviewers: dberris Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31278 llvm-svn: 298685
* Fix a warning when running the GotsanRuntimeCheck test on Darwin.Kuba Mracek2017-03-241-3/+3
| | | | llvm-svn: 298684
* [ValueTracking] Convert more places to use ↵Craig Topper2017-03-241-7/+6
| | | | | | setHighBits/setLowBits/setSignBit. NFCI llvm-svn: 298683
* Update the Darwin/external.cc testcase to use rpath. This means we can move ↵Kuba Mracek2017-03-241-3/+12
| | | | | | the test output executables and still be able to run them. llvm-svn: 298682
* Implement Pp0156r2: 'Variadic Lock Guard, version 5' Reviewed as ↵Marshall Clow2017-03-2416-155/+201
| | | | | | https://reviews.llvm.org/D31163. llvm-svn: 298681
* [InstCombine] Use range-based for loop. NFCCraig Topper2017-03-241-5/+4
| | | | llvm-svn: 298680
OpenPOWER on IntegriCloud