| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
we can just use the size of the DenseMap as a unique counter.
llvm-svn: 282674
|
|
|
|
|
|
| |
line or the other commented out place.
llvm-svn: 282673
|
|
|
|
| |
llvm-svn: 282672
|
|
|
|
|
|
|
| |
The add instruction should be generated with shift bit (lsl #12).
Update the test case.
llvm-svn: 282671
|
|
|
|
| |
llvm-svn: 282670
|
|
|
|
|
|
| |
Should not be a functional but an aesthetic change.
llvm-svn: 282669
|
|
|
|
| |
llvm-svn: 282668
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes to allow spilling all registers at the end of the block
work with exec modifications. Don't emit s_and_saveexec_b64 for
if lowering, and instead emit copies. Mark control flow mask
instructions as terminators to get correct spill code placement
with fast regalloc, and then have a separate optimization pass
form the saveexec.
This should work if SGPRs are spilled to VGPRs, but
will likely fail in the case that an SGPR spills to memory
and no workitem takes a divergent branch.
llvm-svn: 282667
|
|
|
|
| |
llvm-svn: 282666
|
|
|
|
| |
llvm-svn: 282665
|
|
|
|
| |
llvm-svn: 282664
|
|
|
|
| |
llvm-svn: 282663
|
|
|
|
| |
llvm-svn: 282662
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: AArch64 LLVM assembler emits add instruction without shift bit to calculate the higher 12-bit address of TLS variables in local exec model. This generates wrong code sequence to access TLS variables with thread offset larger than 0x1000.
Reviewers: t.p.northover, peter.smith, rovka
Subscribers: salim.nasser, aemerson, llvm-commits, rengolin
Differential Revision: https://reviews.llvm.org/D24702
llvm-svn: 282661
|
|
|
|
| |
llvm-svn: 282660
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a linux bot test failure. That one is fixed; hopefully there won't
be any others turned up this time.
The eh_frame augmentation code wasn't working right after the
reorg/rewrite of the classes. It works correctly now for the one
test that was failing - but we'll see what the test bots come up
with.
<rdar://problem/28509178>
llvm-svn: 282659
|
|
|
|
| |
llvm-svn: 282658
|
|
|
|
|
|
| |
<rdar://problem/28502241>
llvm-svn: 282657
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D24492
llvm-svn: 282656
|
|
|
|
|
|
| |
Thanks to Peter for the suggestion.
llvm-svn: 282655
|
|
|
|
| |
llvm-svn: 282654
|
|
|
|
| |
llvm-svn: 282653
|
|
|
|
|
|
| |
corresponding SD-6 macro.
llvm-svn: 282652
|
|
|
|
|
|
|
|
| |
C++1z.
Patch by James Touton! Some bugfixes and rebasing by me.
llvm-svn: 282651
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The patch fixes regression caused by two earlier patches D18777 and D18867.
Reviewers: reames, sanjoy
Differential Revision: http://reviews.llvm.org/D24280
From: Li Huang
llvm-svn: 282650
|
|
|
|
|
|
|
|
|
| |
load command that uses the Mach::rpath_command type
but not used in llvm libObject code but used in llvm tool code.
This includes just the LC_RPATH load command.
llvm-svn: 282649
|
|
|
|
|
|
|
|
| |
std::map::iterator, rendering LLDB unable to display elements vended by an iterator
Fixes <rdar://problem/28237521>
llvm-svn: 282648
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: tra
Subscribers: cfe-commits, jhen
Differential Revision: https://reviews.llvm.org/D25050
llvm-svn: 282647
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: tra
Subscribers: cfe-commits, jhen
Differential Revision: https://reviews.llvm.org/D25036
llvm-svn: 282646
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: rnk, rsmith
Subscribers: mehdi_amini, cfe-commits
Differential Revision: https://reviews.llvm.org/D25045
llvm-svn: 282645
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace a stale reference to cxx_EXPORTS with _LIBCPP_BUILDING_LIBRARY,
and clarify why the operator new and delete family of functions are
marked dllexport when building but *not* dllimport when including the
header externally.
The new code is identical to the intent of the old code (and would be
functionally equivalent were cxx_EXPORTS still defined when building
libc++). The overall behavior is not ideal, since Microsoft's operator
new and delete functions will get called instead of libc++'s, but I
think consistently calling msvcrt's functions is better than either
calling msvcrt's or libc++'s functions depending on header inclusion.
Differential Revision: https://reviews.llvm.org/D25042
llvm-svn: 282644
|
|
|
|
|
|
|
|
|
|
|
| |
This is a step toward statically allocate InstructionMapping. Like the
previous few commits, the goal is to move toward a TableGen'ed like
structure with no dynamic allocation at all.
This should already improve compile time by getting rid of a bunch of
memmove of SmallVectors.
llvm-svn: 282643
|
|
|
|
|
|
|
| |
This is a preparatory commit for more TableGen-like structure.
NFC
llvm-svn: 282642
|
|
|
|
|
|
|
|
|
| |
as a template argument in a template-id, from a null non-type template
argument, failed.
Extracted from a patch by James Touton!
llvm-svn: 282641
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch applies the _LIBCPP_SAFE_STATIC attribute to internal globals,
most of which are locking primitives, in order to ensure that they can
safely be used during program startup.
This patch also fixes an unsafe static init issue with the global locks
used to implement atomic operations on shared pointers. Previously the
locks were initialized using a dynamically initialized pointer, so it was
possible that the pointer was uninitialized.
llvm-svn: 282640
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Answering any meaningful questions about .sancov files requires
accessing symbol information from the corresponding binary.
This change introduces a separate intermediate data structure and
format: symbolized coverage. It contains all symbol information that
is required to answer common queries:
- merging
- coverd/uncovered files and functions
- line status.
Also removing the html report functionality from sancov: generated
HTML files are too huge, and a different approach is required.
Maintaining this half-working approach in the C++ is painful.
Differential Revision: https://reviews.llvm.org/D24947
llvm-svn: 282639
|
|
|
|
|
|
|
|
| |
LiveDebugVariables doesn't propagate DBG_VALUEs accross basic block
boundaries any more; this functionality was split into LiveDebugValues.
We can thus drop the now dead references to LexicalScopes from LiveDebugVariables.
llvm-svn: 282638
|
|
|
|
|
|
|
|
|
|
| |
Coverage reports for gigabyte-sized binaries are huge. There's no
practical reason to generate them statically.
Implementing an experiment http coverage report server. The server
loads .symcov file and serves interactive coverage pages.
llvm-svn: 282637
|
|
|
|
|
|
|
|
|
|
| |
other load commands that use the Mach::version_min_command type
but not used in llvm libObject code but used in llvm tool code.
This includes LC_VERSION_MIN_MACOSX, LC_VERSION_MIN_IPHONEOS,
LC_VERSION_MIN_TVOS and LC_VERSION_MIN_WATCHOS load commands.
llvm-svn: 282635
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ::stat struct on Linux, FreeBSD, and OS X provides the access and
modification times as an instance of 'timespec', which has a nanosecond
resolution. The 'st_mtime' and 'st_atime' members simply reference the 'tv_sec'
value of the timespec struct. This patch changes 'last_write_time(...)' so that
it extracts both the seconds and nanoseconds values of the last modification
time, providing a more accurate implementation of 'last_write_time(...)'.
Additionally this patch fixes a possible signed integer overflow bug. The
'file_time_type' type cannot represent all possible values returned by
the filesystem. Attempting to construct a 'file_time_type' from one of these
values is undefined behavior. This patch avoids that UB by detecting possible
overflows before the conversion.
llvm-svn: 282634
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D25044
llvm-svn: 282633
|
|
|
|
|
|
| |
<rdar://problem/28476369>
llvm-svn: 282632
|
|
|
|
|
|
|
| |
tables for fully-implemented language modes by default. Also add some missing
elements to TS support table.
llvm-svn: 282631
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to handle Module update.
Summary: This refactors the change in r282616
Reviewers: davidxl, eraman, mehdi_amini
Subscribers: mehdi_amini, davide, llvm-commits
Differential Revision: https://reviews.llvm.org/D25041
llvm-svn: 282630
|
|
|
|
|
|
|
| |
not reflect the final chosen names, but supporting them now seems to have
little downside.
llvm-svn: 282629
|
|
|
|
|
|
|
|
| |
This change replaces the self.assertTrue() calls with
self.assertEquals() so that test failures get more context on failure
values.
llvm-svn: 282628
|
|
|
|
|
|
| |
macros).
llvm-svn: 282627
|
|
|
|
|
|
|
|
|
|
| |
Normally, if conversion would add implicit uses for redefined registers,
e.g. R0<def> = add_if ..., R0<imp-use>. However, if only subregisters of
R0 are known to be live but not R0 itself, such implicit uses will not be
added, causing prior definitions of such subregisters and R0 itself to
become dead.
llvm-svn: 282626
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with in-class initializers
Summary:
This fixes https://llvm.org/bugs/show_bug.cgi?id=30487 where
```
warning: uninitialized record type: 's' [cppcoreguidelines-pro-type-member-init]
```
is emitted on
```
struct MyStruct
{
int a = 5;
int b = 7;
};
int main()
{
MyStruct s;
}
```
Reviewers: alexfh, aaron.ballman
Subscribers: nemanjai, cfe-commits
Differential Revision: https://reviews.llvm.org/D24848
llvm-svn: 282625
|
|
|
|
|
|
|
|
| |
instructions
Differential Revision: https://reviews.llvm.org/D24125
llvm-svn: 282624
|