- Feb 07, 2020
-
-
Dmitry Preobrazhensky authored
Summary of changes: - updated description of gfx906 and gfx908; - added description of gfx1011 and gfx1012 subtargets.
-
Christian Sigg authored
Summary: Make room for mlir-support pretty printers that I would like to add next. Reviewers: dblaikie Reviewed By: dblaikie Subscribers: merge_guards_bot, mgorny, rriddle, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73726
-
Raphael Isemann authored
-
Momchil Velikov authored
The registers TRCEXTINSELR and TRCEXTINSELR0 are distinct registers, defined by separate extension specifications (ETM and ETE, respectively), yet they use the same encoding in MSR/MRS. When performing a system register lookup by encoding, we would essentially return a random one, depending on the number, relative position in the TableGen file, whether the TableGen records for system registers are named or not, and, if they are named, depending on record (not register!) name as well. This patch works around the issue by explictly checking for the TRCEXTINSELR/TRCEXTINSELR0 encoding and always returning TRCEXTINSELR. Differential Revision: https://reviews.llvm.org/D74074
-
Anastasia Stulova authored
Address space conversion changes pointer representation. This commit disallows such conversions when they are not legal i.e. for the nested pointers even with compatible address spaces. Because the address space conversion in the nested levels can't be generated to modify the pointers correctly. The behavior implemented is as follows: - Any implicit conversions of nested pointers with different address spaces is rejected. - Any conversion of address spaces in nested pointers in safe casts (e.g. const_cast or static_cast) is rejected. - Conversion in low level C-style or reinterpret_cast is accepted but with a warning (this aligns with OpenCL C behavior). Fixes PR39674 Differential Revision: https://reviews.llvm.org/D73360
-
Djordje Todorovic authored
Add the License header into the Statistics.cpp. Differential Revision: https://reviews.llvm.org/D74207
-
Florian Hahn authored
If we know that a >= b (unsigned), usub.with.overflow(a, b) cannot overflow. Similarly, if b > a, the same expression overflows. Reviewers: nikic, RKSimon, lebedev.ri, spatel Reviewed By: nikic, Gerolf Differential Revision: https://reviews.llvm.org/D74066
-
Hans Wennborg authored
-
serge-sans-paille authored
This reverts commit 39f50da2. The -fstack-clash-protection is being passed to the linker too, which is not intended. Reverting and fixing that in a later commit.
-
Balázs Kéri authored
Reviewers: Szelethus Reviewed By: Szelethus Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, donat.nagy, Charusso, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73350
-
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.
-