| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 266687
|
| |
|
|
|
| |
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 266686
|
| |
|
|
|
| |
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 266685
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fast register-allocator cannot cope with inter-block dependencies without
spilling. This is fine for ldrex/strex loops coming from atomicrmw instructions
where any value produced within a block is dead by the end, but not for
cmpxchg. So we lower a cmpxchg at -O0 via a pseudo-inst that gets expanded
after regalloc.
Fortunately this is at -O0 so we don't have to care about performance. This
simplifies the various axes of expansion considerably: we assume a strong
seq_cst operation and ensure ordering via the always-present DMB instructions
rather than v8 acquire/release instructions.
Should fix the 32-bit part of PR25526.
llvm-svn: 266679
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The trip count calculation was incorrect for loops with large bounds. For example,
for(int i=-2,000,000,000; i < 2,000,000,000; i+=50000000), the trip count
calculation had overflow (trying to calculate 2,000,000,000 + 2,000,000,000 with
signed integers) and wasn't giving the right value. This patch fixes this error
in the runtime by using unsigned integers instead. There is still a bug in the
clang compiler component because it warns that there is overflow in the
test case file when there isn't. This error isn't there for the Intel Compiler.
So for now, the test case is designated as XFAIL.
Differential Revision: http://reviews.llvm.org/D19078
llvm-svn: 266677
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Test that asan detects access to the dead variable captured by lambda.
Reviewers: aizatsky, kcc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D19238
llvm-svn: 266676
|
| |
|
|
|
|
|
|
|
|
|
| |
Introduced a counter of parts of an untied task submitted for execution. The
counter controls whether all parts of the task are already finished. The
compiler should generate re-submission of partially executed untied task by
itself before exiting of each task part except for the lexical last part.
Differential Revision: http://reviews.llvm.org/D19026
llvm-svn: 266675
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some codes that use TLS fail intermittently because one thread tries to write
TLS values after the TLS key has been destroyed by another thread. This happens
when one thread executes library shutdown (and destroys TLS keys), while another
thread starts to execute the TLS key destructor routine. Before this change, the
kmp_init_runtime flag was checked before calling pthread_* TLS functions, but
this flag is set to FALSE later than the destruction of the TLS keys, which
leads to failure. The fix is to check kmp_init_gtid instead, as this flag is
unset *before* the destruction of TLS keys.
Differential Revision: http://reviews.llvm.org/D19022
llvm-svn: 266674
|
| |
|
|
|
|
| |
driver thinks they are unused
llvm-svn: 266673
|
| |
|
|
| |
llvm-svn: 266672
|
| |
|
|
|
|
|
|
| |
The builtins already exist in LLVM, but are not exposed to the C/C++
programmers. This patch adds all the information about the builtins
needed for clang, as well as a test for all available intrinsics.
llvm-svn: 266671
|
| |
|
|
| |
llvm-svn: 266670
|
| |
|
|
| |
llvm-svn: 266669
|
| |
|
|
|
|
|
|
| |
They are called sections-command in the doc, so it is nice to keep
it consistent with it.
https://sourceware.org/binutils/docs/ld/SECTIONS.html#SECTIONS
llvm-svn: 266668
|
| |
|
|
| |
llvm-svn: 266667
|
| |
|
|
| |
llvm-svn: 266666
|
| |
|
|
|
|
|
|
|
| |
copy-assignment operator.
MSVC is trying to synthesize these and failing. Hopefully explicitly deleting
them will help.
llvm-svn: 266665
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ensure lldbinline.test_file paths are tracked as .py
files rather than .pyc files.
Also, this change adds an assert to the test infrastructure
if a filename that is not ending in .py is attempted to be
added to the test events infrastructure where we track test
results.
See:
http://reviews.llvm.org/D19215
Earlier revision reviewed by:
Pavel Labath
llvm-svn: 266664
|
| |
|
|
|
|
|
|
|
|
| |
Fixes:
(1) Removes constexpr (unsupported in MSVC)
(2) Move constructors (remove explicitly defaulted ones)
(3) <future> - Add warning suppression for MSVC.
llvm-svn: 266663
|
| |
|
|
| |
llvm-svn: 266662
|
| |
|
|
|
|
| |
Retry r266541 without the range-based-for-loop-change that was wrong.
llvm-svn: 266658
|
| |
|
|
| |
llvm-svn: 266657
|
| |
|
|
|
|
|
| |
It's missing a dependency on Instrumentation (needed for
llvm::InstrProfiling::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&))
llvm-svn: 266656
|
| |
|
|
| |
llvm-svn: 266655
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Calls to @llvm.experimental.deoptimize are expected to "never execute",
so optimize them as such.
Reviewers: chandlerc
Subscribers: junbuml, mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D19095
llvm-svn: 266654
|
| |
|
|
|
|
|
| |
There was issue with order of destruction in some cases.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 266652
|
| |
|
|
| |
llvm-svn: 266649
|
| |
|
|
|
|
|
|
|
|
|
|
| |
return type.
Emit a warning instead of crashing in IR generation.
rdar://22762981
Differential Revision: http://reviews.llvm.org/D18567
llvm-svn: 266648
|
| |
|
|
| |
llvm-svn: 266647
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D19217
llvm-svn: 266646
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
constructor's definition is in an implementation block.
Without this commit, ptr doesn't get initialized to null in the
following code:
struct S {
S();
void *ptr = nullptr;
};
@implementation I
S::S() {}
@end
rdar://problem/25693624
llvm-svn: 266645
|
| |
|
|
| |
llvm-svn: 266644
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the C11 / C++11 *ABI* atomic ordering accessible from LLVM,
as discussed in http://reviews.llvm.org/D18200#inline-151433
This re-applies r266574 which I had reverted in r266575.
Depends on http://reviews.llvm.org/D18875
Original review: http://reviews.llvm.org/D18876
llvm-svn: 266641
|
| |
|
|
|
|
|
|
|
|
|
| |
This makes the C11 / C++11 *ABI* atomic ordering accessible from LLVM,
as discussed in http://reviews.llvm.org/D18200#inline-151433
This re-applies r266573 which I had reverted in r266576.
Original review: http://reviews.llvm.org/D18875
llvm-svn: 266640
|
| |
|
|
| |
llvm-svn: 266639
|
| |
|
|
| |
llvm-svn: 266638
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D18126
llvm-svn: 266637
|
| |
|
|
|
|
| |
Differential revision: http://reviews.llvm.org/D17117
llvm-svn: 266635
|
| |
|
|
| |
llvm-svn: 266634
|
| |
|
|
| |
llvm-svn: 266633
|
| |
|
|
|
|
| |
We should be trying to use vperm2f128 instead of zero+blend (if we're only the user of zero?) when optsize is enabled.
llvm-svn: 266632
|
| |
|
|
|
|
| |
This goes with r266477 which has been reverted.
llvm-svn: 266631
|
| |
|
|
|
|
| |
There's currently no raw_ostream &operator<<(SimpleValueType); provided by LLVM. It could be added by refactoring utils/TableGen/CodeGenTarget.cpp:getEnumName, but that's much more work than fixing the build.
llvm-svn: 266627
|
| |
|
|
|
|
|
|
|
|
|
| |
Also,
- Skip pass if machine module does not have debug info
- Minor comment changes
- Added test
Differential Revision: http://reviews.llvm.org/D19079
llvm-svn: 266626
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: predefines __ELF__ macro for arm-none-eabi
Reviewers: silviu.baranga, rengolin
Subscribers: aemerson, rengolin, cfe-commits
Differential Revision: http://reviews.llvm.org/D19225
llvm-svn: 266625
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The race boiled down to this:
If a test worker queue is able to run the test inferior and
clean up before the dosep.py listener socket is spun up, and
the worker queue is the last one (as would be the case when
there's only one test rerunning in the rerun queue), then
the test suite will exit the main loop before having a chance
to process any test events coming from the test inferior or
the worker queue job control.
I found this race to be far more likely on fast hardware.
Our Linux CI is one such example. While it will show
up primarily during meta test events generated by
a worker thread when a test inferior times out or
exits with an exceptional exit (e.g. seg fault), it only
requires that the OS takes longer to hook up the
listener socket than it takes for the final test inferior
and worker thread to shut down.
See:
http://reviews.llvm.org/D19214
reviewed by:
Pavel Labath
llvm-svn: 266624
|
| |
|
|
|
|
| |
missed one the first time round...
llvm-svn: 266623
|
| |
|
|
| |
llvm-svn: 266622
|
| |
|
|
| |
llvm-svn: 266621
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
macro expansion."
The root of the problem was that findMainViewFileID(File, Function)
could return some ID for any given file, even though that file
was not the main file for that function.
This patch ensures that the result of this function is conformed
with the result of findMainViewFileID(Function).
This commit reapplies r266436, which was reverted by r266458,
with the .covmapping file serialized in v1 format.
Differential Revision: http://reviews.llvm.org/D18787
llvm-svn: 266620
|