summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [DAGCombiner] visitSDIV - add special case handling for (sdiv X, 1) -> X in ↵Simon Pilgrim2018-06-272-3546/+1422
| | | | | | | | pow2 expansion For divisor = 1, perform a select of X - reduces scalarisation of simple SDIVs llvm-svn: 335727
* [Analyzer] Moved RangeConstraintManager to header. NFC.Mikhail R. Gadelha2018-06-272-85/+86
| | | | | | | | | | | | | | Summary: While at it, added a dump method to RangeSet. Reviewers: george.karpenkov, NoQ Reviewed By: george.karpenkov Subscribers: xazax.hun, szepet, a.sidorin Differential Revision: https://reviews.llvm.org/D48561 llvm-svn: 335726
* Add regression test for PR37935.Nico Weber2018-06-271-0/+3
| | | | llvm-svn: 335725
* Build TaskQueueTest in threads=on builds, fixes regression from r335608.Nico Weber2018-06-271-0/+2
| | | | llvm-svn: 335724
* [clangd] Sema ranking tweaks: downrank keywords and injected names.Sam McCall2018-06-272-7/+16
| | | | | | | | | | | | | Summary: Injected names being ranked too high was just a bug. The high boost for keywords was intended, but was too much given how useless keywords are. We should probably boost them on a case-by-case basis eventually. Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, cfe-commits Differential Revision: https://reviews.llvm.org/D48368 llvm-svn: 335723
* [llvm-mca] Avoid calling method update() on instructions that are already in ↵Andrea Di Biagio2018-06-273-15/+25
| | | | | | | | | | the IS_READY state. NFCI When promoting instructions from the wait queue to the ready queue, we should check if an instruction has already reached the IS_READY state before calling method update(). llvm-svn: 335722
* [X86][SSE] Include MIN_SIGNED element in non-uniform SDIV pow2 testsSimon Pilgrim2018-06-271-25/+17
| | | | llvm-svn: 335721
* [DAGCombiner] visitSDIV - simplify pow2 handling. NFCI.Simon Pilgrim2018-06-271-29/+12
| | | | | | Use the builtin constant folding of getNode() etc. instead of doing it manually. llvm-svn: 335720
* [DAGCombiner] Fold SDIV(%X, MIN_SIGNED) -> SELECT(%X == MIN_SIGNED, 1, 0)Simon Pilgrim2018-06-272-54/+17
| | | | | | Fixes PR37569. llvm-svn: 335719
* [clangd] Do not show namespace comments.Ilya Biryukov2018-06-272-1/+14
| | | | | | | | | | | | | | | | | | | | | Summary: Comments from namespaces that clangd produces are too noisy and often not useful. Namespaces have too many redecls and we don't have a good way of determining which of the comments are relevant and which should be ignored (e.g. because they come from code generators like the protobuf compiler). Reviewers: sammccall Reviewed By: sammccall Subscribers: ioeric, MaskRay, jkorous, cfe-commits Differential Revision: https://reviews.llvm.org/D48211 llvm-svn: 335718
* [DAGCombiner] Don't accept signbit sdiv divisors in sdiv-by-pow2 vector ↵Simon Pilgrim2018-06-272-17/+65
| | | | | | expansion (PR37569) llvm-svn: 335717
* Removing empty CodeGen dir in rootLuke Geeson2018-06-270-0/+0
| | | | llvm-svn: 335716
* [AArch64] Remove Duplicate FP16 Patterns with same encoding, match on ↵Luke Geeson2018-06-275-64/+76
| | | | | | existing patterns llvm-svn: 335715
* [ELF] - Implement linker script OVERLAYs.George Rimar2018-06-276-10/+141
| | | | | | | | | | | | | | | | | | This is PR36768. Linker script OVERLAYs are described in 4.6.9. Overlay Description of the spec: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Using_ld_the_GNU_Linker/sections.html They are used to allow output sections which have different LMAs but the same VAs and used for embedded programming. Currently, LLD restricts overlapping of sections and that seems to be the most desired behaviour for defaults. My thoughts about possible approaches for PR36768 are on the bug page, this patch implements OVERLAY keyword and allows VAs overlapping for sections that within the overlay. Differential revision: https://reviews.llvm.org/D44780 llvm-svn: 335714
* Make -z option check more strict.Rui Ueyama2018-06-273-17/+11
| | | | llvm-svn: 335713
* Report an error for an unknown -z option.Rui Ueyama2018-06-272-0/+23
| | | | | | | | | This is a less clever version of https://reviews.llvm.org/D48433. This is a dumb version but I think I prefer this for its simplicity. Differential Revision: https://reviews.llvm.org/D48621 llvm-svn: 335712
* Add missing constness.Tatyana Krasnukha2018-06-278-8/+8
| | | | llvm-svn: 335711
* Move AddressClass to private enums since API doesn't provide any functions ↵Tatyana Krasnukha2018-06-2714-60/+37
| | | | | | | | to manage it. This change allows to make AddressClass strongly typed enum and not to have issues with old versions of SWIG that don't support enum classes. llvm-svn: 335710
* Fix a single typo in SBSymbolContextDave Lee2018-06-271-1/+1
| | | | | | | | | | | | | | Summary: Fix a "Manay" in SBSymbolContext.i Reviewers: xiaobai Reviewed By: xiaobai Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D48620 llvm-svn: 335709
* [CMake] Support passing FUCHSIA_SDK as the only variablePetr Hosek2018-06-271-8/+16
| | | | | | | | | | | | Now that the structure of Fuchsia SDK has been formalized, we no longer need to pass all the different CFLAGS/LDFLAGS to the CMake build separately, we can simply set the FUCHSIA_SDK variable and derive all the necessary variables from that one inside the cache file. Differential Revision: https://reviews.llvm.org/D48564 llvm-svn: 335708
* AMDGPU/NFC: Fix typo in commentKonstantin Zhuravlyov2018-06-271-1/+1
| | | | llvm-svn: 335707
* AMDHSA: Rename RESERVED -> RESERVED0, mark gfx9-specific fieldKonstantin Zhuravlyov2018-06-271-4/+4
| | | | llvm-svn: 335706
* AMDHSA/NFC: Address missed review feedback fromKonstantin Zhuravlyov2018-06-271-5/+5
| | | | | | | | | | https://reviews.llvm.org/D47566 Change wording from "Must be backwards compatible" to "Must match hardware definition" for enums that are defined by hardware. llvm-svn: 335705
* [CMake] Provide direct support for building sanitized runtimesPetr Hosek2018-06-272-15/+30
| | | | | | | | This avoids having to rely on magic separators and special parsing. Differential Revision: https://reviews.llvm.org/D48061 llvm-svn: 335704
* [CMake] Use variables rather than ":" delimitersPetr Hosek2018-06-272-19/+19
| | | | | | | | This is a more idiomatic CMake. Differential Revision: https://reviews.llvm.org/D37644 llvm-svn: 335703
* Fix warning about unhandled enumeration in switch.Zachary Turner2018-06-271-0/+2
| | | | llvm-svn: 335702
* [analyzer] [NFC] A convenient getter for getting a current stack frameGeorge Karpenkov2018-06-2724-71/+70
| | | | | | Differential Revision: https://reviews.llvm.org/D44756 llvm-svn: 335701
* [analyzer] [NFC] Add -verify to malloc checker testGeorge Karpenkov2018-06-271-19/+19
| | | | | | Differential Revision: https://reviews.llvm.org/D48514 llvm-svn: 335700
* Diagnose missing 'template' keywords in contexts where a comma is not aRichard Smith2018-06-276-89/+157
| | | | | | | | | | binary operator. Factor out the checking for a comma within potential angle brackets and also call it from contexts where we parse a comma-separated list of arguments or initializers. llvm-svn: 335699
* [ADT] Pass DerivedT from pointe{e,r}_iterator to iterator_adaptor_baseJustin Bogner2018-06-272-2/+16
| | | | | | | These were passing the wrong type into iterator_adaptor_base if T was anything but the default. llvm-svn: 335698
* [llvm-mca] Add a comment to Stage::execute and fix a spelling error. NFC.Matt Davis2018-06-271-1/+3
| | | | llvm-svn: 335697
* [InstCombine] Avoid creating mis-sized dbg.values in commonCastTransforms()Vedant Kumar2018-06-272-2/+8
| | | | | | | | | | | | | | This prevents InstCombine from creating mis-sized dbg.values when replacing a sequence of casts with a simpler cast. For example, in: (fptrunc (floor (fpext X))) -> (floorf X) We no longer emit dbg.value(X) (with a 32-bit float operand) to describe (fpext X) (which is a 64-bit float). This was diagnosed by the debugify check added in r335682. llvm-svn: 335696
* [Debugify] Handle failure to get fragment size when checking dbg.valuesVedant Kumar2018-06-272-4/+8
| | | | | | | | | | It's not possible to get the fragment size of some dbg.values. Teach the mis-sized dbg.value diagnostic to detect this scenario and bail out. Tested with: $ find test/Transforms -print -exec opt -debugify-each -instcombine {} \; llvm-svn: 335695
* [X86] Don't store register and memory FMA3 opcodes in the same ↵Craig Topper2018-06-273-99/+30
| | | | | | | | | | X86InstrFMA3Group. Nothing was using this relationship. By splitting them we no longer need to worry about register or memory entries being empty in a group. The memory folding tables in X86InstrInfo.cpp can be used to access this relationship if needed. llvm-svn: 335694
* Fix another bot broken by r335644Vlad Tsyrklevich2018-06-271-1/+1
| | | | | | | The android sanitizer bot can't resolve the function name in the DSO and it's not relevant to the test. llvm-svn: 335693
* [mips] Explicitly specify the linker emulation for MIPS on FreeBSD.John Baldwin2018-06-272-6/+50
| | | | | | | | | | | | | | FreeBSD's mips64 builds O32 binaries for /usr/lib32 by default and thus needs to be able to link O32 binaries which requires an explicit linker emulation. Go ahead and list all the linker emulation variants for MIPS so that any supported MIPS ABI binary can be linked by any linker supporting MIPS. Reviewed By: atanasyan Differential Revision: https://reviews.llvm.org/D48507 llvm-svn: 335691
* Use the API's to get the TargetSP.Jim Ingham2018-06-261-1/+1
| | | | llvm-svn: 335690
* The Process class ivar ivar was changed to a weak pointer, but was still _sp.Jim Ingham2018-06-262-5/+5
| | | | | | Fix that to _wp. llvm-svn: 335689
* This is not a debug info sensitive test.Jim Ingham2018-06-261-0/+2
| | | | llvm-svn: 335688
* Diagnose missing 'template' keywords in more cases.Richard Smith2018-06-2612-30/+280
| | | | | | | | | | | | | | | | | | | | We track when we see a name-shaped expression followed by a '<' token and parse the '<' as a comparison. Then: * if we see a token sequence that cannot possibly be an expression but can be a template argument (in particular, a type-id) that follows either a ',' or the '<', diagnose that the '<' was supposed to start a template argument list, and * if we see '>()', diagnose that the '<' was supposed to start a template argument list. This only changes the diagnostic for error cases, and in practice appears to catch the most common cases where a missing 'template' keyword leads to parse errors within a template. Differential Revision: https://reviews.llvm.org/D48571 llvm-svn: 335687
* [clang] Add test dependency on llvm-asShoaib Meenai2018-06-261-0/+1
| | | | | | | r335618 added tests that invoke llvm-as, so we should also ensure that running clang tests rebuilds llvm-as. llvm-svn: 335686
* [analyzer] [tests] Include statistics in tests.George Karpenkov2018-06-261-1/+7
| | | | llvm-svn: 335685
* Revert "[MS] Use mangled names and comdats for string merging with ASan"Evgeniy Stepanov2018-06-261-5/+7
| | | | | | Depends on r334313, which has been reverted in r335681. llvm-svn: 335684
* [analyzer] Minor cleanups for BugReporter, expose a getter for AnalyzerOptions.George Karpenkov2018-06-263-15/+9
| | | | llvm-svn: 335683
* [Debugify] Diagnose mis-sized dbg.valuesVedant Kumar2018-06-262-4/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Report an error in -check-debugify when the size of a dbg.value operand doesn't match up with the size of the variable it describes. Eventually this check should be moved into the IR verifier. For the moment, it's useful to include the check in -check-debugify as a means of catching regressions and finding existing bugs. Here are some instances of bugs the new check finds in the -O2 pipeline (all in InstCombine): 1) A float is used where a double is expected: ERROR: dbg.value operand has size 32, but its variable has size 64: call void @llvm.dbg.value(metadata float %expf, metadata !12, metadata !DIExpression()), !dbg !15 2) An i8 is used where an i32 is expected: ERROR: dbg.value operand has size 8, but its variable has size 32: call void @llvm.dbg.value(metadata i8 %t4, metadata !14, metadata !DIExpression()), !dbg !24 3) A <4 x i32> is used where something twice as large is expected (perhaps a <4 x i64>, I haven't double-checked): ERROR: dbg.value operand has size 128, but its variable has size 256: call void @llvm.dbg.value(metadata <4 x i32> %4, metadata !40, metadata !DIExpression()), !dbg !95 Differential Revision: https://reviews.llvm.org/D48408 llvm-svn: 335682
* Revert "[asan] Instrument comdat globals on COFF targets"Evgeniy Stepanov2018-06-262-79/+8
| | | | | | Causes false positive ODR violation reports on __llvm_profile_raw_version. llvm-svn: 335681
* [ORC] Don't call isa<> on a null value.Lang Hames2018-06-261-1/+1
| | | | | | This should fix the recent builder failures in the test-global-ctors.ll testcase. llvm-svn: 335680
* [ORC] Fix a missing return value.Lang Hames2018-06-261-0/+2
| | | | llvm-svn: 335677
* [ELF] Move `// REQUIRES:` line to the topFangrui Song2018-06-26127-132/+127
| | | | llvm-svn: 335676
* [JumpThreading] Don't try to rewrite a use if it's already valid.Michael Zolotukhin2018-06-262-10/+31
| | | | | | | | | | | | | | | | | | | Summary: When recording uses we need to rewrite after cloning a loop we need to check if the use is not dominated by the original def. The initial assumption was that the cloned basic block will introduce a new path and thus the original def will only dominate the use if they are in the same BB, but as the reproducer from PR37745 shows it's not always the case. This fixes PR37745. Reviewers: haicheng, Ka-Ka Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D48111 llvm-svn: 335675
OpenPOWER on IntegriCloud