- Apr 28, 2020
-
-
Saleem Abdulrasool authored
This reverts commit cd84bfb8. Although this passed the CI in phabricator, some of the bots are missing python3 packages, revert it temporarily.
-
Nico Weber authored
-
Nico Weber authored
-
Mehdi Amini authored
This makes it possible for the client to control where the pass timings will be printed. Differential Revision: https://reviews.llvm.org/D78891
-
Saleem Abdulrasool authored
This is primarily motivated by the desire to move from Python2 to Python3. `PYTHON_EXECUTABLE` is ambiguous. This explicitly identifies the python interpreter in use. Since the LLVM build seems to be able to completed successfully with python3, use that across the build. The old path aliases `PYTHON_EXECUTABLE` to be treated as Python3.
-
Alexander Shaposhnikov authored
Some compilers are confused when the same name is used in different contexts. Rename the field Section to unbreak the build. (Caught by the buildbot http://lab.llvm.org:8011/builders/clang-with-thin-lto-ubuntu/builds/22374)
-
Alexander Shaposhnikov authored
Fix handling of relocations with r_extern == 0. If r_extern == 0 then r_symbolnum is an index of a section rather than a symbol index. Patch by Seiya Nuta and Alexander Shaposhnikov. Test plan: make check-all Differential revision: https://reviews.llvm.org/D78946
-
Eric Schweitz authored
Summary: Reviewers: DavidTruby, sscalpone, jeanPerier Subscribers: mgorny, aartbik, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78835
-
Nick Desaulniers authored
Summary: While looking into issues with IfConverter, I noticed that X86InstrInfo::isUnpredicatedTerminator matched its overriden implementation in TargetInstrInfo::isUnpredicatedTerminator. Reviewers: craig.topper, hfinkel, MaskRay, echristo Reviewed By: MaskRay, echristo Subscribers: hiraditya, llvm-commits, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D62749
-
River Riddle authored
This fixes an iteration invalidation bug when the map grows beyond capacity and the iterator for the location to translate becomes invalid.
-
Jonas Devlieghere authored
We were passing the AppleObjCSection instead of the AddrSection. Maybe the API changed and this remained unnoticed because the types are the same, or maybe it's just a typo.
-
Jonas Devlieghere authored
Print the DW_AT_ranges offset as part of the verifier error, like we do for the DW_AT_stmt_list offset.
-
Christopher Tetreault authored
Summary: * Upgrade some usages of VectorType to use ScalableVectorType Reviewers: efriedma, david-arm, fpetrogalli, kmclaughlin Reviewed By: efriedma Subscribers: tschuett, rkruppe, psnobl, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78842
-
Arthur Eubanks authored
Add llvm.call.preallocated.{setup,arg} instrinsics. Add "preallocated" operand bundle which takes a token produced by llvm.call.preallocated.setup. Add "preallocated" parameter attribute, which is like byval but without the copy. Verifier changes for these IR constructs. See https://github.com/rnk/llvm-project/blob/call-setup-docs/llvm/docs/CallSetup.md Subscribers: hiraditya, jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74651 -
Craig Topper authored
-
Christopher Tetreault authored
Summary: Add overloads of get to FixedVectorType and ScalableVectorType that mirror VectorType::get(Type *Ty, VectorType *VTy) that take and return derived vector types Reviewers: efriedma, c-rhodes, david-arm, fpetrogalli Reviewed By: david-arm Subscribers: tschuett, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78841
-
Phoenix Meadowlark authored
- Adds a folder for integer division by one with the `divi_signed` and `divi_unsigned` ops. - Creates tests for scalar and tensor versions of these ops. - Modifies the test in `parallel-loop-collapsing.mlir` so that it doesn't assume division by one will be in the output. Differential Revision: https://reviews.llvm.org/D78518
-
Alexander Shaposhnikov authored
Until recently yaml2obj didn't properly support relocations for MachO. This behavior resulted in binaries having invalid relocations. In this diff we adjust the existing tests as follows: for the tests which don't actually look at any relocations they are removed, for the tests which essentially depend on relocations they are fixed. Test plan: make check-all Differential revision: https://reviews.llvm.org/D78898
-
Sean Silva authored
Differential Revision: https://reviews.llvm.org/D78966
-
Eric Christopher authored
-
Zola Bridges authored
* Fix the code block disappearance problem by adding a new line * Fix the typo where I forgot a space Reviewed By: ldionne Differential Revision: https://reviews.llvm.org/D78953
-
LemonBoy authored
The code assumed that zero-extending the integer constant to the designated alloc size would be fine even for BE targets, but that's not the case as that pulls in zeros from the MSB side while we actually expect the padding zeros to go after the LSB. I've changed the codepath handling the constant integers to use the store size for both small(er than u64) and big constants and then add zero padding right after that. Differential Revision: https://reviews.llvm.org/D78011
-
Sanjay Patel authored
-
Craig Topper authored
This updates v4i16->v4i8 with sse2 to match v8i16->v8i8. Update v2i16->v2i8 and v4i16->v4i8 with sse 4.1 to match v8i16->v8i8.
-
Nick Desaulniers authored
Summary: Looks like g++ < 7.1 has a bug resolving calls to member functions without `this->` in lamdas with `auto` types. It looks like multiple build bots are using g++-5. https://stackoverflow.com/questions/32097759/calling-this-member-function-from-generic-lambda-clang-vs-gcc https://godbolt.org/z/MiaRt- Reviewers: MaskRay, efriedma, jyknight, craig.topper, rsmith Reviewed By: rsmith Subscribers: hiraditya, llvm-commits, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D78962
-
Michael Liao authored
-
Andrew Browne authored
SmallVector currently uses 32bit integers for size and capacity to reduce sizeof(SmallVector). This limits the number of elements to UINT32_MAX. For a SmallVector<char>, this limits the SmallVector size to only 4GB. Buffering bitcode output uses SmallVector<char>, but needs >4GB output. This changes SmallVector size and capacity to conditionally use word-size integers if the element type is small (<4 bytes). For larger elements types, the vector size can reach ~16GB with 32bit size. Making this conditional on the element type provides both the smaller sizeof(SmallVector) for larger types which are unlikely to grow so large, and supports larger capacities for smaller element types. This recommit fixes the same template being instantiated twice on platforms where uintptr_t is the same as uint32_t.
-
Han Zhu authored
When LIBCLANG_BUILD_STATIC=ON and LLVM_ENABLE_PIC=ON, PIC version of libclang.a and libclang.so are built as expected. However libclang.a is not installed. Looking at the macro llvm_add_library(), when both SHARED and STATIC are set, it renames the static library to ${name}_static and then adds it to targets. But when add_clang_library() calls install, it only checks if ${name} is in targets. To work around this issue, loop through both ${name} and ${name}_static and install both of them if they're in targets. This is still correct if only shared or static library is built. In those cases, only ${name} is added to targets and cmake install will generate the right install script depending on the library's type. Test Plan: cmake with LIBCLANG_BUILD_STATIC=ON and then ninja install, from master and this diff. Compare the result directory trees. Confirm that only difference is the added libclang.a. Differential Revision: https://reviews.llvm.org/D78534 -
Jez Ng authored
Summary: Add logic for emitting the correct set of load commands and segments when `-dylib` is passed. I haven't gotten to implementing a real export trie yet, so we can only emit a single symbol, but it's enough to replace the YAML test files introduced in D76252. Differential Revision: https://reviews.llvm.org/D76908
-
Jez Ng authored
This diff implements basic support for writing a symbol table. - Attributes are loosely supported for extern symbols and not at all for other types Immediate future work will involve implementing section merging. Initial version by Kellie Medlin <kelliem@fb.com> Differential Revision: https://reviews.llvm.org/D76742
-
Sander de Smalen authored
The svlen builtins return the number of elements in a vector and are implemented using `llvm.vscale`. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D78755
-
Aaron Puchert authored
We allow arbitrary names for capabilities now, and the name didn't play a role for this anyway.
-
Med Ismail Bennani authored
This patch improves data formatting for CoreFoundation containers: CFDictionary and CFSet. These data formatters make the containers and their children appear in Xcode's variables view (and on the command line) without having to expand the data structure. Previous implementation only supported showing the container's element count. ``` (lldb) frame var dict (__NSCFDictionary *) dict = 0x00000001004062b0 2 key/value pairs (lldb) frame var set (__NSCFSet *) set = 0x0000000100406330 2 elements ``` Now the variable can be dereferenced to dispaly the container's children: ``` (lldb) frame var *dict (__NSCFDictionary) *dict = { [0] = { key = 0x0000000100004050 @"123" value = 0x0000000100004090 @"456" } [1] = { key = 0x0000000100004030 @"abc" value = 0x0000000100004070 @"def" } } (lldb) frame var *set (__NSCFSet) *set = { [0] = 0x0000000100004050 @"123" [1] = 0x0000000100004030 @"abc" } ``` rdar://39882287 Differential Revision: https://reviews.llvm.org/D78396 Signed-off-by:Med Ismail Bennani <medismail.bennani@gmail.com>
-
Casey Carter authored
Defining the nested types `reference` and `iterator_concept` of `reverse_iterator<I>` necessarily requires `I` to be complete in C++20. These tests that verify that `std::map<int, X>::reverse_iterator` can be instantiated when `X` is incomplete are going to have a bad time. Differential Revision: https://reviews.llvm.org/D78944
-
River Riddle authored
This revision adds support for propagating constants across symbol-based callgraph edges. It uses the existing Call/CallableOpInterfaces to detect the dataflow edges, and propagates constants through arguments and out of returns. Differential Revision: https://reviews.llvm.org/D78592
-
River Riddle authored
This provides a much cleaner interface into Symbols, and allows for users to start injecting op-specific information. For example, derived op can now inject when a symbol can be discarded if use_empty. This would let us drop unused external functions, which generally have public visibility. This revision also adds a new `extraTraitClassDeclaration` field to ODS OpInterface to allow for injecting declarations into the trait class that gets attached to the operations. Differential Revision: https://reviews.llvm.org/D78522
-
Sanjay Patel authored
We may want to identify sequences that are not reductions, but still qualify as load-combines in the back-end, so make most of the body a helper function.
-
Jez Ng authored
Previously, the special segments `__PAGEZERO` and `__LINKEDIT` were implemented as special LoadCommands. This diff implements them using special sections instead which have an `isHidden()` attribute. We do not emit section headers for hidden sections, but we use their addresses and file offsets to determine that of their containing segments. In addition to allowing us to share more segment-related code, this refactor is also important for the next step of emitting dylibs: 1) dylibs don't have segments like __PAGEZERO, so we need an easy way of omitting them w/o messing up segment indices 2) Unlike the kernel, which is happy to run an executable with out-of-order segments, dyld requires dylibs to have their segment load commands arranged in increasing address order. The refactor makes it easier to implement sorting of sections and segments. Differential Revision: https://reviews.llvm.org/D76839
-
Victor Huang authored
"unskipableSimplifyCode()" was added to handle unsafe BL8_NOTOC instruction when TOC was not completely removed. The function is not needed after confirming TOC pointer is not used in a function that uses PC-Relative addressing. Differential Revision: https://reviews.llvm.org/D78517
-
Sanjay Patel authored
-