- Feb 07, 2020
-
-
Guillaume Chatelet authored
Summary: This patch introduces an API for MemOp in order to simplify and tighten the client code. Reviewers: courbet Subscribers: arsenm, nemanjai, jvesely, nhaehnle, hiraditya, kbarton, jsji, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73964
-
Florian Hahn authored
-
Florian Hahn authored
This patch adds versions of isImpliedCondition and isImpliedByDomCondition that take a predicate, LHS and RHS operands as instead of a Value representing the condition. This allows using those functions to check conditions without having a concrete ICmp instruction. Reviewers: nikic, RKSimon, lebedev.ri, spatel Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D74065
-
Raphael Isemann authored
Summary: To my knowledge we don't actually use or need these rules. And if we need them then there is probably a better way to implement this than having all these random regexes. Reviewers: labath, JDevlieghere Reviewed By: labath, JDevlieghere Subscribers: jingham, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D74126
-
Diogo Sampaio authored
Summary: Following the AAPCS, every store to a volatile bit-field requires to generate one load of that field, even if all the bits are going to be replaced. This patch allows the user to opt-in in following such rule, whenever the a. AAPCS Release 2019Q1.1 (https://static.docs.arm.com/ihi0042/g/aapcs32.pdf) section 8.1 Data Types, page 35, paragraph: Volatile bit-fields – preserving number and width of container accesses ``` When a volatile bit-field is written, and its container does not overlap with any non-bit-field member, its container must be read exactly once and written exactly once using the access width appropriate to the type of the container. The two accesses are not atomic. ``` Reviewers: lebedev.ri, ostannard, jfb, eli.friedman Reviewed By: jfb Subscribers: rsmith, rjmccall, dexonsmith, kristof.beyls, jfb, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67399
-
Pierre van Houtryve authored
Differential Revision: https://reviews.llvm.org/D74120
-
serge_sans_paille authored
Implement protection against the stack clash attack [0] through inline stack probing. Probe stack allocation every PAGE_SIZE during frame lowering or dynamic allocation to make sure the page guard, if any, is touched when touching the stack, in a similar manner to GCC[1]. This extends the existing `probe-stack' mechanism with a special value `inline-asm'. Technically the former uses function call before stack allocation while this patch provides inlined stack probes and chunk allocation. Only implemented for x86. [0] https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt [1] https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00556.html Differential Revision: https://reviews.llvm.org/D68720
-
Pierre van Houtryve authored
[Target][AArch64] Remove non-existing system registers ICH_VSEIR_EL2 & ICC_SEIEN_EL1 from AArch64 backend Differential Revision: https://reviews.llvm.org/D74118
-
Hans Wennborg authored
-
Konrad Kleine authored
Summary: In D66791 I've introduced this [[ https://cmake.org/cmake/help/latest/module/CMakeDependentOption.html | `CMakeDependentOption` ]] but in D71306 @JDevlieghere has changed the way optional dependencies are handled in LLDB. Today there's no occurence of `cmake_dependent_option` inside the lldb source tree. That's why this include can be removed. Reviewers: JDevlieghere, labath Reviewed By: labath Subscribers: labath, mgorny, lldb-commits, JDevlieghere Tags: #lldb Differential Revision: https://reviews.llvm.org/D74160
-
Sourabh Singh Tomar authored
Summary: This patch reorders the emission of debug_str section, so that string can come after macros. This is necessary for macro forms like DW_MACRO_define_strp, which emits macro as a string in debug_str section.
-
Craig Topper authored
Similar to what we do for other vector any_extends, but instead of zero_extend we need to use sign_extend.
-
Craig Topper authored
-
Jason Molenda authored
-
Jason Molenda authored
-
Justin Lebar authored
Reviewers: andreadb Subscribers: tschuett, gbedwell, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72385
-
Matt Arsenault authored
These wouldn't legalize between 16-bits and 32-bits on targets with 16-bit instructions.
-
Douglas Yung authored
on platforms that default to an older C standard (like the PS4). This should fix the test failure on the PS4 bots.
-
River Riddle authored
Summary: In some edge cases the default APFloat printer will generate something that we can't parse back in. In these cases, fallback to using hex instead. Differential Revision: https://reviews.llvm.org/D74181
-
Jordan Rupprecht authored
Revert "[Clang][Driver] Remove -M group options ..." and "[Clang] Avoid crashing when generating crash diagnostics when '#pragma clang __debug ..." This reverts commits f41ec709 and 5fedc2b4. On some buildbots, Clang :: Driver/crash-report.c is broken with: ``` Command Output (stderr): -- /home/buildslave/ps4-buildslave1/clang-with-thin-lto-ubuntu/llvm-project/clang/test/Driver/crash-report.c:48:11: error: CHECK: expected string not found in input // CHECK: Preprocessed source(s) and associated run script(s) are located at: ^ <stdin>:1:1: note: scanning from here /home/buildslave/ps4-buildslave1/clang-with-thin-lto-ubuntu/llvm-project/clang/test/Driver/crash-report.c:50:1: error: unknown type name 'BAZ' ``` Example: http://lab.llvm.org:8011/builders/clang-with-thin-lto-ubuntu/builds/21321/steps/test-stage1-compiler/logs/stdio
-
River Riddle authored
This fixes a nasty bug where the loop would return prematurely when notifying the argument converter that an operation was removed.
-
Peter Collingbourne authored
Differential Revision: https://reviews.llvm.org/D74150
-
Stanislav Mekhanoshin authored
We are using countPopulation on a LaneBitmask to determine a number of registers it covers. This is the assumption which does not necessarily need to be true. It is not changed but factored into a single call SIRegisterInfo::getNumCoveredRegs(). Some other places are cleaned up with respect to assumptions about subreg indexes values and tablegen behavior. Differential Revision: https://reviews.llvm.org/D74177
-
Stanislav Mekhanoshin authored
This reverts commit 98278064.
-
Jason Molenda authored
-
Craig Topper authored
With REQUIRES: x86-register-target added to the tests. Also remove some unneeded FIXMEs But add a FIXME for bad IR generation for FMADDSUB/FMSUBADD with constrained FP. Original patch by Kevin P. Neal
-
Changpeng Fang authored
Summary: Current implementation of matchSwap in SIShrinkInstructions searches the entire use_nodbg_operands set to find the possible pattern to generate v_swap instruction. This approach will lead to a O(N^3) in compile time for SIShrinkInstructions. But in reality, the matching pattern only exists within nearby instructions in the same basic block. This work limits the search to a maximum of 16 instructions, and has a linear compile time comsumption. Reviewers: rampitec, arsenm Differential Revision: https://reviews.llvm.org/D74180
-
Richard Smith authored
constant initialization. Removing this zeroing regressed our code generation in a few cases, also fixed here. We now compute whether a variable has constant destruction even if it doesn't have a constant initializer, by trying to destroy a default-initialized value, and skip emitting a trivial default constructor for a variable even if it has non-trivial (but perhaps constant) destruction.
-
Jessica Paquette authored
This reverts commit a3738414. It looks like this broke set_shadow_test.c, so I'm reverting until I can fix it. I also reverted the SGT change because it's probably also broken.
-
Jessica Paquette authored
This reverts commit d78cefb1. One of this and the SLT change broke set_shadow_test.c, so I'm reverting until I can fix it.
-
Alexandre Ganea authored
Previously, the SEH codepath in CrashRecoveryContext didn't create a CrashRecoveryContextImpl. The other codepaths (VEH and Unix) were creating it. When running with -fintegrated-cc1, this is needed to handle exit() as a jump to CrashRecoveryContext's exception filter, through a call to RaiseException. In that situation, we need a user-defined exception code, which is later interpreted as an exit() by the exception filter. This in turn needs to set RetCode accordingly, *inside* the exception filter, and *before* calling HandleCrash(). Differential Revision: https://reviews.llvm.org/D74078
-
Kevin P. Neal authored
This reverts commit 208470dd. Tests fail: error: unable to create target: 'No available targets are compatible with triple "x86_64-apple-darwin"' This happens on clang-hexagon-elf, clang-cmake-armv7-quick, and clang-cmake-armv7-quick bots. If anyone has any suggestions on why then I'm all ears. Differential Revision: https://reviews.llvm.org/D73570 Revert "[FPEnv][X86] Speculative fix for failures introduced by eda495426." This reverts commit 80e17e5f. The speculative fix didn't solve the test failures on Hexagon, ARMv6, and MSVC AArch64.
-
Jason Molenda authored
debug session.
-
Jonas Devlieghere authored
EXCLUDE_FROM_ALL means something else for add_lit_testsuite as it does for something like add_executable. Distinguish between the two by renaming the variable and making it an argument to add_lit_testsuite. Differential revision: https://reviews.llvm.org/D74168
-
Huihui Zhang authored
This reverts commit 8e1ca948. New failing at http://lab.llvm.org:8011/builders/clang-armv7-linux-build-cache/builds/25929 I did reproduce and pass the previous failure at http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/46803/steps/annotate/logs/stdio
-
Huihui Zhang authored
Update lambda function argument "[this](const auto &TRI)" with [this](const TargetRegisterInfo &TRI). Looks like a bug in g++-6, there is no issue compiling using g++-9.
-
Evgenii Stepanov authored
Summary: When Function is destroyed, GlobalValue base class is destroyed, then Value destructor would call use_empty, which ultimately attempts to downcast 'this' to GlobalValue. This is UB, and is caught my MSAN as accessing uninitialized memory. Call materialized_use_empty, which doesn't call assertModuleIsMaterializedImpl(). Reviewers: eugenis Reviewed By: eugenis Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74161 Patch by Antonio Maiorano.
-
Amara Emerson authored
Fixes PR43288
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
Refactore GetStopReasonExtendedBacktraces so that the reproducer macro is passed an instrumented copy constructor rather than the constructor taking a ThreadCollectionSP, which is not instrumented.
-