- Mar 31, 2020
-
-
Jonas Devlieghere authored
In order to run check-lldb-* we need the correct map_config directives in llvm-lit. For the standalone build, LLVM doesn't know about LLDB, and the lldb mappings are missing. In that case we build our own llvm-lit, and tell LLVM to use the llvm-lit in the lldb build directory. Differential revision: https://reviews.llvm.org/D76945
-
Matt Arsenault authored
I need to pass known bits to a target combine matcher (which for some reason aren't methods in a subclass of CombinerHelper?)
-
Matt Arsenault authored
-
Nico Weber authored
As of a while ago, lld groups all undefined references to a single symbol in a single diagnostic. Back then, I made it so that we print up to 10 references to each undefined symbol. Having used this for a while, I never wished there were more references, but I sometimes found that this can print a lot of output. lld prints up to 10 diagnostics by default, and if each has 10 references (which I've seen in practice), and each undefined symbol produces 2 (possibly very long) lines of output, that's over 200 lines of error output. Let's try it with just 3 references for a while and see how that feels in practice. Differential Revision: https://reviews.llvm.org/D77017
-
Thomas Raoux authored
Optimize the common case of splat vector constant. For large vector going through all elements is expensive. For splatr/broadcast cases we can skip going through all elements. Differential Revision: https://reviews.llvm.org/D76664
-
LLVM GN Syncbot authored
-
Nico Weber authored
Instead of using a global define; see comments on D75914. While here, port 9c9d88d8 to the GN build.
-
Uday Bondhugula authored
Rewrite mlir::permuteLoops (affine loop permutation utility) to fix incorrect approach. Avoiding using sinkLoops entirely - use single move approach. Add test pass. This fixes https://bugs.llvm.org/show_bug.cgi?id=45328 Depends on D77003. Signed-off-by:
Uday Bondhugula <uday@polymagelabs.com> Differential Revision: https://reviews.llvm.org/D77004
-
Jakub Kuderski authored
Summary: This change adds amdgcn.reloc.constant intrinsic to the amdgpu backend, which will compile into a relocation entry in the resulting elf. The intrinsics takes a MetadataNode (String) as its only argument, which specifies the symbol name of the relocation entry. `SelectionDAGBuilder::getValueImpl` is changed to allow metadata operands passed through to ISel. Author: csyonghe <yonghe@google.com> Reviewers: tpr, nhaehnle Reviewed By: nhaehnle Subscribers: arsenm, kzhuravl, jvesely, wdng, yaxunl, dstuttard, t-tye, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76440
-
Alexey Bataev authored
clauses. Implemented codegen for array shaping operation in depend clauses. The begin of the expression is the pointer itself, while the size of the dependence data is the mukltiplacation of all dimensions in the array shaping expression.
-
Sid Manning authored
Noticed when building llvm's c++ library. Differential Revision: https://reviews.llvm.org/D76546
-
Sameer Sahasrabuddhe authored
For each natural loop with multiple exit blocks, this pass creates a new block N such that all exiting blocks now branch to N, and then control flow is redistributed to all the original exit blocks. The bulk of the tranformation is a new function introduced in BasicBlockUtils that an redirect control flow from a set of incoming blocks to a set of outgoing blocks via a common "hub". This is a useful workaround for a limitation in the structurizer which incorrectly orders blocks when processing a nest of loops. This pass bypasses that issue by ensuring that each natural loop is recognized as a separate region. Since the structurizer is a region pass, it no longer sees a nest of loops in a single region, and instead processes each "level" in the nesting as a separate region. The AMDGPU backend provides a new option to enable this pass before the structurizer, which may eventually be enabled by default. Reviewers: madhur13490, arsenm, nhaehnle Reviewed By: nhaehnle Differential Revision: https://reviews.llvm.org/D75865
-
Vedant Kumar authored
In InnerLoopVectorizer::getOrCreateTripCount, when the backedge taken count is a SCEV add expression, its type is defined by the type of the last operand of the add expression. In the test case from PR45259, this last operand happens to be a pointer, which (according to llvm::Type) does not have a primitive size in bits. In this case, LoopVectorize fails to truncate the SCEV and crashes as a result. Uing ScalarEvolution::getTypeSizeInBits makes the truncation work as expected. https://bugs.llvm.org/show_bug.cgi?id=45259 Differential Revision: https://reviews.llvm.org/D76669
-
Fangrui Song authored
Currently, `error: incompatible section flags for .rodata` is reported when we mix SHF_LINK_ORDER and non-SHF_LINK_ORDER sections in an output section. This is overconstrained. This patch allows mixed flags with the requirement that SHF_LINK_ORDER sections must be contiguous. Mixing flags is used by Linux aarch64 (https://github.com/ClangBuiltLinux/linux/issues/953) .init.data : { ... KEEP(*(__patchable_function_entries)) ... } When the integrated assembler is enabled, clang's -fpatchable-function-entry=N[,M] implementation sets the SHF_LINK_ORDER flag (D72215) to fix a number of garbage collection issues. Strictly speaking, the ELF specification does not require contiguous SHF_LINK_ORDER sections but for many current uses of SHF_LINK_ORDER like .ARM.exidx/__patchable_function_entries there has been a requirement for the sections to be contiguous on top of the requirements of the ELF specification. This patch also imposes one restriction: SHF_LINK_ORDER sections cannot be separated by a symbol assignment or a BYTE command. Not allowing BYTE is a natural extension that a non-SHF_LINK_ORDER cannot be a separator. Symbol assignments can delimiter the contents of SHF_LINK_ORDER sections. Allowing SHF_LINK_ORDER sections across symbol assignments (especially __start_/__stop_) can make things hard to explain. The restriction should not be a problem for practical use cases. Reviewed By: psmith Differential Revision: https://reviews.llvm.org/D77007
-
Raul Tambre authored
It's set to OFF by default at libcxx/CMakeLists.txt:73. Differential Revision: https://reviews.llvm.org/D76905
-
Louis Dionne authored
This allows adding compilation flags for a single test, which can help eliminate some .sh.cpp tests and some custom handling in the libc++ test format. It also works around the issue that .sh.cpp substitutions are _not_ equivalent to the actual compiler command lines used to compile tests, since the compiler flags can be modified in local lit configurations, and substitutions are frozen at that point. For example using %{compile} in a .sh.cpp test in the coroutines subdirectory will not include the -fcoroutines-ts flag, which is added in the local lit config, because the %{compile} substitution is created long before we add -fcoroutines-ts to the compiler flags (in the lit.local.cfg for coroutines). -
Fangrui Song authored
-
Yuanfang Chen authored
[X86] make sure POP has implicit def/use of stack pointer when materializing 8-bit immediates for minsize Summary: Otherwise PostRA list scheduler may reorder instruction, such as schedule this ''' pushq $0x8 pop %rbx lea 0x2a0(%rsp),%r15 ''' to ''' pushq $0x8 lea 0x2a0(%rsp),%r15 pop %rbx ''' by mistake. The patch is to prevent this to happen by making sure POP has implicit use of SP. Reviewers: craig.topper Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77031
-
- Mar 30, 2020
-
-
Gabor Marton authored
Reviewers: Szelethus, NoQ Subscribers: whisperity, xazax.hun, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, gamesh411, Charusso, steakhal, ASDenysPetrov, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77061
-
Guillaume Chatelet authored
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: jyknight, sdardis, nemanjai, hiraditya, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, jfb, PkmX, jocewei, Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77059
-
Pavel Labath authored
This reverts commit because of test failures in TestHelloWorld. It seems that this test (specifically running "ls" as a platform shell command) depended on the implicit passing of the host environment. The fix should be fairly simple (inherit the environment explicitly), but it may take me a while to figure where exactly to do that. Revert while I am figuring that out.
-
Matt Arsenault authored
-
Louis Dionne authored
This will become more relevant as we shift more filesystem-specific logic to the local lit configuration in test/std/input.output/filesystems.
-
Matt Arsenault authored
I still think the call lowering type legalization logic split between the generic code and target is too confusing, but largely induced by the reliance on the DAG infrastructure.
-
Matt Arsenault authored
Mostly ported from the DAG version. This results in much worse code than the DAG version, largely due to a much worse expansion for G_UMULH.
-
Chris Jackson authored
InstCombine does not result in an incorrect debuginfo variable value - Add an additional salvage and a test. Reviewers: aprantl, djtodoro Differential Revision: https://reviews.llvm.org/D76854 Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=44371
-
Florian Hahn authored
As per post-commit comment at https://reviews.llvm.org/D76916, this should better be done at the TU level. This reverts commit 9ce198d6.
-
Benjamin Kramer authored
Found by msan.
-
Pavel Labath authored
Summary: A defensive check in ProcessLauncherWindows meant that we would never attempt to launch a process with a completely empty environment -- the host environment would be used instead. Instead, I make the function add an extra null wchar_t at the end of an empty environment. The documentation on this is a bit fuzzy, but it seems to be what is needed to make windows accept these kinds of environments. Reviewers: amccarth, friss Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D76835
-
Louis Dionne authored
Since its important to know whether a function frees memory (even if its a reallocating function!), I used two CallDescriptionMaps to merge all CallDescriptions into it. MemFunctionInfoTy no longer makes sense, it may never have, but for now, it would be more of a distraction then anything else. Differential Revision: https://reviews.llvm.org/D68165
-
Pavel Labath authored
Summary: D73024 seems to have fixed one set crash, but it introduced another. Namely, if a class contains a covariant method returning itself, the logic in MaybeCompleteReturnType could cause us to attempt a recursive import, which would result in an assertion failure in clang::DeclContext::removeDecl. For some reason, this only manifested itself if the class contained at least two member variables, and the class itself was imported as a result of a recursive covariant import. This patch fixes the crash by not attempting to import classes which are already completed in MaybeCompleteReturnType. However, it's not clear to me if this is the right fix, or if this should be handled automatically by functions lower in the stack. Reviewers: teemperor, shafik Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D76840
-
Chris Jackson authored
value as undefined - Correct a debug info salvage and add a test Reviewers: aprantl, vsk Differential Revision: https://reviews.llvm.org/D76930 Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=45080 -
Louis Dionne authored
We've been meaning to remove those targets for a while, and the fix is simple enough cause they're all just aliases to other targets. This is a re-application of f383fb40, wich was reverted in 04d48111 because the build bots had not been updated yet. The build bot configurations have now been updated not to use the deprecated targets, and I verified that they were using the non-deprecated targets, so we should be good unless I missed a bot. Differential Revision: https://reviews.llvm.org/D76104
-
Sanjay Patel authored
Goes with D76983
-
Alexey Bataev authored
Summary: Added basic representation and parsing/sema handling of array-shaping operations. Array shaping expression is an expression of form ([s0]..[sn])base, where s0, ..., sn must be a positive integer, base - a pointer. This expression is a kind of cast operation that converts pointer expression into an array-like kind of expression. Reviewers: rjmccall, rsmith, jdoerfert Subscribers: guansong, arphaman, cfe-commits, caomhin, kkwli0 Tags: #clang Differential Revision: https://reviews.llvm.org/D74144
-
Guillaume Chatelet authored
[Alignment][NFC] Provide tightened up functions in SelectionDAG, MachineFunction and MachineMemOperand Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77046
-
Haojian Wu authored
Summary: We mark these decls as invalid. Reviewers: sammccall Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77037
-
Georgii Rymar authored
This test missed the check of histograms printed for .hash sections. It was removed by mistake in D71606 where I tried to get rid of precompiled objects and did not realize that time that both SHT_GNU_HASH and SHT_HASH sections were tested and not just GNU version. Also it never tested aliases for the --elf-hash-histogram option. Differential revision: https://reviews.llvm.org/D76920
-
Ulrich Weigand authored
On Ubuntu, we want to raise default CLANG_SYSTEMZ_ARCH to z13, thus allow configuring this via CMake. On Debian, we want to raise it to z196. Author: Dimitri John Ledkov Differential Revision: https://reviews.llvm.org/D75914
-
Raphael Isemann authored
LLDB only automatically applies Fix-Its from errors, but not from warnings. Currently we only store Fix-Its from errors and then later apply all Fix-Its we stored. This moves the filter to the application phase, so that we now store *all* Fix-Its but only apply Fix-Its from errors later on. This is NFC preparation for an upcoming patch.
-