| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
This makes the test case in r280273 actually useful!
llvm-svn: 280276
|
|
|
|
| |
llvm-svn: 280275
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This fixes some OpenCV tests that were broken by libclc commit r276443.
Reviewers: arsenm, jvesely
Subscribers: arsenm, wdng, llvm-commits
Differential Revision: https://reviews.llvm.org/D24051
llvm-svn: 280274
|
|
|
|
|
|
|
|
|
| |
fallback.
Thanks to this patch, we know have a way to easly see if GlobalISel
failed.
llvm-svn: 280273
|
|
|
|
|
|
| |
This pass is now able to report when the function is being reset.
llvm-svn: 280272
|
|
|
|
|
|
| |
This will be used to warm when we fallback in GlobalISel.
llvm-svn: 280271
|
|
|
|
| |
llvm-svn: 280270
|
|
|
|
| |
llvm-svn: 280269
|
|
|
|
| |
llvm-svn: 280268
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commands
that use the Mach::linkedit_data_command type for the load commands that are
currently used in the MachOObjectFile constructor.
This contains the missing checks for LC_DATA_IN_CODE and
LC_LINKER_OPTIMIZATION_HINT load commands and the fields for the
Mach::linkedit_data_command type. Checking for other load commands that
use this type will be added later.
Also fixed a couple of places that was using sizeof(MachOObjectFile::LoadCommandInfo)
that should have been using sizeof(MachO::load_command).
llvm-svn: 280267
|
|
|
|
|
|
| |
VeryCompactSizeClassMap for testing purposes
llvm-svn: 280266
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: sanjoy
Subscribers: mcrosier, llvm-commits
Differential Revision: https://reviews.llvm.org/D23935
llvm-svn: 280265
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The vdso is full of hand-written assembly which the instruction emulator has a hard time
understanding. Luckily, the kernel already provides us with correct unwind info for them. So
let's use it.
This fixes (at least) the AssertingInferiorTestCase.test_inferior_asserting_disassemble test on
android N i386.
Reviewers: tberghammer
Subscribers: tberghammer, danalbert, lldb-commits
Differential Revision: https://reviews.llvm.org/D24079
llvm-svn: 280264
|
|
|
|
|
|
|
| |
Passing the types/opcode check still doesn't guarantee we'll actually vectorize.
Therefore, just make it clear we're attempting to vectorize.
llvm-svn: 280263
|
|
|
|
|
|
| |
Based on discussion on llvm-dev.
llvm-svn: 280262
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- copies the new file in the cmake build
- adds an additional import statement
- marks the test as no-debug-info specific, as it seems to be testing a python feature
Reviewers: granata.enrico
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D24074
llvm-svn: 280261
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D24090
llvm-svn: 280260
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
UBSan complains like the following:
tools/lld/COFF/Writer.cpp:97:15: runtime error: null pointer passed as argument 2, which is declared to never be null
The reason is that the vector could be empty.
Reviewers: rsmith
Subscribers: Eugene.Zelenko, kcc
Differential Revision: https://reviews.llvm.org/D24050
llvm-svn: 280259
|
|
|
|
|
|
|
|
| |
This is in preparation for adding an option
to run a custom pipeline with the new PM. It's
currently used in lld.
llvm-svn: 280258
|
|
|
|
| |
llvm-svn: 280257
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adjust the test to reflect the changes to common handling in r279911.
This test wasn't running due to an incorrect REQUIRES and thus missed
being modified for r279911 before. It was changed to XFAIL when the
bad REQUIRES was discovered.
Remove the XFAIL and move to a new X86 subdirectory that will properly
disable on non-X86.
llvm-svn: 280256
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The shape is really just the number of methods in the vftable, since we
don't support 16 bit far calls. All calls are near. Encode this number
in the size of the artificial __vtbl_ptr_type DIDerivedType that we
generate. For DWARF, this will be a normal pointer, but for codeview
this will be a wide pointer that gets pattern matched into a
VFTableShape record. Insert this type into the element list of all
dynamic classes when emitting CodeView, so that the backend can emit the
shape even if the vptr lives in a primary base class.
Fixes PR28150
llvm-svn: 280255
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The shape of the vtable is passed down as the size of the
__vtbl_ptr_type. This special pointer type appears both as the pointee
type of the vptr type, and by itself in every dynamic class. For classes
with multiple vtables, only the shape of the primary vftable is
included, as the shape of all secondary vftables will be the same as in
the base class.
Fixes PR28150
llvm-svn: 280254
|
|
|
|
|
|
|
| |
There were a few corner cases that weren't tested for dealing with
extraction of an odd number of nibbles. Add tests for those here.
llvm-svn: 280253
|
|
|
|
|
|
|
|
|
| |
Symbol assignments outside of SECTIONS command need to be created
even when SECTIONS command is not used.
Differential Revision: https://reviews.llvm.org/D23751
llvm-svn: 280252
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes -Wundef by replacing:
#if !LIBCXXABI_USE_LLVM_UNWINDER
with:
#if !defined(LIBCXXABI_USE_LLVM_UNWINDER)
llvm-svn: 280251
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
deopt bundles
This is a first step towards supporting deopt value lowering and reporting entirely with the register allocator. I hope to build on this in the near future to support live-on-return semantics, but I have a use case which allows me to test and investigate code quality with just the live-in semantics so I've chosen to start there. For those curious, my use cases is our implementation of the "__llvm_deoptimize" function we bind to @llvm.deoptimize. I'm choosing not to hard code that fact in the patch and instead make it configurable via function attributes.
The basic approach here is modelled on what is done for the "Live In" values on stackmaps and patchpoints. (A secondary goal here is to remove one of the last barriers to merging the pseudo instructions.) We start by adding the operands directly to the STATEPOINT SDNode. Once we've lowered to MI, we extend the remat logic used by the register allocator to fold virtual register uses into StackMap::Indirect entries as needed. This does rely on the fact that the register allocator rematerializes. If it didn't along some code path, we could end up with more vregs than physical registers and fail to allocate.
Today, we *only* fold in the register allocator. This can create some weird effects when combined with arguments passed on the stack because we don't fold them appropriately. I have an idea how to fix that, but it needs this patch in place to work on that effectively. (There's some weird interaction with the scheduler as well, more investigation needed.)
My near term plan is to land this patch off-by-default, experiment in my local tree to identify any correctness issues and then start fixing codegen problems one by one as I find them. Once I have the live-in lowering fully working (both correctness and code quality), I'm hoping to move on to the live-on-return semantics. Note: I don't have any *known* miscompiles with this patch enabled, but I'm pretty sure I'll find at least a couple. Thus, the "experimental" tag and the fact it's off by default.
Differential Revision: https://reviews.llvm.org/D24000
llvm-svn: 280250
|
|
|
|
|
|
|
|
|
|
| |
64-bits of xmm result
Associate x86_sse2_cvtpd2ps with X86ISD::VFPROUND to avoid inserting unnecessary zeroing shuffles.
Differential Revision: https://reviews.llvm.org/D23797
llvm-svn: 280249
|
|
|
|
| |
llvm-svn: 280248
|
|
|
|
|
|
| |
(http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/12517/steps/docs-llvm-html/logs/stdio)
llvm-svn: 280247
|
|
|
|
|
|
|
|
|
|
| |
types. This is the LLVM counterpart and it adds options that map onto FP
exceptions and denormal build attributes allowing better fp math library
selections.
Differential Revision: https://reviews.llvm.org/D24070
llvm-svn: 280246
|
|
|
|
|
|
|
|
|
| |
The WebKit style page says to use nullptr, so this should be fine:
https://webkit.org/code-style-guidelines/
This fixes: llvm.org/PR30220
llvm-svn: 280245
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D24039
llvm-svn: 280244
|
|
|
|
| |
llvm-svn: 280243
|
|
|
|
|
|
|
|
|
|
|
| |
Before this lld was always creating common symbols itself. It worked,
but prevented them from being internalized when possible.
Now it preserves common symbols is the bitcode and they are internalized.
Fixes pr30184.
llvm-svn: 280242
|
|
|
|
|
|
|
| |
Patch by yo (Chiang, Yi-Yo) <yo@skymizer.com>.
Differential Revision: https://reviews.llvm.org/D23982
llvm-svn: 280241
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang-format.py previously only worked in vim compiled against python2.
This patch adds the necessary syntax changes to make this work with vim
linked against python3, which is now shipped by default for at least Ubuntu16 and Arch.
Differential Revision: https://reviews.llvm.org/D23319
Subscribers: cfe-commits
llvm-svn: 280240
|
|
|
|
|
|
|
|
| |
more cases"
This reverts commit r280218. This *also* causes buildbot errors. Sigh. Not a successful day all around!
llvm-svn: 280239
|
|
|
|
|
|
| |
(http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/12516/steps/docs-llvm-html/logs/stdio)
llvm-svn: 280238
|
|
|
|
| |
llvm-svn: 280237
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: alexfh, Eugene.Zelenko, aaron.ballman
Subscribers: aaron.ballman, cfe-commits
Differential Revision: https://reviews.llvm.org/D23918
llvm-svn: 280236
|
|
|
|
| |
llvm-svn: 280235
|
|
|
|
|
|
| |
This reverts commit r280216 - it caused buildbot failures.
llvm-svn: 280234
|
|
|
|
|
|
| |
This reverts commit r280217. r280216 caused buildbot failures - backing out the entire chain.
llvm-svn: 280233
|
|
|
|
|
|
| |
This reverts commit r280219. r280216 caused buildbot failures - backing out the entire chain.
llvm-svn: 280232
|
|
|
|
|
|
| |
This reverts commit r280228. r280216 caused buildbot failures - backing out the entire sequence.
llvm-svn: 280231
|
|
|
|
|
|
| |
Use functionality from StackMapOpers instead of hardcoding an operand access.
llvm-svn: 280230
|
|
|
|
| |
llvm-svn: 280229
|
|
|
|
|
|
| |
We check that a sinking candidate is used by only one PHI node during our legality checks. However for instructions that are used by other sinking candidates our heuristic is less conservative. This can result in a candidate actually being illegal when we come to sink it because of how we sunk a predecessor. Do the used-by-only-one-PHI checks again during sinking to ensure we don't crash.
llvm-svn: 280228
|
|
|
|
|
|
|
|
|
| |
-ffast-math to CC1, but it included a wrong llvm regression tests which was
removed in r280065. Although regression test noexceptionsfpmath.c makes sure
-fno-trapping-math ends up as a function attribute, this adds a test that
explicitly checks the driver output for -fno-trapping-math.
llvm-svn: 280227
|