- Mar 19, 2020
-
-
Jonas Devlieghere authored
Expose two methods to find the current toolchain and the current command line tools directory. These are used by Swift to find the resource directory.
-
Jonas Devlieghere authored
-
Louis Dionne authored
This commit adds a new keyword in lit called ALLOW_RETRIES. This keyword takes a single integer as an argument, and it allows the test to fail that number of times before it first succeeds. This work attempts to make the existing test_retry_attempts more flexible by allowing by-test customization, as well as eliminate libc++'s FLAKY_TEST custom logic. Differential Revision: https://reviews.llvm.org/D76288
-
Alexey Bataev authored
If the ancestor device modifier is used and the value of the device clause is evaluated to 1, the ancestor device shall be used for the execution. Since the reverse offloading is not supported yet, the target construct execution is always initiated from the host, not from the device. So, if the ancestor modifier is specified, just execute target region on the host.
-
Simon Pilgrim authored
-
Eric Schweitz authored
Reviewers: rriddle, ftynse Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D76333
-
Davide Italiano authored
Discussed offline with Jason.
-
Florian Hahn authored
The latest improvements to VPValue printing make this mapping clear when printing the operand. Printing the mapping separately is not required any longer. Reviewers: rengolin, hsaito, Ayal, gilr Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D76375
-
Hanhan Wang authored
Summary: Although bool and int1 are the same sometimes, using bool constant matches the semantic better. In any cases, we don't have to care the type of conditions if we remove the intial value. The type is determined automatically by the returned type of logical operations. Differential Revision: https://reviews.llvm.org/D76338
-
Alex Cameron authored
Summary: Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=27702 I wasn't sure how this type of thing is usually tested. So any advice would be appreciated. `check-llvm`, `check-clang` and `check-clang-tools` are clean for me. **C++98** ``` tetsuo@garland-c-16-sgp1-01:~/dev/llvm-project/test$ cat compile_commands.json [ { "directory": "/home/tetsuo/dev/llvm-project/test", "command": "/usr/bin/c++ -std=gnu++98 -o CMakeFiles/test.dir/test.cpp.o -c /home/tetsuo/dev/llvm-project/test/test.cpp", "file": "/home/tetsuo/dev/llvm-project/test/test.cpp" } ] tetsuo@garland-c-16-sgp1-01:~/dev/llvm-project/test$ ../build/bin/clang-tidy --checks=misc-unconventional-assign-operator test.cpp 3053 warnings generated. /home/tetsuo/dev/llvm-project/test/test.cpp:7:3: warning: operator=() should take 'Foo const&' or 'Foo' [misc-unconventional-assign-operator] Foo &operator=(Foo &Other) { ^ Suppressed 3052 warnings (30...
-
Florian Hahn authored
Now that printing VPValues uses the underlying IR value name, if available, recording the underlying value here improves printing. Reviewers: rengolin, hsaito, Ayal, gilr Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D76374
-
Sanjay Patel authored
-
Sanjay Patel authored
This is copied from the suggested text by @regehr in: https://bugs.llvm.org/show_bug.cgi?id=20895 The way forward was not clear for several years, but now that we have 'freeze' and Alive2, the behavior should be documented. Also see comments in D76332.
-
Yunlian Jiang authored
Differential Revision: https://reviews.llvm.org/D48680
-
Simon Pilgrim authored
-
Eli Friedman authored
The existence of the class is more confusing than helpful, I think; the commonality is mostly just "GEP is legal", which can be queried using APIs on GetElementPtrInst. Differential Revision: https://reviews.llvm.org/D75660
-
Petr Hosek authored
This tool is used for generating and manipulating GSYM files. Differential Revision: https://reviews.llvm.org/D76204
-
Sanjay Patel authored
-
Craig Topper authored
[SelectionDAGBuilder][FPEnv] Take into account SelectionDAG continuous CSE when setting the nofpexcept flag for constrained intrinsics SelectionDAG CSEs nodes based on their result type and operands, but not their flags. The flags are expected to be intersected when they are CSEd. In SelectionDAGBuilder, for FP nodes we manage both the fast math flags and the nofpexcept flag after the nodes have already been CSEd when they were created with getNode. The management of the fastmath flags before the constrained nodes prevents the nofpexcept management from working correctly. This commit moves the FMF handling for constrained intrinsics into their visitor and disables the common FMF handling for these nodes. Differential Revision: https://reviews.llvm.org/D75224
-
River Riddle authored
Summary: The usage story in for NDEBUG isn't fleshed out yet, so this revision ensures that none of the diagnostic code exists in the binary. Differential Revision: https://reviews.llvm.org/D76372
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Nicolas Vasilache authored
Summary: These intrinsics will be used to lower vector transfer read/write. Reviewers: aartbik, tetuante, jsetoain Reviewed By: aartbik Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75986
-
Fred Riss authored
Summary: The memory history plugin for Asan creates a HistoryThread with the recorded PC values provided by the Asan runtime. In other cases, thoses PCs are gathered by LLDB directly. The PCs returned by the Asan runtime are the PCs of the calls in the backtrace, not the return addresses you would normally get when unwinding the stack (look for a call to GetPreviousIntructionPc in AsanGetStack). When the above addresses are passed to the unwinder, it will subtract 1 from each address of the non zero frames because it treats them as return addresses. This can lead to the final report referencing the wrong line. This patch fixes this issue by threading a flag through HistoryThread and HistoryUnwinder that tells them to treat every frame like the first one. The Asan MemoryHistory plugin can then use this flag. This fixes running TestMemoryHistory on arm64 devices, although it's hard to guarantee that the test will continue to exhibit the boundary condition that triggers this bug. Reviewers: jasonmolenda, kubamracek Subscribers: kristof.beyls, danielkiss, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D76341
-
River Riddle authored
Summary: This is somewhat complex(annoying) as it involves directly tracking the uses within each of the callgraph nodes, and updating them as needed during inlining. The benefit of this is that we can have a more exact cost model, enable inlining some otherwise non-inlinable cases, and also ensure that newly dead callables are properly disposed of. Differential Revision: https://reviews.llvm.org/D75476
-
lewis-revill authored
This patch generates TableGen descriptions for the specified register banks which contain a list of register sizes corresponding to the available HwModes. The appropriate size is used during codegen according to the current HwMode. As this HwMode was not available on generation, it is set upon construction of the RegisterBankInfo class. Targets simply need to provide the HwMode argument to the <target>GenRegisterBankInfo constructor. The RISC-V RegisterBankInfo constructor has been updated accordingly (plus an unused argument removed). Differential Revision: https://reviews.llvm.org/D76007
-
lewis-revill authored
This patch rewrites the RegisterBankEmitter class to derive RegisterClassHierarchy from CodeGenTarget::getRegBank() rather than constructing our own copy. All are now accessed through a const reference. Differential Revision: https://reviews.llvm.org/D76006
-
Siva Chandra Reddy authored
Submitted as obvious.
-
Eli Friedman authored
This is fixing up various places that use the implicit TypeSize->uint64_t conversion. The new overloads in MemoryLocation.h are already used in various places that construct a MemoryLocation from a TypeSize, including MemorySSA. (They were using the implicit conversion before.) Differential Revision: https://reviews.llvm.org/D76249
-
Alexey Bataev authored
Added parsing/sema/serialization support for extended device clause in executable target directives.
-
Simon Pilgrim authored
[ValueTracking] Add computeKnownBits DemandedElts support to EXTRACTELEMENT/OR/BSWAP/BITREVERSE instructions (PR36319) These are all covered by the bswap/bitreverse vector tests.
-
Yaxun (Sam) Liu authored
HIPToolChain::TranslateArgs call TranslateArgs of host toolchain with the input args to get a list of derived args called DAL, then go through the input args by itself and append them to DAL. This assumes that the host toolchain should not append any unchanged args to DAL, otherwise there will be duplicates since HIPToolChain will append it again. This works for GNU toolchain since it returns an empty list for DAL. However, MSVC toolchain will append unchanged args to DAL, which causes duplicate args. This patch let MSVC toolchain not append unchanged args for HIP offloading kind, which fixes this issue. Differential Revision: https://reviews.llvm.org/D76032
-
Julian Lettner authored
arm64e adds support for pointer authentication, which was adopted by libplatform to harden setjmp/longjmp and friends. We need to teach the TSan interceptors for those functions about this. Reviewed By: kubamracek Differential Revision: https://reviews.llvm.org/D76257
-
Nemanja Ivanovic authored
As pointed out in https://bugs.llvm.org/show_bug.cgi?id=45232 this code can end up shifting a 64-bit unsigned value left by 64 bits. Althought this works as expected on some platforms it is definitely UB. This patch removes the UB and adds the associated test case. Fixes: https://bugs.llvm.org/show_bug.cgi?id=45232
-
Simon Pilgrim authored
Fixes deprecation warning in EXPENSIVE_CHECKS builds.
-
Simon Pilgrim authored
Shows missing DemandedElts support (PR36319)
-
Jessica Paquette authored
This ports some combines from DAGCombiner.cpp which perform some trivial transformations on instructions with undef operands. Not having these can make it extremely annoying to find out where we differ from SelectionDAG by looking at existing lit tests. Without them, we tend to produce pretty bad code generation when we run into instructions which use undef operands. Also remove the nonpow2_store_narrowing testcase from arm64-fallback.ll, since we no longer fall back on the add. Differential Revision: https://reviews.llvm.org/D76339
-
Jakub Kuderski authored
Reviewers: asbirlea, brzycki, NutshellySima, grosser Reviewed By: asbirlea, NutshellySima Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76340
-
Adrian Prantl authored
-