| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
going back through the entire vector shuffle lowering.
This is an important step to being able to re-use this logic.
llvm-svn: 230743
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We identify the cases where the operand to an ADDE node is a constant
zero. In such cases, we can avoid generating an extra ADDu instruction
disguised as an identity move alias (ie. addu $r, $r, 0 --> move $r, $r).
Reviewers: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7906
llvm-svn: 230742
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
NSArray *array = @[ @"a", @"a", ];
After:
NSArray *array = @[
@"a",
@"a",
];
llvm-svn: 230741
|
| |
|
|
|
|
|
| |
The tests keeps failing on build bots:
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/2355/testReport/junit/Clang/CodeGen/exceptions_seh_leave_c/
llvm-svn: 230740
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: OS X doesn't implement pthread barriers, using a simple atomic flag instead.
Reviewers: ki.stfu
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D7933
llvm-svn: 230739
|
| |
|
|
|
|
| |
intrinsic headers.
llvm-svn: 230738
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
If no initial live symbols are set up, and deadStrip() == true,
the Resolver ends up reclaiming all the symbols that aren't absolute. This is wrong.
This patch fixes the issue by setting entrySymbolName() as live, and this allows
us to self-host lld when --gc-sections is enabled. There are still quite a few problems
with --gc-sections (test failures), so the option can't be enabled by default.
Differential Revision: D7926
Reviewed by: ruiu, shankarke
llvm-svn: 230737
|
| |
|
|
|
|
|
|
|
|
| |
For global reg lvalue - use regular store through global register.
For simple lvalue - use simple atomic store.
For bitfields, vector element, extended vector elements - the original value of the whole storage (for vector elements) or of some aligned value (for bitfields) is atomically read, the part of this value for the given lvalue is modified and then use atomic compare-and-exchange operation to try to atomically write modified value (if it was not modified).
Also, changes in this patch fix the bug for '#pragma omp atomic read' applied to extended vector elements.
Differential Revision: http://reviews.llvm.org/D7369
llvm-svn: 230736
|
| |
|
|
|
|
|
|
| |
It is observed that the function throws std::future_error on a few buildbots.
That cannot be easily reproducible on local machines. Kill the feature
temporarily to see if this is going to fix the buildbot issue.
llvm-svn: 230735
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r230732.
sectionSize() in lib/Core/SymbolTable.cpp still depends on the layout-
after edges, so we couldn't remove them yet.
llvm-svn: 230734
|
| |
|
|
|
|
| |
This remove(s) include of the filename twice.
llvm-svn: 230733
|
| |
|
|
|
|
|
|
| |
Previously we needed to create atoms as a doubly-linked link, but it's
no longer needed. Also we don't use layout-after edges in PE/COFF.
Creating such edges is just waste.
llvm-svn: 230732
|
| |
|
|
| |
llvm-svn: 230731
|
| |
|
|
| |
llvm-svn: 230730
|
| |
|
|
| |
llvm-svn: 230729
|
| |
|
|
| |
llvm-svn: 230728
|
| |
|
|
|
|
| |
happened to query them; only write them out if something new was added.
llvm-svn: 230727
|
| |
|
|
| |
llvm-svn: 230726
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nothing wrong with reinterpret_cast<llvm::support::ulittle32_t *>(loc),
but that's redundant and not great from readability point of view.
The new functions are wrappers for that kind of reinterpet_casts.
Surprisingly or unsurprisingly, there was no use of big endian read
and write. {read,write}{16,32,64}be have no user. But I think they
still worth to be there in the header for completeness.
http://reviews.llvm.org/D7927
llvm-svn: 230725
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Currently, the ASan executables built with -O0 are unnecessarily slow.
The main reason is that ASan instrumentation pass inserts redundant
checks around promotable allocas. These allocas do not get instrumented
under -O1 because they get converted to virtual registered by mem2reg.
With this patch, ASan instrumentation pass will only instrument non
promotable allocas, giving us a speedup of 39% on a collection of
benchmarks with -O0. (There is no measurable speedup at -O1.)
llvm-svn: 230724
|
| |
|
|
|
|
|
|
|
|
| |
executable
The ASanified executable could be launched from different locations. When we
cannot find the suppression file relative to the current directory, try to
see if the specified path is relative to the location of the executable.
llvm-svn: 230723
|
| |
|
|
| |
llvm-svn: 230722
|
| |
|
|
| |
llvm-svn: 230721
|
| |
|
|
| |
llvm-svn: 230720
|
| |
|
|
|
|
|
|
|
|
|
| |
that is iterating over it
Inserting elements into a `DenseMap` invalidated iterators pointing
into the `DenseMap` instance.
Differential Revision: http://reviews.llvm.org/D7924
llvm-svn: 230719
|
| |
|
|
|
|
|
|
| |
AnalysisResult::getResultImpl reuses an iterator into a DenseMap after
inserting elements into it. This change adds code to recompute the
iterator before the second use.
llvm-svn: 230718
|
| |
|
|
| |
llvm-svn: 230717
|
| |
|
|
|
|
|
| |
a map keyed off the canonical declaration. Don't try to set it if we're loading
some non-canonical merged declaration.
llvm-svn: 230716
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change causes us to actually save non-volatile registers in a Win64
ABI function that calls a System V ABI function, and vice-versa.
Reviewers: rnk
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7919
llvm-svn: 230714
|
| |
|
|
| |
llvm-svn: 230713
|
| |
|
|
|
|
|
| |
accumulate the set of specializations rather than overwriting one list
with another.
llvm-svn: 230712
|
| |
|
|
|
|
|
|
| |
operating system plug-ins where we would ask the operating system plug-in to update its threads and this would cause the plugin to run an expression which would eventually run IRForTarget::CreateResultVariable() which would try to get the selected thread and cause re-entrant bug.
<rdar://problem/19924734>
llvm-svn: 230711
|
| |
|
|
|
|
|
|
|
|
|
|
| |
uses of TM->getSubtargetImpl and propagate to all calls.
This could be a debugging regression in places where we had a
TargetMachine and/or MachineFunction but don't have it as part
of the MachineInstr. Fixing this would require passing a
MachineFunction/Function down through the print operator, but
none of the existing uses in tree seem to do this.
llvm-svn: 230710
|
| |
|
|
|
|
|
| |
Clang in 32-bit mode may choose to target different architecture
than host compiler.
llvm-svn: 230709
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The code for GetSyntheticArrayMemberFromPointer and
GetSyntheticArrayMemberFromArray was identical, so just collapse the
the methods into one.
Reviewers: granata.enrico, clayborg
Reviewed By: clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D7911
llvm-svn: 230708
|
| |
|
|
|
|
|
| |
A small regression in r230411 was that we were basing the decision on
-fdata-sections.
llvm-svn: 230707
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: zturner, ki.stfu
Reviewed By: zturner, ki.stfu
Subscribers: ki.stfu, lldb-commits
Differential Revision: http://reviews.llvm.org/D7912
llvm-svn: 230706
|
| |
|
|
| |
llvm-svn: 230705
|
| |
|
|
| |
llvm-svn: 230704
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Function pointers were not correctly handled by the dumper, and
they would print as "* name". They now print as
"int (__cdecl *name)(int arg1, int arg2)" as they should.
Also, doubles were being printed as floats. This fixes that bug
as well, and adds tests for all builtin types. as well as a test
for function pointers.
llvm-svn: 230703
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously we have a string -> string map to keep the weak alias
symbol mapping. Naturally we can't define more than one weak alias
with that data structure.
This patch is to allow multiple aliases for the same symbol by
changing the map type to string -> set of string map.
llvm-svn: 230702
|
| |
|
|
|
|
| |
(Saving files works, who knew?)
llvm-svn: 230701
|
| |
|
|
|
|
| |
forwarding to the one that didn't take a context.
llvm-svn: 230700
|
| |
|
|
|
|
|
|
|
| |
a lookup, pass that in rather than use a naked call to getSubtargetImpl.
This involved passing down and around either a TargetMachine or
TargetRegisterInfo. Update all callers/definitions around the targets
and SelectionDAG.
llvm-svn: 230699
|
| |
|
|
|
|
|
| |
need this shortly to get a TargetRegisterInfo from the subtarget
for TargetLowering routines.
llvm-svn: 230698
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The __finally emission block tries to be clever by removing unused continuation
edges if there's an unconditional jump out of the __finally block. With
exception edges, the EH continuation edge isn't always unused though and we'd
crash in a few places.
Just don't be clever. That makes the IR for __finally blocks a bit longer in
some cases (hence small and behavior-preserving changes to existing tests), but
it makes no difference in general and it fixes the last crash from PR22553.
http://reviews.llvm.org/D7918
llvm-svn: 230697
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
blend as legal.
We made the same mistake in two different places. Whenever we are custom
lowering a v32i8 blend we need to check whether we are custom lowering
it only for constant conditions that can be shuffled, or whether we
actually have AVX2 and full dynamic blending support on bytes. Both are
fixed, with comments added to make it clear what is going on and a new
test case.
llvm-svn: 230695
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
http://llvm.org/bugs/show_bug.cgi?id=20400
The default triple of i686-pc-linux-gnu for 32 bit linux targets is compatible
but not necessarily identical to the inferior binaries.
Applying Azat Khuzhin's solution of using ArchSpec::IsCompatibleMatch() instead
of ArchSpec::IsExactMatch() when comparing ObjectFile and Modules architecture.
Reviewers: vharron
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D7897
llvm-svn: 230694
|
| |
|
|
|
|
|
| |
Move SectionMap to its only user (emitDebugARanges) and
reorder to save a call to sort.
llvm-svn: 230693
|
| |
|
|
|
|
| |
Reverts commit r230686 with define modifications.
llvm-svn: 230692
|