| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
hopefully make bots happy again.
llvm-svn: 251397
|
| |
|
|
| |
llvm-svn: 251396
|
| |
|
|
|
|
|
|
|
|
|
| |
We want to insert no-op casts as close as possible to the def. This is
tricky when the cast is of a PHI node and the BasicBlocks between the
def and the use cannot hold any instructions. Iteratively walk EH pads
until we hit a non-EH pad.
This fixes PR25326.
llvm-svn: 251393
|
| |
|
|
| |
llvm-svn: 251391
|
| |
|
|
|
|
|
|
|
|
| |
GNU tools require elfiamcu to take up the entire OS field, so, e.g.
i?86-*-linux-elfiamcu is not considered a legal triple.
Make us compatible.
Differential Revision: http://reviews.llvm.org/D14081
llvm-svn: 251390
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
only one of a group of possibilities.
This changes the syntax in the builtin files to represent:
, as the and operator
| as the or operator
The former syntax matches how the backend tablegen files represent
multiple subtarget features being required.
Updated the builtin and intrinsic headers accordingly for the new
syntax.
llvm-svn: 251388
|
| |
|
|
|
|
| |
of await_* calls, and AST representation for same.
llvm-svn: 251387
|
| |
|
|
|
|
| |
Differential revision: http://reviews.llvm.org/D14051
llvm-svn: 251386
|
| |
|
|
|
|
|
|
|
| |
Create undef reference to profile hook symbol when
PGO instrumentation is turned on. This allows
LLVM to omit emission of hook variable use method
for every single module instrumented.
llvm-svn: 251385
|
| |
|
|
|
|
|
|
|
|
|
|
| |
allow them to be written in certain kinds of user declaration and
diagnose on the use-site instead.
Also, improve and fix some diagnostics relating to __weak and
properties.
rdar://23228631
llvm-svn: 251384
|
| |
|
|
| |
llvm-svn: 251383
|
| |
|
|
|
|
|
|
|
|
| |
nullptr instead of the index.
This avoid mentioning the table name an extra time and allows the lookup to be done directly in the ifs by relying on the bool conversion of the pointer.
While there make use of ArrayRef and std::find_if.
llvm-svn: 251382
|
| |
|
|
|
|
|
|
|
|
|
| |
No functionality changed here, but the indentation is substantially
reduced and IMO the code is much easier to read. I've also added some
helpful comments.
This is just a clean-up I wrote while studying the code, and that has
been in my backlog for a while.
llvm-svn: 251381
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use `getUnsignedMax` directly instead of special casing a wrapped
ConstantRange.
The previous code would have been "buggy" (and this would have been a
semantic change) if LLVM allowed !range metadata to denote full
ranges. E.g. in
%val = load i1, i1* %ptr, !range !{i1 1, i1 1} ;; == full set
ValueTracking would conclude that the high bit (IOW the only bit) in
%val was zero.
Since !range metadata does not allow empty or full ranges, this change
is just a minor stylistic improvement.
llvm-svn: 251380
|
| |
|
|
| |
llvm-svn: 251379
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we have an operand to a bitwise logic op that's already in
an XMM register and the result is going to be sent to an XMM
register, then use an SSE logic op to avoid moves between the
integer and vector register files.
Related commits:
http://reviews.llvm.org/rL248395
http://reviews.llvm.org/rL248399
http://reviews.llvm.org/rL248404
http://reviews.llvm.org/rL248409
http://reviews.llvm.org/rL248415
This should solve PR22428:
https://llvm.org/bugs/show_bug.cgi?id=22428
llvm-svn: 251378
|
| |
|
|
|
|
| |
description argument
llvm-svn: 251377
|
| |
|
|
| |
llvm-svn: 251376
|
| |
|
|
| |
llvm-svn: 251375
|
| |
|
|
|
|
| |
source/Plugins/LanguageRuntime and Platform; other minor fixes.
llvm-svn: 251374
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When taking the remainder of a value divided by a constant, visitREM()
attempts to convert the REM to a longer but faster sequence of instructions.
This conversion calls combine() on a speculative DIV instruction. Commit
rL250825 may cause this combine() to return a DIVREM, corrupting nearby nodes.
Flow eventually hits unreachable().
This patch adds a test case and a check to prevent visitREM() from trying
to convert the REM instruction in cases where a DIVREM is possible.
See http://reviews.llvm.org/D14035
llvm-svn: 251373
|
| |
|
|
| |
llvm-svn: 251372
|
| |
|
|
| |
llvm-svn: 251371
|
| |
|
|
| |
llvm-svn: 251370
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously we maintained two separate switch statements that had to be kept in
sync. This patch merges them into a single switch.
Reviewers: vkalintiris
Subscribers: llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D14012
llvm-svn: 251369
|
| |
|
|
|
|
| |
On some combination of platform and c++ library, this dependency was causing the test to fail for reasons tangential to its real objective
llvm-svn: 251368
|
| |
|
|
| |
llvm-svn: 251367
|
| |
|
|
|
|
|
| |
instructions that aren't relevant for instruction selection of vector
min and max.
llvm-svn: 251366
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D14095
llvm-svn: 251365
|
| |
|
|
| |
llvm-svn: 251364
|
| |
|
|
|
|
|
|
|
| |
LLVMSymbolizer::Options is mostly used in LLVMSymbolizer class anyway.
Let's keep their usage restricted to that class, especially given that
it's worth to move ModuleInfo to a different header, independent from
the symbolizer class.
llvm-svn: 251363
|
| |
|
|
| |
llvm-svn: 251362
|
| |
|
|
|
|
|
| |
The test is sensitive to stack layout changes. Tweak it a bit to
expose the bug on aarch64 as well as on arm.
llvm-svn: 251361
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've switched to Gold earlier because of a minor misconfiguration
of the BFD linker in Android NDK. It turns out, Gold has much bigger
problems:
https://sourceware.org/bugzilla/show_bug.cgi?id=19163
(a bug is actually in the android runtime loader, but it means that
gold does not work with android L and even M).
Switching back to BFD and adding a workaround by explicitly linking
libm to all tests.
llvm-svn: 251360
|
| |
|
|
|
|
|
|
| |
Asanwrapper is required on older android versions to work around undesired
linker behavior. It is not required on L and newer, and does not fully
support multiarch devices.
llvm-svn: 251359
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This check flags all array to pointer decays.
Pointers should not be used as arrays. array_view is a bounds-checked,
safe alternative to using pointers to access arrays.
This rule is part of the "Bounds safety" profile of the C++ Core
Guidelines, see
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#-bounds3-no-array-to-pointer-decay
Reviewers: alexfh, sbenza, bkramer, aaron.ballman
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D13640
llvm-svn: 251358
|
| |
|
|
|
|
|
|
|
| |
This is a preliminary step before adding another optimization
to PerformBITCASTCombine().
..and I really hope it's NFC this time!
llvm-svn: 251357
|
| |
|
|
|
|
| |
--functions=short.
llvm-svn: 251356
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Adapt clang-tidy/add_new_check.py according to commit r251010 "Add %check_clang_tidy and %clang_tidy_diff"
Reviewers: alexfh, sbenza, bkramer, aaron.ballman
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D14049
llvm-svn: 251355
|
| |
|
|
|
|
|
|
| |
This reverts commit r251340.
Breaks the Windows build because Windows doesn't have getuid. The fix is not obvious.
llvm-svn: 251354
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
In particular, this CL speeds up the official Chrome linking with LTO by
1.8x.
See more details in https://crbug.com/542426
Reviewers: dblaikie
Subscribers: jevinskie
Differential Revision: http://reviews.llvm.org/D13918
llvm-svn: 251353
|
| |
|
|
|
|
|
| |
Both VLDRS and VLDRD fault if the memory is not 4 byte aligned, which wasn't
really being checked before, leading to faults at runtime.
llvm-svn: 251352
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This does not have any functionnal difference but I found myself
searching for 'struct RegisterInfo$' to find a definition and couldn't
find it. The version without typedef seems more common so let's try and
be consistent.
Reviewers: clayborg, zturner
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D14091
llvm-svn: 251351
|
| |
|
|
| |
llvm-svn: 251350
|
| |
|
|
|
|
|
| |
This is a preliminary step before adding another optimization
to PerformBITCASTCombine().
llvm-svn: 251349
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This idiom is used elsewhere in LLVM, but was overlooked here.
Reviewers: chandlerc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D13628
llvm-svn: 251348
|
| |
|
|
| |
llvm-svn: 251347
|
| |
|
|
|
|
| |
versions of libstdc++
llvm-svn: 251346
|
| |
|
|
|
|
|
| |
The check for the glibc version was not working as expected (dlsym
was finding the interceptor instead of the libc implementation).
llvm-svn: 251345
|
| |
|
|
| |
llvm-svn: 251344
|