| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This patch removes the comments grouping header includes. They were
added after running IWYU over the LLDB codebase. However they add little
value, are often outdates and burdensome to maintain.
llvm-svn: 346626
|
| |
|
|
|
|
|
|
|
|
| |
This patch removes the comments following the header includes. They were
added after running IWYU over the LLDB codebase. However they add little
value, are often outdates and burdensome to maintain.
Differential revision: https://reviews.llvm.org/D54385
llvm-svn: 346625
|
| |
|
|
|
|
| |
Use helpers from Support/WithError.h to print errors.
llvm-svn: 346624
|
| |
|
|
|
|
| |
Use helpers from Support/WithError.h to print errors.
llvm-svn: 346623
|
| |
|
|
|
|
| |
Use helpers from Support/WithError.h to print errors.
llvm-svn: 346622
|
| |
|
|
|
|
|
|
|
| |
The GCStrategy provides three configuration options were are largely redundant.
1) Support for conditionally lowering gcread and gcwrite to loads and stores. This is redundant since any GC which wished to use these abstractions would lower them out of existance before the built in lowering anyways. As such, there's no need to have the lowering being conditional.
2) Conditional initialization for allocas marked via gcroot. Semantically, roots have to be initialized before first potential use. Arguably, the frontend really should have responsibility for that, but the old API allowed the frontend to ignore this detail. Only one builtin GC used the non-initializing mode. Since no one to my knowledge actually uses the ErlangGC strategy, I decide the slight pessimization was worth the simplicity. If that turns out to be problematic, we can always improve the insertion algorithm to detect more existing initializing stores.
llvm-svn: 346621
|
| |
|
|
| |
llvm-svn: 346620
|
| |
|
|
| |
llvm-svn: 346619
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: kuhar, chandlerc, NutshellySima, brzycki
Reviewed By: NutshellySima, brzycki
Differential Revision: https://reviews.llvm.org/D54317
llvm-svn: 346618
|
| |
|
|
| |
llvm-svn: 346617
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The debug_info_offset value may be relocated.
This is lld side change of D54375.
Reviewers: ruiu, dblaikie, grimar, espindola
Subscribers: emaste, arichardson, JDevlieghere, llvm-commits
Differential Revision: https://reviews.llvm.org/D54376
llvm-svn: 346616
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: The debug_info_offset values in .debug_{,gnu_}pub{name,types} may be relocated. Change it to DWARFSection so that we can get relocated values.
Reviewers: ruiu, dblaikie, grimar, JDevlieghere
Reviewed By: JDevlieghere
Subscribers: aprantl, JDevlieghere, llvm-commits
Differential Revision: https://reviews.llvm.org/D54375
llvm-svn: 346615
|
| |
|
|
| |
llvm-svn: 346614
|
| |
|
|
| |
llvm-svn: 346613
|
| |
|
|
|
|
| |
Followup fix for LLD test for new format in rL346610.
llvm-svn: 346612
|
| |
|
|
|
|
|
|
|
| |
Update tests using llvm-objdump since check strings don't
match anymore due to the extra `O` in place. This is a
followup for rL346610.
llvm-svn: 346611
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Improve compatibility with GNU objdump by showing `O` next to
global symbol names, instead of a blank space.
Patch by Higuoxing (Xing).
Reviewers: MaskRay
Differential Revision: https://reviews.llvm.org/D54380
llvm-svn: 346610
|
| |
|
|
| |
llvm-svn: 346609
|
| |
|
|
| |
llvm-svn: 346608
|
| |
|
|
| |
llvm-svn: 346607
|
| |
|
|
|
|
|
|
| |
As discussed in https://reviews.llvm.org/D52104
Differential Revision: https://reviews.llvm.org/D52143
llvm-svn: 346606
|
| |
|
|
| |
llvm-svn: 346605
|
| |
|
|
|
|
|
|
| |
In a lot of places an empty string was passed as the ErrorBanner to
logAllUnhandledErrors. This patch makes that argument optional to
simplify the call sites.
llvm-svn: 346604
|
| |
|
|
|
|
| |
getConstant will create a BUILD_VECTOR for us and use a legal type if necessary. So just create the simple node and let BUILD_VECTOR legalization do the canonicalization.
llvm-svn: 346603
|
| |
|
|
|
|
|
| |
This patch makes llvm-cxxdump use the error reporting helpers from
Support/WithColor.h
llvm-svn: 346602
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix places where the return type of a FunctionDecl was being used in
place of the function type
FunctionDecl::Create() takes as its T parameter the type of function
that should be created, not the return type. Passing in the return type
looks to have been copypasta'd around a bit, but the number of correct
usages outweighs the incorrect ones so I've opted for keeping what T is
the same and fixing up the call sites instead.
This fixes a crash in Clang when attempting to compile the following
snippet of code with -fblocks -fsanitize=function -x objective-c++ (my
original repro case):
void g(void(^)());
void f()
{
__block int a = 0;
g(^(){ a++; });
}
as well as the following which only requires -fsanitize=function -x c++:
void f(char * buf)
{
__builtin_os_log_format(buf, "");
}
Patch by: Ben (bobsayshilol)
Differential revision: https://reviews.llvm.org/D53263
llvm-svn: 346601
|
| |
|
|
|
|
|
|
| |
SDNode*. NFC
Removes the need to call getNode internally and to recreate an SDValue after the call.
llvm-svn: 346600
|
| |
|
|
| |
llvm-svn: 346599
|
| |
|
|
|
|
|
|
|
|
| |
This moves construction of data buffers into the FileSystem class. Like
some of the previous refactorings we don't translate the path yet
because the functionality hasn't been landed in LLVM yet.
Differential revision: https://reviews.llvm.org/D54272
llvm-svn: 346598
|
| |
|
|
|
|
| |
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewer: Aaron Watry
llvm-svn: 346597
|
| |
|
|
| |
llvm-svn: 346596
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a long-awaited follow-up suggested in D33578. Since then, we've picked up even more
opportunities for vector narrowing from changes like D53784, so there are a lot of test diffs.
Apart from 2-3 strange cases, these are all wins.
I've structured this to be no-functional-change-intended for any target except for x86
because I couldn't tell if AArch64, ARM, and AMDGPU would improve or not. All of those
targets have existing regression tests (4, 4, 10 files respectively) that would be
affected. Also, Hexagon overrides the shouldReduceLoadWidth() hook, but doesn't show
any regression test diffs. The trade-off is deciding if an extra vector load is better
than a single wide load + extract_subvector.
For x86, this is almost always better (on paper at least) because we often can fold
loads into subsequent ops and not increase the official instruction count. There's also
some unknown -- but potentially large -- benefit from using narrower vector ops if wide
ops are implemented with multiple uops and/or frequency throttling is avoided.
Differential Revision: https://reviews.llvm.org/D54073
llvm-svn: 346595
|
| |
|
|
| |
llvm-svn: 346594
|
| |
|
|
|
|
| |
environ global failed on LTO linkage step.
llvm-svn: 346593
|
| |
|
|
| |
llvm-svn: 346592
|
| |
|
|
| |
llvm-svn: 346591
|
| |
|
|
|
|
|
|
| |
No lit tests fail with this code removed.
This is a pre-commit for D54346.
llvm-svn: 346590
|
| |
|
|
|
|
| |
types (PR39615)
llvm-svn: 346589
|
| |
|
|
| |
llvm-svn: 346588
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
There are two AGU units, and per 1cy, there can be either two loads,
or a load and a store; but not two stores, or two loads and a store.
Additionally, loads shouldn't affect the store scheduler and vice versa.
(but *should* affect the PdEX scheduler.)
Required rL346545.
Fixes https://bugs.llvm.org/show_bug.cgi?id=39465
llvm-svn: 346587
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python 3.6 introduced a file system path protocol (PEP 519[1]).
The standard library APIs accepting file system paths now accept path
objects too. It could be useful to add this here as well
for convenience.
[1] https://www.python.org/dev/peps/pep-0519
Authored by: jstasiak (Jakub Stasiak)
Differential Revision: https://reviews.llvm.org/D54120
llvm-svn: 346586
|
| |
|
|
|
|
|
| |
Missed this one by accident when adding
the initial version in rL345463 / rL345462
llvm-svn: 346585
|
| |
|
|
|
|
|
|
|
| |
This patch allows internalising globals if all accesses to them
(from live functions) are from non-volatile load instructions
Differential revision: https://reviews.llvm.org/D49362
llvm-svn: 346584
|
| |
|
|
| |
llvm-svn: 346583
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D54373
llvm-svn: 346582
|
| |
|
|
|
|
|
|
| |
any_extend of the remainder from an 8-bit sdivrem.
The sdivrem will emit its own MOVSX to move %ah to the low byte of a register. By using a MOVSX for an any_extend this allows a post-isel peephole to merge them.
llvm-svn: 346581
|
| |
|
|
|
|
|
|
| |
unnecessary instructions. NFC
After the division %ah is being sign extended to move it to lower byte of a register while avoiding a partial register read. We then zero extend the low byte to the full 32 bit register. But we don't use any of the zero extended bits. In the DAG the zero extend was really an any_extend so the sign extend should have been enough.
llvm-svn: 346580
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The NetBSD specific implementation of cxa_atexit() does not
preserve the 2nd argument if dso is equal to NULL.
Changes:
- Split paths of handling intercepted __cxa_atexit() and atexit(3).
This affects all supported Operating Systems.
- Add a local stack-like structure to hold the __cxa_atexit() context.
atexit(3) is documented in the C standard as calling callback from the
earliest to the oldest entry. This path also fixes potential ABI
problem of passing an argument to a function from the atexit(3)
callback mechanism.
- Allow usage of global vars with ctors in interceptors.
This allows to use Vector without automatic cleaning up the structures.
This code has been modeled after TSan implementation for the same functions.
Sponsored by <The NetBSD Foundation>
Reviewers: joerg, dvyukov, eugenis, vitalybuka, kcc
Reviewed By: vitalybuka
Subscribers: delcypher, devnexen, llvm-commits, #sanitizers
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D40714
llvm-svn: 346579
|
| |
|
|
|
|
|
| |
Instead of calling the same function twice with different parameters,
make the parameters depend on the condition.
llvm-svn: 346578
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: rnk, thakis
Reviewed By: krytarowski
Differential Revision: https://reviews.llvm.org/D54363
llvm-svn: 346577
|