summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Adjust NetBSD/md[45].cc to be portable to more environmentsKamil Rytarowski2018-12-272-6/+6
| | | | | | | | | | | | | | | | Summary: By an accident part of the tests contained hardcoded checksums for external files that will differ between setups. Reviewers: mgorny Subscribers: kubamracek, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D56106 llvm-svn: 350095
* Reduce indentation in ObjectFilePECOFF::CreateSections via an early returnPavel Labath2018-12-271-133/+133
| | | | llvm-svn: 350094
* Fix tests for python 3.7Pavel Labath2018-12-271-1/+2
| | | | | | | | python 3.7 removes re._pattern_type. Fix the one place where we were depending on the type of regular expressions to compute the type dynamically. llvm-svn: 350093
* [objc-gnustep] Fix a copy-and-paste error.David Chisnall2018-12-271-1/+1
| | | | | | | We were emitting the null class symbol in the wrong section, which meant that programs that contained no Objective-C classes would fail to link. llvm-svn: 350092
* Fix assertion failure in NativeProcessProtocolTestPavel Labath2018-12-271-1/+2
| | | | | | | | | The assertion fired (with a debug visual studio STL) because we tried to dereference the end of a vector (although it was only to take its address again and form an end iterator). Rewrite this logic to avoid the questionable code. llvm-svn: 350091
* [Sanitizer] Enable FTS api on FreeBSDDavid Carlier2018-12-274-1/+8
| | | | | | | | | | Reviewers: krytarowski, vitalybuka Reviewed By: krytarowski Differential Revision: https://reviews.llvm.org/D56097 llvm-svn: 350090
* Fix "default argument for lambda parameter" (-Wpedantic) warningPavel Labath2018-12-271-2/+2
| | | | llvm-svn: 350089
* Delete lldb_utility::RangePavel Labath2018-12-274-138/+0
| | | | | | | This class is unused, and there is already a lldb_private::Range (defined in lldb/Core/RangeMap.h), which has similar functionality. llvm-svn: 350088
* lldb-test ir-memory-map: Use IntervalMap::containsPavel Labath2018-12-271-25/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Simplify the code by using the contains implementation in IntervalMap. There is a slight change of behavior here: We now treat an allocation of size 0, as if it was size 1. This guarantees that the returned addresses will be unique, whereas previously we would allow the allocation function to return the same zero-sized region multiple times, as long as it is not null, and not in the middle of an existing interval (but the situation when we were placing an larger interval over a zero-sized one was not detected). I think this behavior makes more sense, as that is pretty much the same guarantee as offered by malloc (except that is permitted to also return nullptr). Reviewers: vsk Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D55761 llvm-svn: 350087
* DWARF: Fix a bug in array size computationPavel Labath2018-12-273-13/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: r346165 introduced a bug, where we would fail to parse the size of an array if that size happened to match an existing die offset. The logic was: if (DWARFDIE count = die.GetReferencedDie(DW_AT_count)) num_elements = compute_vla_size(count); else num_elements = die.GetUsigned(DW_AT_count); // a fixed-size array The problem with this logic was that GetReferencedDie did not take the form class of the attribute into account, and would happily return a die reference for any form, if its value happened to match some die. As this behavior is inconsistent with how llvm's DWARFFormValue class operates, I chose to fix the problem by making our version of this class match the llvm behavior. For this to work, I had to add an explicit form class check to the .apple_XXX tables parsing code, because they do (incorrectly?) use data forms as die references. Reviewers: aprantl, clayborg Subscribers: JDevlieghere, lldb-commits Differential Revision: https://reviews.llvm.org/D55991 llvm-svn: 350086
* Do not rely on that subject of ErrorAllocTypeMismatch is a heap address.Martin Liska2018-12-275-7/+39
| | | | | | Differential Revision: https://reviews.llvm.org/D54856. llvm-svn: 350085
* [X86] Remove check that avoids creating PMULDQ with illegal types. Rely on ↵Craig Topper2018-12-272-18/+14
| | | | | | | | | | SplitOpsAndApply to legalize it. Create PMULDQ/PMULUDQ as long as the number of elements is a power of 2. This seems to give some improvements in our ability to use SimplifyDemandedBits. llvm-svn: 350084
* Revert "[msan] Disable tail call optimization in msan rtl."Evgeniy Stepanov2018-12-271-5/+0
| | | | | | | | This reverts commit r350080, which breaks * gcc as the host compiler * some tests on ppc64 llvm-svn: 350083
* [X86] Factor the core code out of LowerSETCC into a helper that can create ↵Craig Topper2018-12-272-39/+65
| | | | | | | | | | CMP/BT/PTEST/KORTEST etc. without making an X86ISD::SETCC node. NFCI Make each of the helper functions only return their comparison node and the condition code. Leave X86ISD::SETCC creation to the LowerSETCC function itself. Looking into whether we can use this code directly in BRCOND and SELECT lowering instead of going through LowerSETCC which creates an X86ISD::SETCC node we need to look through. llvm-svn: 350082
* [X86] Merge getBitTestCondition into LowerAndToBT. Don't create ↵Craig Topper2018-12-271-49/+49
| | | | | | | | | | X86ISD::SETCC node in the merged function. NFCI Only one of the 3 callers of LowerAndToBT need the SETCC node. Two of them have to look through it to find the operands they really need. Instead create it after the one call that needs it. LowerAndToBT now returns both the BT node and the X86 specific condition code separately. llvm-svn: 350081
* [msan] Disable tail call optimization in msan rtl.Evgeniy Stepanov2018-12-271-0/+5
| | | | | | | This should give us better error stack traces on the bots, in particular, for https://bugs.llvm.org/show_bug.cgi?id=40162 llvm-svn: 350080
* [WebAssembly] Added basic support for if/else/end_if in MC layer.Wouter van Oortmerssen2018-12-263-15/+22
| | | | | | | | | | | | | | | | | Summary: These instructions are currently unused in our backend, but for completeness it is good to support them, so they can be used with the assembler in hand-written code. Tests are very basic, signature support missing much like other blocks. Reviewers: dschuff, aheejin Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D55973 llvm-svn: 350079
* [WebAssembly] Make assembler check for proper nesting of control flow.Wouter van Oortmerssen2018-12-266-5/+151
| | | | | | | | | | | | | | | | | | | | | Summary: It does so using a simple nesting stack, and gives clear errors upon violation. This is unique to wasm, since most CPUs do not have any nested constructs. Had to add an end of file check to the general assembler for this. Note: if/else/end instructions are not currently supported in our tablegen defs, so these tests will be enabled in a follow-up. They already pass the nesting check. Reviewers: dschuff, aheejin Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D55797 llvm-svn: 350078
* manpages: Update the URL for httpsSylvestre Ledru2018-12-261-1/+1
| | | | llvm-svn: 350077
* [WebAssembly] Delete an unnecessary line in RegStackifyHeejin Ahn2018-12-261-1/+0
| | | | | | | `OneUseInst` is set outside of the loop before and `OneUse` does not change throughout the loop, so this line is not necessary. llvm-svn: 350076
* [WebAssembly] Fix typos in comments in RegStackify (NFC)Heejin Ahn2018-12-261-2/+2
| | | | llvm-svn: 350075
* [LoopIdiomRecognize] Add CTTZ supportCraig Topper2018-12-262-64/+167
| | | | | | | | | | | | | | | | | | | | | Summary: Existing LIR recognizes CTLZ where shifting input variable right until it is zero. (Shift-Until-Zero idiom) This commit: 1. Augments Shift-Until-Zero idiom to recognize CTTZ where input variable is shifted left. 2. Prepare for BitScan idiom recognition. Patch by Yuanfang Chen (tabloid.adroit) Reviewers: craig.topper, evstupac Reviewed By: craig.topper Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D55876 llvm-svn: 350074
* [codeview] Check if this 'this' type of a method is a pointerReid Kleckner2018-12-263-8/+64
| | | | | | | | | Fixes crash reported after r347354 for frontends that don't always emit 'this' pointers for methods. Now we will silently produce debug info that makes functions like this look like static methods, which seems reasonable. llvm-svn: 350073
* [clang-cl] Treat inputs as C++ with /E, like MSVCReid Kleckner2018-12-262-1/+22
| | | | | | | | | | | | | | | | | midl invokes the compiler on .idl files with /E. Before this change, we would treat unrecognized inputs as object files. Now we pre-process to stdout as expected. I checked that MSVC defines __cplusplus when invoked this way, so treating the input as C++ seems like the right thing to do. After this change, I was able to run midl like this with clang-cl: $ midl -cpp_cmd clang-cl.exe foo.idl Things worked for the example IDL file in the Microsoft documentation, but beyond that, I don't know if this will work well. Fixes PR40140 llvm-svn: 350072
* [MS] Mangle return adjusting thunks with the public access specifierReid Kleckner2018-12-262-6/+41
| | | | | | | | MSVC does this, so we should too. Fixes PR40138 llvm-svn: 350071
* Use error() instead of fatal() to report an invalid address range.Rui Ueyama2018-12-262-17/+9
| | | | | | In this patch we also use toString() to stringize a section. llvm-svn: 350070
* [NVPTX] Allow libcalls that are defined in the current module.Justin Lebar2018-12-2617-16/+508
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds a possibility to make library calls on NVPTX. An important thing about library functions - they must be defined within the current module. This basically should guarantee that we produce a valid PTX assembly (without calls to not defined functions). The one who wants to use the libcalls is probably will have to link against compiler-rt or any other implementation. Currently, it's completely impossible to make library calls because of error LLVM ERROR: Cannot select: i32 = ExternalSymbol '...'. But we can lower ExternalSymbol to TargetExternalSymbol and verify if the function definition is available. Also, there was an issue with a DAG during legalisation. When we expand instruction into libcall, the inner call-chain isn't being "integrated" into outer chain. Since the last "data-flow" (call retval load) node is located in call-chain earlier than CALLSEQ_END node, the latter becomes a leaf and therefore a dead node (and is being removed quite fast). Proposed here solution relies on another data-flow pseudo nodes (ProxyReg) which purpose is only to keep CALLSEQ_END at legalisation and instruction selection phases - we remove the pseudo instructions before register scheduling phase. Patch by Denys Zariaiev! Differential Revision: https://reviews.llvm.org/D34708 llvm-svn: 350069
* Ignore ConstantExpr in IgnoreParensReid Kleckner2018-12-262-4/+6
| | | | | | | | | | | | | | | | | | Summary: This moves it up from IgnoreParenImpCasts to IgnoreParens, so that more helpers ignore it. For most clients, this ensures that these helpers behave the same with and without C++17 enabled, which is what appears to introduce these new expression nodes. Fixes PR39881 Reviewers: void, rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D55853 llvm-svn: 350068
* Pass a concrete triple for two OpenMP tests that depend on TLSNico Weber2018-12-262-26/+26
| | | | | | | | | | | | | | | Not all %itanium_abi_triple values support TLS. Makes OpenMP/declare_reduction_codegen.cpp, OpenMP/parallel_copyin_codegen.cpp for %itanium_abi_triples without TLS support. Alternatively we could pass -fnoopenmp-use-tls and tweak some of the CHECK lines, but this seems a bit simpler. Fixes PR40156. Differential Revision: https://reviews.llvm.org/D56086 llvm-svn: 350067
* [AMDGPU] Regenerate i64 shift tests.Simon Pilgrim2018-12-261-19/+86
| | | | | | To show codegen diff due to a future SimplifyDemandedBits patch. llvm-svn: 350065
* [NFC] Use utility function for guards detectionMax Kazantsev2018-12-261-3/+3
| | | | llvm-svn: 350064
* [MIPS GlobalISel] Select G_SELECTPetar Avramovic2018-12-258-8/+429
| | | | | | | | | | Add widen scalar for type index 1 (i1 condition) for G_SELECT. Select G_SELECT for pointer, s32(integer) and smaller low level types on MIPS32. Differential Revision: https://reviews.llvm.org/D56001 llvm-svn: 350063
* [NFC] Reuse variables instead of re-calling getParentMax Kazantsev2018-12-251-2/+1
| | | | llvm-svn: 350062
* [PowerPC] Fix the bug of ISD::ADDE to set its second return type to glueKang Zhang2018-12-252-1/+12
| | | | | | | | | | | | | | | Summary: This patch is to fix the bug imported by rL341634. In above submit , the the return type of ISD::ADDE is 14224: SDVTList VTs = DAG.getVTList(MVT::i64, MVT::i64), but in fact, the second return type of ISD::ADDE should be MVT::Glue not MVT::i64. Reviewed By: hfinkel Differential Revision: https://reviews.llvm.org/D55977 llvm-svn: 350061
* [gn build] Make NOSORT line actually workNico Weber2018-12-241-1/+1
| | | | | | | | | | | | | GN wants the NOSORT line to be the first line of a comment block, not the last line. I sent https://gn-review.googlesource.com/c/gn/+/3560 to support having it in the last line too, but since it will be a while until everyone has that change even if it's expected, use the form that works today. Differential Revision: https://reviews.llvm.org/D56065 llvm-svn: 350060
* [X86] Use GetDemandedBits to simplify the operands of PMULDQ/PMULUDQ.Craig Topper2018-12-247-94/+32
| | | | | | | | | | | | | | This is an alternative to what I attempted in D56057. GetDemandedBits is a special version of SimplifyDemandedBits that allows simplifications even when the operand has other uses. GetDemandedBits will only do simplifications that allow a node to be bypassed. It won't create new nodes or alter any of the other users. I had to add support for bypassing SIGN_EXTEND_INREG to GetDemandedBits. Based on a patch that Simon Pilgrim sent me in email. Fixes PR40142. llvm-svn: 350059
* [X86] Add test cases for PR40142. NFCCraig Topper2018-12-241-0/+73
| | | | llvm-svn: 350058
* [analyzer] [NFC] Clean up the mess of constructing argument effects in ↵George Karpenkov2018-12-242-71/+91
| | | | | | | | | | | | | | RetainCountChecker Previously, argument effects were stored in a method variable, which was effectively global. The global state was reset at each (hopefully) entrance point to the summary construction, and every function could modify it. Differential Revision: https://reviews.llvm.org/D56036 llvm-svn: 350057
* [clang-tidy] add IgnoreMacros option to readability-uppercase-literal-suffixMiklos Vajna2018-12-246-2/+22
| | | | | | | | | | | | | | And also enable it by default to be consistent with e.g. modernize-use-using. This helps e.g. when running this check on client code where the macro is provided by the system, so there is no easy way to modify it. Reviewed By: JonasToth, lebedev.ri Differential Revision: https://reviews.llvm.org/D56025 llvm-svn: 350056
* [HWASAN] Instrument memorty intrinsics by defaultEugene Leviant2018-12-242-2/+2
| | | | | | Differential revision: https://reviews.llvm.org/D55926 llvm-svn: 350055
* [gn build] Add build files for clang/tools/{c-arcmt-test,c-index-test} and ↵Nico Weber2018-12-244-1/+132
| | | | | | | | | | | | | their dependency clang/tools/libclang libclang is somewhat incomplete. It's just enough to get check-clang to pass, but that requires it to be pretty complete. The biggest thing is that it's not built as a shared library on Linux. The libclang/BUILD.gn file has a comment with details on what else is missing. Differential Revision: https://reviews.llvm.org/D56059 llvm-svn: 350054
* ReleaseNotes: X86 Target: bdver2 sched model was added (D52779)Roman Lebedev2018-12-241-1/+2
| | | | llvm-svn: 350053
* Revert rL350048 and rL350050Max Kazantsev2018-12-243-25/+16
| | | | | | | These patches have broken almost all buildbots on test DebugInfo/X86/addr_comments.ll. Reverting to green. llvm-svn: 350052
* [LLD][ELF] - Cleanup gdb-index-dwarf5-low-high.s. NFC.George Rimar2018-12-241-36/+35
| | | | | | Remove tabs and .debug_macinfo sections. llvm-svn: 350051
* Fix build - follow-up to r350048 which broke headerless (v4) address poolDavid Blaikie2018-12-242-8/+10
| | | | llvm-svn: 350050
* [LoopSimplifyCFG] Delete dead exiting edgesMax Kazantsev2018-12-242-112/+193
| | | | | | | | | | This patch teaches LoopSimplifyCFG to remove dead exiting edges from loops. Differential Revision: https://reviews.llvm.org/D54025 Reviewed By: fedor.sergeev llvm-svn: 350049
* DebugInfo: Use assembly label arithmetic for address pool size for easier ↵David Blaikie2018-12-243-12/+19
| | | | | | reading/editing llvm-svn: 350048
* DebugInfo: Add assembly comments for debug_addr contribution header fieldsDavid Blaikie2018-12-242-0/+37
| | | | llvm-svn: 350047
* llvm-dwarfdump: Skip address index info (and dump only the address, if ↵David Blaikie2018-12-242-4/+82
| | | | | | | | found) when non-verbose dumping addrx forms There's a few bugs here still - demonstrated with FIXITs in the test. llvm-svn: 350046
* Return "[LoopSimplifyCFG] Delete dead in-loop blocks"Max Kazantsev2018-12-242-114/+58
| | | | | | | | The underlying bug that caused the revert should be fixed by rL348567. Differential Revision: https://reviews.llvm.org/D54023 llvm-svn: 350045
OpenPOWER on IntegriCloud