| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
match GCC
llvm-svn: 317069
|
|
|
|
| |
llvm-svn: 317068
|
|
|
|
|
|
|
| |
to participate in lldb going forward. Jim Ingham is adopting
the areas he was responsible for.
llvm-svn: 317067
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D39428
llvm-svn: 317065
|
|
|
|
| |
llvm-svn: 317063
|
|
|
|
|
|
| |
in a function defined before the outer class
llvm-svn: 317062
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
sanitizers.
llvm-svn: 317060
|
|
|
|
| |
llvm-svn: 317059
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 317056
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
linux
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
|
|
|
|
| |
llvm-svn: 317054
|
|
|
|
|
|
| |
checkin for r317047.
llvm-svn: 317053
|
|
|
|
| |
llvm-svn: 317052
|
|
|
|
| |
llvm-svn: 317051
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
duplication [NFC]
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D39271
llvm-svn: 317046
|
|
|
|
| |
llvm-svn: 317045
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change allows generalizing pointers in type signatures used for
cfi-icall by enabling the -fsanitize-cfi-icall-generalize-pointers flag.
This works by 1) emitting an additional generalized type signature
metadata node for functions and 2) llvm.type.test()ing for the
generalized type for translation units with the flag specified.
This flag is incompatible with -fsanitize-cfi-cross-dso because it would
require emitting twice as many type hashes which would increase artifact
size.
Reviewers: pcc, eugenis
Reviewed By: pcc
Subscribers: kcc
Differential Revision: https://reviews.llvm.org/D39358
llvm-svn: 317044
|
|
|
|
|
|
|
|
| |
This version relies on a newer and more convenient way
to use a class to implement a command. It has been in place
since early 2015, so it should be pretty safe to use.
llvm-svn: 317043
|
|
|
|
|
|
|
|
|
|
| |
while adding BuildMIAction's. NFC
The same bots fail but I believe I know what the issue is now. These bots are
missing the const_iterator versions of insert/emplace/etc. that were introduced
in C++11.
llvm-svn: 317042
|
|
|
|
|
|
|
|
| |
Change the map key from DIFile* to the absolute path string. Computing
the absolute path isn't expensive because we already have a map that
caches the full path keyed on DIFile*.
llvm-svn: 317041
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 didn't
like a call to emplace(). I've replaced it with insert() to see if it's a quirk
of the C++11 support.
llvm-svn: 317040
|
|
|
|
|
|
|
|
|
| |
This patch resurrects code that was removed in r317007 to not access
beyond allocated memory for a symbol.
Differential Revision: https://reviews.llvm.org/D39458
llvm-svn: 317039
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Apps that benefit:
- alien isolation
- bioshock infinite
- civilization: beyond earth
- company of heroes 2
- dirt showdown
- dota 2
- F1 2015
- grid autosport
- hitman
- legend of grimrock
- serious sam 3: bfe
- shadow warrior
- talos principle
- total war: warhammer
- UE4 demos: effects cave, elemental, sun temple
Reviewers: arsenm, nhaehnle
Subscribers: kzhuravl, wdng, yaxunl, dstuttard, tpr, llvm-commits, t-tye
Differential Revision: https://reviews.llvm.org/D38914
llvm-svn: 317038
|
|
|
|
| |
llvm-svn: 317037
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: kcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D39466
llvm-svn: 317036
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Don't use BUILD_IN_SOURCE keep git checkout clean
Don't forward CMAKE_GENERATOR as ExternalProject_Add should do it already
Reset UPDATE_COMMAND to avoid git checkout updates on each build
Reviewers: kcc, morehouse
Subscribers: cfe-commits, mgorny
Differential Revision: https://reviews.llvm.org/D39445
llvm-svn: 317035
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Nested mallocs are possible with internal symbolizer.
Reviewers: kcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D39397
llvm-svn: 317034
|
|
|
|
|
|
|
|
| |
while adding BuildMIAction's. NFC
The Linux bots don't seem to like this usage of emplace(). Reverting while I look into it.
llvm-svn: 317033
|
|
|
|
|
|
|
|
| |
The right shift operator was not seen as a valid operator in a fold expression, which is PR32563.
Patch by Nicolas Lesser ("Blitz Rakete")!
llvm-svn: 317032
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The LLVM sqrt intrinsic definition changed with:
D28797
...so we don't have to use any relaxed FP settings other than errno handling.
This patch sidesteps a question raised in PR27435:
https://bugs.llvm.org/show_bug.cgi?id=27435
Is a programmer using __builtin_sqrt() invoking the compiler's intrinsic definition of sqrt or the mathlib definition of sqrt?
But we have an answer now: the builtin should match the behavior of the libm function including errno handling.
Differential Revision: https://reviews.llvm.org/D39204
llvm-svn: 317031
|
|
|
|
|
|
|
|
| |
instead of splatting it."
GCC doesn't like it. This reverts commit r317028.
llvm-svn: 317030
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 317029
|
|
|
|
|
|
|
|
| |
of splatting it.
No functionality change intended.
llvm-svn: 317028
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 317027
|
|
|
|
|
|
| |
This reverts commit r316305 because performance regression was observed.
llvm-svn: 317026
|
|
|
|
|
|
|
|
|
|
|
|
| |
createAndImportInstructionRenderer(). NFC
Multi-instruction emission will require that we have separate handling for
the defs between the implicitly created temporaries and the rule outputs.
The former require new temporary vregs while the latter should copy existing
operands. Factor out the implicit def/use renderers to minimize the code
duplication when we implement that.
llvm-svn: 317025
|
|
|
|
|
|
|
|
|
|
|
|
| |
SpeculativelyExecuteBB to prevent long names from being created
Currently the selects are created with the names of their inputs concatenated together. It's possible to get cases that chain these selects together resulting in long names due to multiple levels of concatenation. Our internal branch of llvm managed to generate names over 100000 characters in length on a particular test due to an extreme compounding of the names.
This patch changes the name to a generic name that is not dependent on its inputs.
Differential Revision: https://reviews.llvm.org/D39440
llvm-svn: 317024
|
|
|
|
|
|
|
|
| |
prepare for an upcoming commit. NFC
A future commit will change how some of the value names in the IR are generated which causes these tests to break in their current form. The script generates checks with regular expressions so it should be immune.
llvm-svn: 317023
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to choose a mutatable instruction. NFC
Prepare for multiple instruction emission by allowing BuildMIAction to
search for a suitable matcher that will support mutation.
This patch deliberately neglects to add matchers aside from the root to
preserve NFC. That said, it should be noted that until we support mutations
other than just the opcode the chances of finding a non-root instruction
for which canMutate() is true, is essentially zero. Furthermore in the
presence of multi-instruction emission the chances of finding any
instruction for which canMutate() is true is also zero. Nevertheless, we
can't continue to require that all BuildMIAction's consider the root of the match
to be recyclable due to the risk of recycling it twice in the same rule.
llvm-svn: 317022
|
|
|
|
|
|
| |
These are only testing 64-bit targets so we don't need the regex
llvm-svn: 317021
|
|
|
|
| |
llvm-svn: 317020
|
|
|
|
|
|
|
|
|
| |
types.
This makes uses of Optional more transparent to the compiler (and
clang-tidy) and generates slightly smaller code.
llvm-svn: 317019
|
|
|
|
|
|
|
| |
PR33930.
Reviewers: aprantl
llvm-svn: 317018
|