- Nov 01, 2017
-
-
Simon Pilgrim authored
So far we've only been using PACKSS truncations with 'all-bits or zero-bits' patterns (vector comparison results etc.). When really we can safely use it for any case as long as the number of sign bits reach down to the last 16-bits (or 8-bits if we're truncating to bytes). The next steps after this is add the equivalent support for PACKUS and to support packing to sub-128 bit vectors for truncating stores etc. Differential Revision: https://reviews.llvm.org/D39476 llvm-svn: 317086
-
Joachim Protze authored
The code is tested to work with latest clang, GNU and Intel compiler. The implementation is optimized for low overhead when no tool is attached shifting the cost to execution with tool attached. This patch does not implement OMPT for libomptarget. Patch by Simon Convent and Joachim Protze Differential Revision: https://reviews.llvm.org/D38185 llvm-svn: 317085
-
Florian Hahn authored
Summary: By replacing branches to CommonExitBlock, we remove the node from CommonExitBlock's predecessors, invalidating the iterator. The problem is exposed when the common exit block has multiple predecessors and needs to sink lifetime info. The modification in the test case trigger the issue. Reviewers: davidxl, davide, wmi Reviewed By: davidxl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39112 llvm-svn: 317084
-
Simon Pilgrim authored
llvm-svn: 317083
-
George Rimar authored
The way we handle ONLY_IF_RO/ONLY_IF_RW constraints in processSectionCommands is a bit tricky. If input sections does no satisfy given constraint we remove command from commands list. It seems too complex, what we can do instead is to make the OutputCommand empty. So that at later steps LLD will remove it just like it deal with other empty output commands. That allows to simplify the loop a bit. Differential revision: https://reviews.llvm.org/D39094 llvm-svn: 317082
-
Serguei Katkov authored
fmod specification requires the sign of the remainder is the same as numerator in case remainder is zero. Reviewers: gottesmm, scanon, arsenm, davide, craig.topper Reviewed By: scanon Subscribers: wdng, llvm-commits Differential Revision: https://reviews.llvm.org/D39225 llvm-svn: 317081
-
George Rimar authored
This is PR34826. Currently LLD is unable to report line number when reporting duplicate declaration of some variable. That happens because for extracting line information we always use .debug_line section content which describes mapping from machine instructions to source file locations, what does not help for variables as does not describe them. In this patch I am taking the approproate information about variables locations from the .debug_info section. Differential revision: https://reviews.llvm.org/D38721 llvm-svn: 317080
-
Craig Topper authored
[X86] Add more type qualifiers to INSERT_SUBREG operations in rotate patterns so they don't get created with a v64i8 type. Not sure why tablegen didn't error on this. Fixes PR35158. llvm-svn: 317079
-
NAKAMURA Takumi authored
llvm-svn: 317078
-
NAKAMURA Takumi authored
Revert rL317019, "[ADT] Split optional to only include copy mechanics and dtor for non-trivial types." Seems g++-4.8 (eg. Ubuntu 14.04) doesn't like this. llvm-svn: 317077
-
Richard Smith authored
Fix -Wunused-private-field to fire regardless of which implicit special members have been implicitly declared. llvm-svn: 317076
-
NAKAMURA Takumi authored
llvm-svn: 317075
-
Marshall Clow authored
llvm-svn: 317074
-
Richard Trieu authored
Remove the assertion that could be triggered by invalid code. Replace it with an early exit from the checking function. llvm-svn: 317073
-
Craig Topper authored
llvm-svn: 317072
-
Vitaly Buka authored
Reviewers: kcc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39397 llvm-svn: 317071
-
George Karpenkov authored
llvm-svn: 317070
-
Craig Topper authored
llvm-svn: 317069
-
Rui Ueyama authored
llvm-svn: 317068
-
Jason Molenda authored
to participate in lldb going forward. Jim Ingham is adopting the areas he was responsible for. llvm-svn: 317067
-
Richard Smith authored
Given a choice between a constructor call and a conversion function in C++17, we prefer the constructor for direct-initialization and the conversion function for copy-initialization, matching the behavior in C++14 and before. The guaranteed copy elision rules were not intended to change the meaning of such code (other than by removing unnecessary copy constructor calls). This tweak will be raised with CWG. llvm-svn: 317066
-
George Karpenkov authored
Differential Revision: https://reviews.llvm.org/D39428 llvm-svn: 317065
-
Marshall Clow authored
llvm-svn: 317063
-
Alex Lorenz authored
in a function defined before the outer class llvm-svn: 317062
-
Vitaly Buka authored
Fails on darwin Revert "[fuzzer] Script to detect unbalanced allocation in -trace_malloc output" Needs previous one. This reverts commit r317034, r317036. llvm-svn: 317061
-
Mitch Phillips authored
llvm-svn: 317060
-
Craig Topper authored
llvm-svn: 317059
-
Daniel Sanders authored
The next commit will add support for multi-instruction emission so we need to start allocating instruction ID's instead of hard-coding them to 0. llvm-svn: 317057
-
Alex Lorenz authored
llvm-svn: 317056
-
Jake Ehrlich authored
I need a test that only runs in a reasonable amount of time on systems that have sparse files. The broadest class of systems that support sparse files are linux systems. So restricting my test to linux systems should suffice. This change adds the system-linux feature to llvm-lit so that it can be required. Differential Revision: https://reviews.llvm.org/D39482 llvm-svn: 317055
-
Alex Lorenz authored
llvm-svn: 317054
-
Wolfgang Pieb authored
llvm-svn: 317053
-
Benjamin Kramer authored
llvm-svn: 317052
-
Benjamin Kramer authored
llvm-svn: 317051
-
Mitch Phillips authored
Summary: Help differentiate code and data by parsing DWARF information. This will reduce false positive rates where data is placed in executable sections and is mistakenly parsed as code, resulting in an inflation in the number of indirect CF instructions (and hence an inflation of the number of unprotected). Also prints the DWARF line data around the region of each indirect CF instruction. Reviewers: pcc Subscribers: probinson, llvm-commits, vlad.tsyrklevich, mgorny, aprantl, kcc Differential Revision: https://reviews.llvm.org/D38654 llvm-svn: 317050
-
Daniel Sanders authored
Re-commit: [globalisel][tablegen] Keep track of the insertion point while adding BuildMIAction's. NFC Multi-instruction emission needs to ensure the the instructions are generated a depth-first fashion. For example: (ADDWrr (SUBWrr a, b), c) needs to emit the SUBWrr before the ADDWrr. However, our walk over TreePatternNode's is highly context sensitive which makes it difficult to append BuildMIActions in the order we want. To fix this, we now keep track of the insertion point as we add actions. This will allow multi-insn emission to insert BuildMI's in the correct place. The previous commit failed on the Ubuntu bots using GCC 4.8. These bots lack the const_iterator forms of insert() and emplace() that were added in C++11. As a result I've switched the const_iterators to iterators. llvm-svn: 317049
-
- Oct 31, 2017
-
-
Philip Reames authored
This formulation might be slightly slower since I eagerly compute the cheap replacements. If anyone sees this having a compile time impact, let me know and I'll use lazy population instead. llvm-svn: 317048
-
Wolfgang Pieb authored
The cloning happens before all metadata nodes are resolved. Prevent the value mapper from running into unresolved or temporary MD nodes. Differential Revision: https://reviews.llvm.org/D39396 llvm-svn: 317047
-
Peter Collingbourne authored
Differential Revision: https://reviews.llvm.org/D39271 llvm-svn: 317046
-
Peter Collingbourne authored
llvm-svn: 317045
-