summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[Sanitizers] UBSan unreachable incompatible with ASan in the ↵Julian Lettner2019-01-2418-104/+41
| | | | | | | | presence of `noreturn` calls" This reverts commit cea84ab93aeb079a358ab1c8aeba6d9140ef8b47. llvm-svn: 352069
* Partial support of SHT_GROUP without flagSerge Guelton2019-01-242-22/+74
| | | | | | | | | | This does *not* implement full SHT_GROUP semantic, yet it is a simple step forward: Sections within a group are still considered valid, but they do not behave as specified by the standard in case of garbage collection. Differential Revision: https://reviews.llvm.org/D56437 llvm-svn: 352068
* [SelectionDAGBuilder] Simplify HasSideEffect calculation. NFC.Nirav Dave2019-01-241-13/+7
| | | | llvm-svn: 352067
* [InlineAsm] Don't calculate registers for inline asm memory operands. NFCI.Nirav Dave2019-01-241-0/+4
| | | | llvm-svn: 352066
* Mark another test as flakyKamil Rytarowski2019-01-241-0/+2
| | | | | | Reported on the NetBSD 8 buildbot. llvm-svn: 352064
* [x86] add low/high undef half shuffle mask helpers; NFCSanjay Patel2019-01-241-8/+19
| | | | | | | | This is the most common usage for isUndefInRange, so make the code slightly less duplicated and more readable. llvm-svn: 352063
* [RS4GC] Expand/standardize tests introduced in rL352059Philip Reames2019-01-241-4/+121
| | | | | | Write a couple of variations on vector geps w/both scalars and vectors live over safepoints. Use update_test_checks to show all the IR. llvm-svn: 352062
* [RS4GC] Be slightly less conservative for gep vector_base, scalar_idxPhilip Reames2019-01-242-12/+11
| | | | | | | | After submitting https://reviews.llvm.org/D57138, I realized it was slightly more conservative than needed. The scalar indices don't appear to be a problem on a vector gep, we even had a test for that. Differential Revision: https://reviews.llvm.org/D57161 llvm-svn: 352061
* Fix failing buildbotsGabor Marton2019-01-241-2/+2
| | | | | | | | | Fix remaining unittest errors caused by __attribute__((no_caller_saved_registers)) Related commit which caused the buildbots to fail: rL352050 llvm-svn: 352060
* [RS4GC] Avoid crashing on gep scalar_base, vector_idxPhilip Reames2019-01-243-1/+55
| | | | | | | | | | | | This is an alternative to https://reviews.llvm.org/D57103. After discussion, we dedicided to check this in as a temporary workaround, and pursue a true fix under the original thread. The issue at hand is that the base rewriting algorithm doesn't consider the fact that GEPs can turn a scalar input into a vector of outputs. We had handling for scalar GEPs and fully vector GEPs (i.e. all vector operands), but not the scalar-base + vector-index forms. A true fix here requires treating GEP analogously to extractelement or shufflevector. This patch is merely a workaround. It simply hides the crash at the cost of some ugly code gen for this presumable very rare pattern. Differential Revision: https://reviews.llvm.org/D57138 llvm-svn: 352059
* [CMake] Get back some variables used in AddLLVM.cmakeStefan Granitz2019-01-241-0/+5
| | | | | | This fixes 'gtest/gtest.h' file not found when building unit tests after r351863. llvm-svn: 352058
* [scudo] Tuning changes based on feedback from current useKostya Kortchinsky2019-01-244-16/+18
| | | | | | | | | | | | | | | | | | | | | | Summary: This tunes several of the default parameters used within the allocator: - disable the deallocation type mismatch on Android by default; this was causing too many issues with third party libraries; - change the default `SizeClassMap` to `Dense`, it caches less entries and is way more memory efficient overall; - relax the timing of the RSS checks, 10 times per second was too much, lower it to 4 times (every 250ms), and update the test so that it passes with the new default. Reviewers: eugenis Reviewed By: eugenis Subscribers: srhines, delcypher, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D57116 llvm-svn: 352057
* [TargetLowering] Rename getExpandedFixedPointMultiplication to ↵Simon Pilgrim2019-01-243-5/+3
| | | | | | | | expandFixedPointMul. NFCI. Match the (much shorter) name used in various legalization methods. llvm-svn: 352056
* Fix failing buildbotsGabor Marton2019-01-241-1/+4
| | | | | | | Related commit which caused the buildbots to fail: rL352050 llvm-svn: 352055
* [CPU-Dispatch] Make pentium_iii_no_xmm_regs and pentium_iii alias.Erich Keane2019-01-242-1/+4
| | | | | | | | | | | | | | | | I discovered that in ICC (where this list comes from), that the two pentium_iii versions were actually identical despite the two different names (despite them implying a difference). Because of this, they ended up having identical manglings, which obviously caused problems when used together. This patch makes pentium_iii_no_xmm_regs an alias for pentium_iii so that it can still be used, but has the same meaning as ICC. However, we still prohibit using the two together which is different (albeit better) behavior. Change-Id: I4f3c9a47e48490c81525c8a3d23ed4201921b288 llvm-svn: 352054
* [SelectionDAGBuilder] Fuse inline asm input operand loops passes. NFCI.Nirav Dave2019-01-241-13/+9
| | | | llvm-svn: 352053
* [Docs] Add information about unit tests to the testing guideMichael Platings2019-01-241-10/+25
| | | | | | Differential Revision: https://reviews.llvm.org/D57088 llvm-svn: 352052
* [X86] Add missing isReg() guards in FixupSetCCs pass.Nirav Dave2019-01-241-2/+2
| | | | llvm-svn: 352051
* [ASTImporter] Fix inequality of functions with different attributesGabor Marton2019-01-242-1/+53
| | | | | | | | | | | | | | | | Summary: FunctionType::ExtInfo holds such properties of a function which are needed mostly for code gen. We should not compare these bits when checking for structural equivalency. Checking ExtInfo caused false ODR errors during CTU analysis (of tmux). Reviewers: a_sidorin, a.sidorin, shafik Subscribers: rnkovacs, dkrupp, Szelethus, cfe-commits Differential Revision: https://reviews.llvm.org/D53699 llvm-svn: 352050
* [clangd] Clean the cache of file statuses on vscode-clangd when clangd crashes.Haojian Wu2019-01-241-5/+17
| | | | | | | | | | | | | | Summary: Clear the cached file statuses, otherwise we will leave some garbage texts on the status bar when clangd crashes. Reviewers: ilya-biryukov Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D56540 llvm-svn: 352049
* [x86] add tests for unpack shuffle lowering; NFCSanjay Patel2019-01-244-0/+200
| | | | | | https://bugs.llvm.org/show_bug.cgi?id=40434 llvm-svn: 352048
* [Sema] Don't crash when recovering from a misspelled pseudo destructor call ↵Bruno Ricci2019-01-242-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | to an incomplete type. When attempting to correct a misspelled pseudo destructor call as in: struct Foo; void foo(Foo *p) { p.~Foo(); } a call is made in canRecoverDotPseudoDestructorCallsOnPointerObjects to LookupDestructor without checking that the record has a definition. This causes an assertion later in LookupSpecialMember which assumes that the record has a definition. Patch By Roman Zhikharevich! Differential Revision: https://reviews.llvm.org/D57111 Reviewed By: riccibruno llvm-svn: 352047
* [CostModel][X86] Add SMUL fixed point cost tests Simon Pilgrim2019-01-241-0/+75
| | | | llvm-svn: 352046
* [TTI] Add generic SADDO/SSUBO costsSimon Pilgrim2019-01-243-36/+414
| | | | | | Added x86 scalar sadd_with_overflow/ssub_with_overflow costs. llvm-svn: 352045
* [TTI] Add generic UADDSAT/USUBSAT costsSimon Pilgrim2019-01-244-438/+368
| | | | | | | | Add generic costs calculation for UADDSAT/USUBSAT intrinsics, this fallbacks to using generic costs for uadd_with_overflow/usub_with_overflow + a select. Differential Revision: https://reviews.llvm.org/D56907 llvm-svn: 352044
* [TTI] Add generic UADDO/USUBO costsSimon Pilgrim2019-01-243-39/+406
| | | | | | | | Added x86 scalar uadd_with_overflow/usub_with_overflow costs. Differential Revision: https://reviews.llvm.org/D56907 llvm-svn: 352043
* Test commit: fix typo.Pierre Gousseau2019-01-241-1/+1
| | | | llvm-svn: 352042
* Revert "[HotColdSplitting] Get DT and PDT from the pass manager."Florian Hahn2019-01-241-32/+9
| | | | | | | | | This reverts commit a6982414edf315c39ae93f3c3322476217119e99 (llvm-svn: 352036), because it causes a memory leak in the pass manager. Failing bot http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/10351/steps/check-llvm%20asan/logs/stdio llvm-svn: 352041
* [CodeComplete] [clangd] Fix crash on ValueDecl with a null typeIlya Biryukov2019-01-244-2/+24
| | | | | | | | | | | | Reviewers: kadircet Reviewed By: kadircet Subscribers: ioeric, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D57093 llvm-svn: 352040
* Fix python3 compability issue in clang bindingSerge Guelton2019-01-241-23/+15
| | | | | | | | | | | | | | The file contents could be of str type. Should use byte length instead of str length, otherwise utf-8 encoded files may not get properly parsed for completion. Source issue: https://github.com/ncm2/ncm2-pyclang#2 Commited on behalf of `roxma' Differential Revision: https://reviews.llvm.org/D56429 llvm-svn: 352039
* [MIPS GlobalISel] Select zero extending and sign extending loadPetar Avramovic2019-01-247-2/+505
| | | | | | | | | Select zero extending and sign extending load for MIPS32. Use size from MachineMemOperand to determine number of bytes to load. Differential Revision: https://reviews.llvm.org/D57099 llvm-svn: 352038
* [MIPS GlobalISel] Combine extending loadsPetar Avramovic2019-01-243-0/+249
| | | | | | | | | | | | | | Use CombinerHelper to combine extending load instructions. G_LOAD combined with G_ZEXT, G_SEXT or G_ANYEXT gives G_ZEXTLOAD, G_SEXTLOAD or G_LOAD with same type as def of extending instruction respectively. Similarly G_ZEXTLOAD combined with G_ZEXT gives G_ZEXTLOAD and G_SEXTLOAD combined with G_SEXT gives G_SEXTLOAD with same type as def of extending instruction. Differential Revision: https://reviews.llvm.org/D56914 llvm-svn: 352037
* [HotColdSplitting] Get DT and PDT from the pass manager.Florian Hahn2019-01-241-9/+32
| | | | | | | | | | | | | | | | | | | Instead of manually computing DT and PDT, we can get the from the pass manager, which ideally has them already cached. With the new pass manager, we could even preserve DT/PDT on a per function basis in a module pass. I think this also addresses the TODO about re-using the computed DTs for BFI. IIUC, GetBFI will fetch the DT from the pass manager and when we will fetch the cached version later. Reviewers: vsk, hiraditya, tejohnson, thegameg, sebpop Reviewed By: vsk Differential Revision: https://reviews.llvm.org/D57092 llvm-svn: 352036
* Fix potential ODR vialation.Haojian Wu2019-01-241-1/+1
| | | | llvm-svn: 352035
* Reapply: [mips] Handle MipsMCExpr sub-expression for the MEK_DTPREL tagSimon Atanasyan2019-01-243-10/+35
| | | | | | | | | | | | | | | | | | | | | This reapplies commit r351987 with a failed test fix. Now the test accepts both DW_OP_GNU_push_tls_address and DW_OP_form_tls_address opcode. Original commit message: ``` This is a fix for a regression introduced by the rL348194 commit. In that change new type (MEK_DTPREL) of MipsMCExpr expression was added, but in some places of the code this type of expression considered as unexpected. This change fixes the bug. The MEK_DTPREL type of expression is used for marking TLS DIEExpr only and contains a regular sub-expression. Where we need to handle the expression, we retrieve the sub-expression and handle it in a common way. ``` llvm-svn: 352034
* Revert https://reviews.llvm.org/D56485.Martin Liska2019-01-242-1/+7
| | | | llvm-svn: 352033
* Always compare C++ typeinfo (based on libstdc++ implementation).Martin Liska2019-01-242-7/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D56485. llvm-svn: 352032
* [extra] unit tests enable crash-recovery cases on FreeBSDDavid Carlier2019-01-241-3/+1
| | | | | | | | | | | | Seems the previous statement does not hold up anymore. Reviewers: steveire Reviewed By: steveire Differential Revision: https://reviews.llvm.org/D57102 llvm-svn: 352031
* [SystemZ] Remember to reset the NoPHIs property on MF in createPHIsForSelects()Jonas Paulsson2019-01-242-2/+4
| | | | | | | | After creating new PHI instructions during isel pseudo expansion, the NoPHIs property of MF should be reset in case it was previously set. Review: Ulrich Weigand llvm-svn: 352030
* [X86] Update SelectionDAGDumper to print the extension type and expanding ↵Craig Topper2019-01-241-0/+30
| | | | | | flag for masked loads. Add truncating and compressing for masked stores. llvm-svn: 352029
* [X86] Add test cases for opportunities to fold a truncate and a masked store ↵Craig Topper2019-01-244-1/+5985
| | | | | | into a truncating masked store. llvm-svn: 352027
* [NFC] Add another failing test on LoopSimplifyCFGMax Kazantsev2019-01-241-0/+32
| | | | llvm-svn: 352026
* Reland r345009 "[DebugInfo] Generate debug information for labels."Hsiangkai Wang2019-01-245-0/+83
| | | | | | | | | | | | | | | | Generate DILabel metadata and call llvm.dbg.label after label statement to associate the metadata with the label. After fixing PR37395. After fixing problems in LiveDebugVariables. After fixing NULL symbol problems in AddressPool when enabling split-dwarf-file. After fixing PR39094. After landing D54199 and D54465 to fix Chromium build failed. Differential Revision: https://reviews.llvm.org/D45045 llvm-svn: 352025
* [LoopSimplifyCFG] Fix inconsistency in live blocks markupMax Kazantsev2019-01-242-4/+25
| | | | | | | | | | | | | | | | | | | | | | When we choose whether or not we should mark block as dead, we have an inconsistent logic in markup of live blocks. - We take candidate IF its terminator branches on constant AND it is immediately in current loop; - We mark successor live IF its terminator doesn't branch by constant OR it branches by constant and the successor is its always taken block. What we are missing here is that when the terminator branches on a constant but is not taken as a candidate because is it not immediately in the current loop, we will mark only one (always taken) successor as live. Therefore, we do NOT do the actual folding but may NOT mark one of the successors as live. So the result of markup is wrong in this case, and we may then hit various asserts. Thanks Jordan Rupprech for reporting this! Differential Revision: https://reviews.llvm.org/D57095 Reviewed By: rupprecht llvm-svn: 352024
* [NFC] Add a failing test on live block markup in term foldingMax Kazantsev2019-01-241-0/+40
| | | | llvm-svn: 352023
* BreakpadRecords: Address post-commit feedbackPavel Labath2019-01-244-69/+55
| | | | | | | | | | | | | | | Summary: This addresses the issues raised in D56844. It removes the accessors from the breakpad record structures by making the fields public. Also, I refactor the UUID parsing code to remove hard-coded constants. Reviewers: lemo Subscribers: clayborg, lldb-commits Differential Revision: https://reviews.llvm.org/D57037 llvm-svn: 352021
* Temporarily deactivate tests; it fails on certain botsJulian Lettner2019-01-241-1/+1
| | | | llvm-svn: 352020
* DebugInfo: Use assembly label arithmetic for address pool size for easier ↵David Blaikie2019-01-243-15/+25
| | | | | | | | | reading/editing Recommits 350048, 350050 That broke buildbots because of some typos in the test case. llvm-svn: 352019
* [CMake][Fuchsia] Enable hermetic static libc++abi for FuchsiaPetr Hosek2019-01-241-1/+2
| | | | | | | | Similarly to libc++, we want to use hermetic static libc++abi. Differential Revision: https://reviews.llvm.org/D57136 llvm-svn: 352018
* [libcxxabi] Support building hermetic static libraryPetr Hosek2019-01-243-16/+70
| | | | | | | | | | | | This is useful when the static libc++abi library is being linked into shared libraries that may be used in with other shared libraries that use different C++ library. We want to avoid avoid exporting libc++abi or libc++ symbols in those cases. This achieved by a new CMake option which can be enabled by libc++abi vendors as needed. Differential Revision: https://reviews.llvm.org/D56026 llvm-svn: 352017
OpenPOWER on IntegriCloud