summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Sanitizer] Move the unit test in the right place.David Carlier2018-12-211-0/+0
| | | | llvm-svn: 349917
* [Sanitizer] Enable strtonum in FreeBSDDavid Carlier2018-12-212-1/+3
| | | | | | | | | | Reviewers: krytarowski, vitalybuka Reviewed By: krytarowski Differential Revision: https://reviews.llvm.org/D55993 llvm-svn: 349916
* [XCore] Always use the version of computeKnownBits that returns a value. NFCI.Simon Pilgrim2018-12-211-8/+4
| | | | | | Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349915
* [Sparc] Always use the version of computeKnownBits that returns a value. NFCI.Simon Pilgrim2018-12-211-2/+2
| | | | | | Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349914
* [AMDGPU] Always use the version of computeKnownBits that returns a value. NFCI.Simon Pilgrim2018-12-211-14/+7
| | | | | | Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349912
* [WebAssembly] Always use the version of computeKnownBits that returns a ↵Simon Pilgrim2018-12-211-4/+2
| | | | | | | | value. NFCI. Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349911
* [AST] Store the callee and argument expressions of CallExpr in a trailing array.Bruno Ricci2018-12-2116-338/+598
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since CallExpr::setNumArgs has been removed, it is now possible to store the callee expression and the argument expressions of CallExpr in a trailing array. This saves one pointer per CallExpr, CXXOperatorCallExpr, CXXMemberCallExpr, CUDAKernelCallExpr and UserDefinedLiteral. Given that CallExpr is used as a base of the above classes we cannot use llvm::TrailingObjects. Instead we store the offset in bytes from the this pointer to the start of the trailing objects and manually do the casts + arithmetic. Some notes: 1.) I did not try to fit the number of arguments in the bit-fields of Stmt. This leaves some space for future additions and avoid the discussion about whether x bits are sufficient to hold the number of arguments. 2.) It would be perfectly possible to recompute the offset to the trailing objects before accessing the trailing objects. However the trailing objects are frequently accessed and benchmarks show that it is slightly faster to just load the offset from the bit-fields. Additionally, because of 1), we have plenty of space in the bit-fields of Stmt. Differential Revision: https://reviews.llvm.org/D55771 Reviewed By: rjmccall llvm-svn: 349910
* [ARM] Always use the version of computeKnownBits that returns a value. NFCI.Simon Pilgrim2018-12-211-8/+5
| | | | | | Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349909
* [AArch64] Always use the version of computeKnownBits that returns a value. NFCI.Simon Pilgrim2018-12-213-12/+7
| | | | | | Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349908
* [SelectionDAG] Always use the version of computeKnownBits that returns a ↵Simon Pilgrim2018-12-215-27/+16
| | | | | | | | value. NFCI. Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349907
* [SystemZ] Always use the version of computeKnownBits that returns a value. NFCI.Simon Pilgrim2018-12-212-21/+14
| | | | | | Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349906
* [Lanai] Always use the version of computeKnownBits that returns a value. NFCI.Simon Pilgrim2018-12-211-2/+2
| | | | | | Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349905
* [Sema][NFC] Remove some unnecessary calls to getASTContext.Bruno Ricci2018-12-214-13/+12
| | | | | | The AST context is already easily available. NFC. llvm-svn: 349904
* [PPC] Always use the version of computeKnownBits that returns a value. NFCI.Simon Pilgrim2018-12-212-15/+9
| | | | | | Continues the work started by @bogner in rL340594 to remove uses of the KnownBits output paramater version. llvm-svn: 349903
* [X86] Always use the version of computeKnownBits that returns a value. NFCI.Simon Pilgrim2018-12-213-28/+18
| | | | | | Continues the work started by @bogner in rL340594 to remove uses of the old KnownBits output paramater version. llvm-svn: 349902
* [AST][NFC] Pass the AST context to one of the ctor of DeclRefExpr.Bruno Ricci2018-12-2118-200/+200
| | | | | | | | | All of the other constructors already take a reference to the AST context. This avoids calling Decl::getASTContext in most cases. Additionally move the definition of the constructor from Expr.h to Expr.cpp since it is calling DeclRefExpr::computeDependence. NFC. llvm-svn: 349901
* [AArch64] Adding missing REQUIRES in aarch64 dwarf testLuke Cheeseman2018-12-211-0/+1
| | | | llvm-svn: 349900
* [xray] [tests] Detect and handle missing LLVMTestingSupport gracefullyMichal Gorny2018-12-213-4/+34
| | | | | | | | | | | | | | | | | | Add a code to properly test for presence of LLVMTestingSupport library when performing a stand-alone build, and skip tests requiring it when it is not present. Since the library is not installed, llvm-config reported empty --libs for it and the tests failed to link with undefined references. Skipping the two fdr_* test files is better than failing to build, and should be good enough until we find a better solution. NB: both installing LLVMTestingSupport and building it automatically from within compiler-rt sources are non-trivial. The former due to dependency on gtest, the latter due to tight integration with LLVM source tree. Differential Revision: https://reviews.llvm.org/D55891 llvm-svn: 349899
* [ADT] IntervalMap: add overlaps(a, b) methodPavel Labath2018-12-212-0/+57
| | | | | | | | | | | | | | | Summary: This function checks whether the mappings in the interval map overlap with the given range [a;b]. The motivation is to enable checking for overlap before inserting a new interval into the map. Reviewers: vsk, dblaikie Subscribers: dexonsmith, kristina, llvm-commits Differential Revision: https://reviews.llvm.org/D55760 llvm-svn: 349898
* [CMake] Print out the list of sanitizers that the sanitizer_common tests ↵Dan Liew2018-12-211-0/+7
| | | | | | | | | | | | | | | | will run against. Summary: This is a change requested by Vitaly Buka as prerequisite to landing https://reviews.llvm.org/D55740. Reviewers: vitalybuka, kubamracek Subscribers: mgorny, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D55939 llvm-svn: 349897
* [NewPM] -print-module-scope -print-after now prints module even after ↵Fedor Sergeev2018-12-214-72/+214
| | | | | | | | | | | | | | | | | | | invalidated Loop/SCC -print-after IR printing generally can not print the IR unit (Loop or SCC) which has just been invalidated by the pass. However, when working in -print-module-scope mode even if Loop was invalidated there is still a valid module that we can print. Since we can not access invalidated IR unit from AfterPassInvalidated instrumentation point we can remember the module to be printed *before* pass. This change introduces BeforePass instrumentation that stores all the information required for module printing into the stack and then after pass (in AfterPassInvalidated) just print whatever has been placed on stack. Reviewed By: philip.pfaffe Differential Revision: https://reviews.llvm.org/D55278 llvm-svn: 349896
* [Dwarf/AArch64] Return address signing B key dwarf supportLuke Cheeseman2018-12-2114-16/+161
| | | | | | | | | | | | | | | | | | | | | | | | | - When signing return addresses with -msign-return-address=<scope>{+<key>}, either the A key instructions or the B key instructions can be used. To correctly authenticate the return address, the unwinder/debugger must know which key was used to sign the return address. - When and exception is thrown or a break point reached, it may be necessary to unwind the stack. To accomplish this, the unwinder/debugger must be able to first authenticate an the return address if it has been signed. - To enable this, the augmentation string of CIEs has been extended to allow inclusion of a 'B' character. Functions that are signed using the B key variant of the instructions should have and FDE whose associated CIE has a 'B' in the augmentation string. - One must also be able to preserve these semantics when first stepping from a high level language into assembly and then, as a second step, into an object file. To achieve this, I have introduced a new assembly directive '.cfi_b_key_frame ', that tells the assembler the current frame uses return address signing with the B key. - This ensures that the FDE is associated with a CIE that has 'B' in the augmentation string. Differential Revision: https://reviews.llvm.org/D51798 llvm-svn: 349895
* Revert rL349876 from cfe/trunk: [analyzer] Perform escaping in ↵Simon Pilgrim2018-12-212-38/+23
| | | | | | | | | | | | | | RetainCountChecker on type mismatch even for inlined functions The fix done in D55465 did not previously apply when the function was inlined. rdar://46889541 Differential Revision: https://reviews.llvm.org/D55976 ........ Fixes broken buildbot: http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/14764 llvm-svn: 349894
* [clangd] Cleanup syntax errors in the test, NFC.Haojian Wu2018-12-214-7/+7
| | | | llvm-svn: 349893
* [X86][SSE] Auto upgrade PADDS/PSUBS intrinsics to SADD_SAT/SSUB_SAT generic ↵Simon Pilgrim2018-12-2112-1231/+1072
| | | | | | | | | | | | intrinsics (llvm) This auto upgrades the signed SSE saturated math intrinsics to SADD_SAT/SSUB_SAT generic intrinsics. Clang counterpart: https://reviews.llvm.org/D55890 Differential Revision: https://reviews.llvm.org/D55894 llvm-svn: 349892
* Fix warning about unused variable [NFC]Bjorn Pettersson2018-12-211-1/+1
| | | | llvm-svn: 349891
* [Sema] Produce diagnostics when C++17 aligned allocation/deallocationAkira Hatanaka2018-12-216-22/+112
| | | | | | | | | | | functions that are unavailable on Darwin are explicitly called or called from deleting destructors. rdar://problem/40736230 Differential Revision: https://reviews.llvm.org/D47757 llvm-svn: 349890
* [WebAssembly] Fix invalid machine instrs in -O0, verify in testsThomas Lively2018-12-2114-32/+55
| | | | | | | | | | Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D55956 llvm-svn: 349889
* Fix test case breakages caused by lexically_relative changeEric Fiselier2018-12-211-3/+3
| | | | llvm-svn: 349888
* Don't forward declare _FilesystemClock in C++03Eric Fiselier2018-12-211-0/+2
| | | | llvm-svn: 349887
* Fix copy paste error in file_clock testsEric Fiselier2018-12-211-3/+3
| | | | llvm-svn: 349886
* Implement LWG 3096: path::lexically_relative is confused by trailing slashesEric Fiselier2018-12-213-6/+9
| | | | | | path("/dir/").lexically_relative("/dir"); now returns "." instead of "" llvm-svn: 349885
* Implement LWG 3065: Make path operators friends.Eric Fiselier2018-12-215-39/+89
| | | | | | | | | This prevents things like: using namespace std::filesystem; auto x = L"a/b" == std::string("a/b"); llvm-svn: 349884
* Implement LWG 3145: file_clock breaks ABI for C++17 implementations.Eric Fiselier2018-12-217-32/+171
| | | | | | | This patch adds std::chrono::file_clock, but without breaking the existing ABI for std::filesystem. llvm-svn: 349883
* AMDGPU/GlobalISel: RegBankSelect for amdgcn.wqm.voteMatt Arsenault2018-12-212-0/+62
| | | | llvm-svn: 349882
* Implement LWG 2936: Path comparison is defined in terms of the generic formatEric Fiselier2018-12-213-15/+139
| | | | | | | | | This patch implements path::compare according to the current spec. The only observable change is the ordering of "/foo" and "foo", which orders the two paths based on having or not having a root directory (instead of lexically comparing "/" to "foo"). llvm-svn: 349881
* AMDGPU/GlobalISel: RegBankSelect for some fp opsMatt Arsenault2018-12-218-0/+185
| | | | llvm-svn: 349880
* GlobalISel: Correct example PartialMapping tableMatt Arsenault2018-12-211-5/+6
| | | | | | | When I try to use this, it seems like the second half needs to start where the previous part left off. llvm-svn: 349879
* AMDGPU/GlobalISel: Redo legality for build_vectorMatt Arsenault2018-12-212-10/+623
| | | | | | | | | | It seems better to avoid using the callback if possible since there are coverage assertions which are disabled if this is used. Also fix missing tests. Only test the legal cases since it seems legalization for build_vector is quite lacking. llvm-svn: 349878
* Mark two filesystem LWG issues as complete - nothing to doEric Fiselier2018-12-211-2/+2
| | | | llvm-svn: 349877
* [analyzer] Perform escaping in RetainCountChecker on type mismatch even for ↵George Karpenkov2018-12-212-23/+38
| | | | | | | | | | | | inlined functions The fix done in D55465 did not previously apply when the function was inlined. rdar://46889541 Differential Revision: https://reviews.llvm.org/D55976 llvm-svn: 349876
* [analyzer] Fix a bug in RetainCountDiagnostics while printing a note on ↵George Karpenkov2018-12-212-3/+18
| | | | | | | | | | | | mismatched summary in inlined functions Previously, we were not printing a note at all if at least one of the parameters was not annotated. rdar://46888422 Differential Revision: https://reviews.llvm.org/D55972 llvm-svn: 349875
* "help finish" tells you it is an alias. "help fin" doesn't.Jim Ingham2018-12-212-3/+17
| | | | | | | | | They both run the same command, and people get used to typing the shortest string they can, so we should support alias info on shortened strings as well. <rdar://problem/46859207> llvm-svn: 349874
* [memcpyopt] Add debug logs when forwarding memcpy src to dstReid Kleckner2018-12-211-0/+2
| | | | llvm-svn: 349873
* [mingw] Don't mangle thiscall like fastcall etcReid Kleckner2018-12-212-6/+21
| | | | | | | | | | | | | | | GCC does not mangle it when it is not explicit in the source. The mangler as currently written cannot differentiate between explicit and implicit calling conventions, so we can't match GCC. Explicit thiscall conventions are rare, so mangle as if the convention was implicit to be as ABI compatible as possible. Also fixes some tests using %itanium_abi_triple in some configurations as a side effect. Fixes PR40107. llvm-svn: 349872
* [LoopUnroll] Don't verify domtree by default with +Asserts.Eli Friedman2018-12-212-3/+5
| | | | | | | | | | This verification is linear in the size of the function, so it can cause a quadratic compile-time explosion in a function with many loops to unroll. Differential Revision: https://reviews.llvm.org/D54732 llvm-svn: 349871
* [X86] Autogenerate complete checks. NFCCraig Topper2018-12-211-9/+45
| | | | llvm-svn: 349870
* Fix stack-buffer-overflow in lldb_private::Host::FindProcesses (2/2)Jonas Devlieghere2018-12-211-2/+2
| | | | | | This fixes the second call at line 640 that I missed in r349858. llvm-svn: 349869
* [X86] Refactor hasNoCarryFlagUses and hasNoSignFlagUses in ↵Craig Topper2018-12-211-75/+34
| | | | | | | | | | X86ISelDAGToDAG.cpp to tranlate opcode to condition code using the helpers in X86InstrInfo.cpp. This shortens the switches in X86ISelDAGToDAG.cpp to only need to check condition code instead of a list of opcodes. This also fixes a bug where the memory forms of SETcc were missing from hasNoCarryFlagUses. llvm-svn: 349868
* [X86] Add memory forms of some SETCC instructions to hasNoCarryFlagUses.Craig Topper2018-12-211-0/+3
| | | | | | Found while working on another patch llvm-svn: 349867
OpenPOWER on IntegriCloud