summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [NFC][InstCombine] Undo stray changeEvandro Menezes2018-10-191-2/+2
| | | | | | Undo stray change introduced by r344725. llvm-svn: 344814
* [X86] Remove some left over code from when MVT:i1 was a legal type for AVX512.Craig Topper2018-10-191-3/+0
| | | | llvm-svn: 344813
* Fix typos in assert messageMatt Arsenault2018-10-191-2/+2
| | | | llvm-svn: 344812
* [GISel]: Allow PHIs to be DCEdAditya Nandakumar2018-10-192-1/+2
| | | | | | | | | | | https://reviews.llvm.org/D53304 Currently dead phis are not cleaned up during DCE. This patch allows dead PHI and G_PHI insts to be deleted. Reviewed by: dsanders llvm-svn: 344811
* [PDB] Test variadic function type in PDBAaron Smith2018-10-194-7/+15
| | | | | | This adds back the test case reverted in commit: d260a269200824c5c1c8c6de531fd5aa63db9c35 llvm-svn: 344809
* [X86] In PostprocessISelDAG, start from allnodes_end, not the root.Craig Topper2018-10-191-2/+1
| | | | | | | | | | There is no guarantee the root is at the end if isel created any nodes without morphing them. This includes the nodes created by manual isel from C++ code in X86ISelDAGToDAG. This is similar to r333415 from PowerPC which is where I originally stole the peephole loop from. I don't have a test case, but without this a future patch doesn't work which is how I found it. llvm-svn: 344808
* [DWARF] Make llvm-dwarfdump display location lists in a .dwp file correctly. ↵Wolfgang Pieb2018-10-198-45/+160
| | | | | | | | | | | | | Fixes PR38990. Considers the index when extracting location lists from a .dwp file. Majority of the patch by David Blaikie. Reviewers: dblaikie Differential revision: https://reviews.llvm.org/D53155 llvm-svn: 344807
* Revert "[Driver] Reland: Default Android toolchains to libc++."Dan Albert2018-10-193-62/+65
| | | | | | This reverts commit 84677d5009d613232d360fda27e6e41fb5cb6700. llvm-svn: 344806
* [WebAssembly] Handle undefined lane indices in SIMD patternsThomas Lively2018-10-193-2/+306
| | | | | | | | | | | | | | | | Summary: Undefined indices in shuffles can be used when not all lanes of the output vector will be used. This happens for example in the expansion of vector reduce operations. Regardless, undefs are legal as lane indices in IR and should be supported. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D53057 llvm-svn: 344803
* Fix a use-after-RAUW bug in large GEP splittingKrzysztof Pszeniczny2018-10-192-3/+42
| | | | | | | | | | | | | | | | | | | Summary: Large GEP splitting, introduced in rL332015, uses a `DenseMap<AssertingVH<Value>, ...>`. This causes an assertion to fail (in debug builds) or undefined behaviour to occur (in release builds) when a value is RAUWed. This manifested itself in the 7zip benchmark from the llvm test suite built on ARM with `-fstrict-vtable-pointers` enabled while RAUWing invariant group launders and splits in CodeGenPrepare. This patch merges the large offsets of the argument and the result of an invariant.group strip/launder intrinsic before RAUWing. Reviewers: Prazek, javed.absar, haicheng, efriedma Reviewed By: Prazek, efriedma Subscribers: kristof.beyls, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D51936 llvm-svn: 344802
* PR24164, PR39336: init-captures are not distinct full-expressions.Richard Smith2018-10-199-50/+95
| | | | | | | | | Rather, they are subexpressions of the enclosing lambda-expression, and any temporaries in them are destroyed at the end of that full-expression, or when the corresponding lambda-expression is destroyed if they are lifetime-extended. llvm-svn: 344801
* Add basic test that we perform lifetime extension in the expectedRichard Smith2018-10-191-0/+190
| | | | | | situations. llvm-svn: 344800
* [InstCombine] InstCombine and InstSimplify for minimum and maximumThomas Lively2018-10-199-18/+920
| | | | | | | | | | | | Summary: Depends on D52765 Reviewers: aheejin, dschuff Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52766 llvm-svn: 344799
* [lldb] Add support in Status::AsCString to retrieve win32 system error stringsAaron Smith2018-10-192-1/+51
| | | | | | | | | | Reviewers: rnk, zturner, aleksandr.urakov Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D53092 llvm-svn: 344798
* [llvm-mca] Remove a stale TODO comment. NFCAndrea Di Biagio2018-10-191-2/+0
| | | | | | | Starting from revision r344334, we can now describe optimizable register-register moves in the machine scheduling models. llvm-svn: 344797
* [ConstantFolding] Constant fold minimum and maximum intrinsicsThomas Lively2018-10-192-0/+150
| | | | | | | | | | | | Summary: Depends on D52764 Reviewers: aheejin, dschuff Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52765 llvm-svn: 344796
* [Driver] Reland: Default Android toolchains to libc++.Dan Albert2018-10-193-65/+62
| | | | | | | | The sanitizer builder that was broken by this should now be fixed. Original review was https://reviews.llvm.org/D53109 llvm-svn: 344795
* [dwarfdump] Hide ranges in diff-mode.Jonas Devlieghere2018-10-192-1/+13
| | | | | | | | | llvm-dwarfdump --diff should not print DW_AT_ranges. This patch fixes that. Differential revision: https://reviews.llvm.org/D53353 llvm-svn: 344794
* [InstCombine] use m_Neg() in dyn_castNegVal() to match vectors with undef eltsSanjay Patel2018-10-192-7/+8
| | | | llvm-svn: 344793
* [Hexagon] Remove support for V4Krzysztof Parzyszek2018-10-1954-2133/+1919
| | | | llvm-svn: 344791
* [InstCombine] move/add tests for sub/neg; NFCSanjay Patel2018-10-192-52/+228
| | | | | | | These should all be handled using "dyn_castNegVal", but that misses vectors with undef elements. llvm-svn: 344790
* Java annotation declaration being handled correctlyHans Wennborg2018-10-192-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | Previously, Java annotation declarations (@interface AnnotationName) were being handled as ObjC interfaces. This caused the brace formatting to mess up, so that when you had a class with an interface defined in it, it would indent the final brace of the class. It used to format this class like so: class A { @interface B {} } But will now just skip the @interface and format it like so: class A { @interface B {} } Patch by Sam Maier! Differential Revision: https://reviews.llvm.org/D53434 llvm-svn: 344789
* [lldbsuite, windows] Disable two tail call frames tests that fail on WindowsStella Stamenova2018-10-192-0/+5
| | | | | | | | | | | | | | Summary: These tests fail on Windows because of known limitations (a.k.a. bugs) with the current implementation of GetFrameAtIndex Reviewers: asmith, vsk Reviewed By: vsk Subscribers: abidh, lldb-commits Differential Revision: https://reviews.llvm.org/D53415 llvm-svn: 344788
* [clangd] Set workspace root when initializing ClangdServer, disallow mutation.Sam McCall2018-10-194-24/+13
| | | | | | | | | | | | | | | | | | Summary: Rename instance variable to WorkspaceRoot to match what we call it internally. Add fixme to set it automatically. Don't do it yet, clients have assumptions that the constructor won't access the FS. Don't second-guess the provided root. Reviewers: ioeric Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D53404 llvm-svn: 344787
* [Hexagon] Remove support for V4Krzysztof Parzyszek2018-10-195-23/+6
| | | | llvm-svn: 344786
* [clang-tidy] Resolve readability-else-after-return false positive for ↵Marek Kurdej2018-10-192-57/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | constexpr if. Summary: It fixes the false positive when using constexpr if and where else cannot be removed: Example: ``` if constexpr (sizeof(int) > 4) // ... return /* ... */; else // This else cannot be removed. // ... return /* ... */; ``` Reviewers: alexfh, aaron.ballman Reviewed By: aaron.ballman Subscribers: lebedev.ri, xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D53372 llvm-svn: 344785
* [ASTImporter] Removed uneeded default case label.Balazs Keri2018-10-191-2/+2
| | | | llvm-svn: 344784
* [ASTImporter] Added error handling for AST import.Balazs Keri2018-10-194-3315/+4019
| | | | | | | | | | | | | | | | | | | | | Summary: The goal of this change is to make the ASTImporter::Import functions return llvm::Expected instead of the imported type. As first part the ASTNodeImporter visit functions are updated to return with llvm::Expected. Various `import` functions are added to ASTNodeImporter to simplify the code and have a common place for interface towards ASTImporter (from ASTNodeImporter). There is some temporary code that is needed before ASTImporter is updated. Reviewers: a.sidorin, a_sidorin, xazax.hun Reviewed By: a_sidorin Subscribers: dkrupp, Szelethus, rnkovacs, martong, jfb, cfe-commits Differential Revision: https://reviews.llvm.org/D51633 llvm-svn: 344783
* [llvm-exegesis] Mark second-form X87 instructions as unsupported.Clement Courbet2018-10-191-1/+8
| | | | | | | | | | | | | | Summary: We only support the first form because we rely on information that is only available there. Reviewers: gchatelet Subscribers: tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D53430 llvm-svn: 344782
* [MC][DWARF][AsmParser] Ensure nested CFI frames are diagnosed.Kristina Brooks2018-10-195-10/+40
| | | | | | | | | | | | | | | | | | This avoids a crash (with asserts) or bad codegen (without asserts) in Dwarf streamer later on. This patch fixes this condition in MCStreamer and propogates SMLoc down when it's available with an added bonus of source locations for those specific types of errors. Further patches could use similar improvements as currently most non-Windows CFI directives lack an SMLoc parameter. Modified an existing test to verify source location propogation and added an object-file version of it to verify that it does not crash in addition to a standalone test to only ensure it does not crash. Differential Revision: https://reviews.llvm.org/D51695 llvm-svn: 344781
* [llvm-exegesis] Re-enable liveliness tracker.Clement Courbet2018-10-191-1/+2
| | | | | | | | | | Reviewers: gchatelet Subscribers: tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D53429 llvm-svn: 344780
* [llvm-exegesis] X87 RFP setup code.Clement Courbet2018-10-192-20/+74
| | | | | | | | | | | | | | | | Summary: This was lost during refactoring in rL342644. Fix and simplify simplify value size handling: always go through a 80 bit value, because the value can be 1 byte). Add unit tests. Reviewers: gchatelet Subscribers: tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D53423 llvm-svn: 344779
* [OpenCL] Remove unwanted signedness conversion from testsMarco Antognini2018-10-191-4/+4
| | | | | | | | | | The get_kernel_* functions used in cl20-device-side-enqueue.cl all return unsigned integers. This patch avoids undesired implicit conversions on the returned values. Differential Revision: https://reviews.llvm.org/D52873 llvm-svn: 344778
* [clangd] Remove the overflow log.Haojian Wu2018-10-194-2/+15
| | | | | | | | | | | | | | Summary: LLVM codebase has generated files (all are build/Target/XXX/*.inc) that exceed the MaxLine & MaxColumn. Printing these log would be noisy. Reviewers: sammccall Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D53400 llvm-svn: 344777
* [COFF] Fix error handling on duplicates for import library symbolsMartin Storsjo2018-10-192-0/+47
| | | | | | | | | Normally one wouldn't run into that case, but it is possible with a little creative ordering of special libraries. Differential Revision: https://reviews.llvm.org/D53388 llvm-svn: 344776
* [pipeliner] Fix test added in rL344748 to require assertsFangrui Song2018-10-191-0/+2
| | | | llvm-svn: 344775
* Use llvm::{all,any,none}_of instead std::{all,any,none}_of. NFCFangrui Song2018-10-1910-52/+40
| | | | llvm-svn: 344774
* [clangd] Fix msan failure after r344735 by initializing bitfieldsKrasimir Georgiev2018-10-191-0/+1
| | | | | | | | | That revision changed integer members to bitfields; the integers were default initialized before and the bitfields lost that default initialization. This started causing msan use-of-uninitialized memory in clangd tests. llvm-svn: 344773
* [clang-tidy] readability-uppercase-literal-suffix: specify target for ms ↵Roman Lebedev2018-10-191-3/+3
| | | | | | | | | test too Apparently the bots were still failing with this. Sadly, i did not see *this* failure when i last looked. llvm-svn: 344772
* Revert commit r344670 as the test fails on a bot ↵Douglas Yung2018-10-194-233/+62
| | | | | | http://lab.llvm.org:8011/builders/clang-cmake-armv7-full/builds/2683/. llvm-svn: 344771
* [CodeGen] Fix for PR39094.Hsiangkai Wang2018-10-191-3/+7
| | | | | | | | | | | | | | | When using MachineInstr to get SlotIndex, the MI could not be a debug instruction. mi2iMap does not contain debug instructions in it. After enabling DBG_LABEL in the generated code, the first instruction in the bundle may be a debug instruction. In this patch, I use the first non-debug instruction in the bundle to query SlotIndex in mi2iMap. Bugzilla report: https://bugs.llvm.org/show_bug.cgi?id=39094 Differential revision: https://reviews.llvm.org/D52927 llvm-svn: 344770
* [TI removal] Remove `TerminatorInst` from the IR type system!Chandler Carruth2018-10-193-131/+84
| | | | llvm-svn: 344769
* [TI removal] Switch some newly added code over to use `Instruction`Chandler Carruth2018-10-194-14/+11
| | | | | | directly. llvm-svn: 344768
* [COFF, ARM64] Enable unit test arm64-microsoft-status-reg.cpp only for ↵Mandeep Singh Grang2018-10-191-0/+2
| | | | | | | | | | aarch64 target This should unbreak bots broken here: http://lab.llvm.org:8011/builders/clang-cmake-x86_64-sde-avx512-linux/builds/14391 http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/38288 llvm-svn: 344767
* Update the project name in README.mdGreg Bedwell2018-10-191-1/+1
| | | | | | | Per llvm.org: "The name "LLVM" itself is not an acronym; it is the full name of the project." llvm-svn: 344766
* [COFF, ARM64] Add _ReadStatusReg and_WriteStatusReg intrinsicsMandeep Singh Grang2018-10-186-0/+171
| | | | | | | | | | | | Reviewers: rnk, compnerd, mstorsjo, efriedma, TomTan, haripul, javed.absar Reviewed By: efriedma Subscribers: dmajor, kristof.beyls, chrib, cfe-commits Differential Revision: https://reviews.llvm.org/D53115 llvm-svn: 344765
* [TI removal] Update the C API for the move away from `TerminatorInst`.Chandler Carruth2018-10-182-19/+32
| | | | | | | | | | | | | | | | | This updates the C API for the removal of `TerminatorInst`. It converts the type query to a predicate query and moves the generic methods to work on `Instruction` instances that satisfy this predicate rather than requiring a specific type. It also clarifies that the C API wrapping `BasicBlock::getTerminator` just returns an `Instruction`. Because this was always wrapped opaquely as a value and the functions consuming these values will work on `Instruction` objects, this shouldn't break any clients. This is a completely compatible change to the C API. Differential Revision: https://reviews.llvm.org/D52968 llvm-svn: 344764
* [ORC] Add a createJITDylib method to LLJIT.Lang Hames2018-10-181-0/+5
| | | | | | | | | Because I'm about to get on stage at the dev meeting and claim that it exists. This method creates a JITDylib instance with the given name and returns a reference to it. llvm-svn: 344763
* [Test] Fix test file for C++98 modeDavid Bolvansky2018-10-181-1/+3
| | | | llvm-svn: 344762
* [Diagnostics] Add missing expected warning to test fileDavid Bolvansky2018-10-181-1/+1
| | | | llvm-svn: 344761
OpenPOWER on IntegriCloud