| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was a fairly broken concept for an ELF only class.
An ELF file can have two symbol tables, but they have exactly the same
format. There is no concept of a dynamic or a static symbol. Storing this
on the iterator also makes us do more work per symbol than necessary. To fetch
a name we would:
* Find if we had a static or a dynamic symbol.
* Look at the corresponding symbol table and find the string table section.
* Look at the string table section to fetch its contents.
* Compute the name as a substring of the string table.
All but the last step can be done per symbol table instead of per symbol. This
is a step in that direction.
llvm-svn: 240939
|
| |
|
|
|
|
|
|
|
|
|
| |
Summary:
There were false positives in C++ code where macro argument was a type.
Reviewers: alexfh
Differential Revision: http://reviews.llvm.org/D10801
llvm-svn: 240938
|
| |
|
|
|
|
|
|
|
|
| |
Blend, abs, packs, adds, subs, avg, max, min, permute.
all the intrinsics are covered by tests
review:
http://reviews.llvm.org/D10799
llvm-svn: 240937
|
| |
|
|
|
|
| |
encoding, intrinsics and tests.
llvm-svn: 240936
|
| |
|
|
|
|
|
|
|
| |
Support for LLVM_INSTALL_TOOLCHAIN_ONLY is modeled on same functionality
from LLVM and Clang CMake files.
Patch by: Eugene Zelenko
llvm-svn: 240935
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
long aaaaaaaa = !aaaa( // break
aaaaaa);
long aaaaaaaa = !aa.aa( // break
aaaaaa);
After:
long aaaaaaaa = !aaaa( // break
aaaaaa);
long aaaaaaaa = !aa.aa( // break
aaaaaa);
llvm-svn: 240934
|
| |
|
|
|
|
| |
Patch by: Eugene Zelenko
llvm-svn: 240933
|
| |
|
|
|
|
|
|
| |
removing default label in switch as it results.
This is part of earlier commit http://reviews.llvm.org/D1064
Subscribers: llvm-commits
llvm-svn: 240932
|
| |
|
|
| |
llvm-svn: 240931
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some of the the permissible ARM -mfpu options, which are supported in GCC,
are currently not present in llvm/clang.This patch adds the options:
'neon-fp16', 'vfpv3-fp16', 'vfpv3-d16-fp16', 'vfpv3xd' and 'vfpv3xd-fp16.
These are related to half-precision floating-point and single precision.
Reviewers: rengolin, ranjeet.singh
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10645
llvm-svn: 240930
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some of the the permissible ARM -mfpu options, which are supported in GCC,
are currently not present in llvm/clang.This patch adds the options:
'neon-fp16', 'vfpv3-fp16', 'vfpv3-d16-fp16', 'vfpv3xd' and 'vfpv3xd-fp16.
These are related to half-precision floating-point and single precision.
Reviewers: rengolin, ranjeet.singh
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10764
llvm-svn: 240929
|
| |
|
|
|
|
|
|
| |
by Igor Breger
http://reviews.llvm.org/D10797
llvm-svn: 240928
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some old linux versions do not have process_vm_readv function defined. Even older versions do not
have even the __NR_process_vm_readv syscall number. We use cmake to detect these situations and
fallback appropriately: in the first case, we can issue the syscall manually, while it the latter
case, we need to drop fast memory read support completely.
Test Plan: linux test suite passes
Reviewers: ovyalov, Eugene.Zelenko
Subscribers: tberghammer, lldb-commits
Differential Revision: http://reviews.llvm.org/D10727
llvm-svn: 240927
|
| |
|
|
|
|
|
|
| |
Added tests for DAG lowering ,encoding and intrinsics
Differential Revision: http://reviews.llvm.org/D10796
llvm-svn: 240926
|
| |
|
|
| |
llvm-svn: 240924
|
| |
|
|
| |
llvm-svn: 240923
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous logic to find default entry name or subsystem does not
seem correct (i.e. was not compatible with MSVC linker). Previously,
default entry name was inferred from CRT functions and user-defined
entry functions. Subsystem was inferred from CRT functions.
Default entry name and subsystem are now inferred based on the
following table. Note that we no longer use CRT functions to infer
them.
Entry name Subsystem
main mainCRTStartup console
wmain wmainCRTStartup console
WinMain WinMainCRTStartup windows
wWinMain wWinMainCRTStartup windows
llvm-svn: 240922
|
| |
|
|
|
|
|
|
|
|
|
| |
We had two separate paths for member pointer conversion: one which
takes a constant and another which takes an arbitrary value. In the
latter case, we are permitted to construct arbitrary instructions.
It turns out that the bulk of the member pointer conversion is sharable
if we construct an artificial IRBuilder.
llvm-svn: 240921
|
| |
|
|
|
|
|
|
| |
-Asserts for now. Will fix later."
This has been fixed since r240912.
llvm-svn: 240920
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Usually dllexported symbols are defined with 'extern "C"',
so identifying them is easy. We can just do hash table lookup
to look up exported symbols.
However, C++ non-member functions are also allowed to be exported,
and they can be specified with unmangled name. So, if /export:foo
is given, we need to look up not only "foo" but also its all
mangled names. In MSVC mangling scheme, that means that we need to
look up any symbol which starts with "?foo@@Y".
In this patch, we scan the entire symbol table to search for
a mangled symbol. The symbol table is a DenseMap, and that doesn't
support table lookup by string prefix. This is of course very
inefficient. But that should be probably OK because the user
should always add 'extern "C"' to dllexported symbols.
llvm-svn: 240919
|
| |
|
|
|
|
| |
This test was flaky because stdout and stderr can be mixed.
llvm-svn: 240918
|
| |
|
|
| |
llvm-svn: 240917
|
| |
|
|
| |
llvm-svn: 240916
|
| |
|
|
|
|
|
| |
This option is sometimes used to create a resource-only DLL that
doesn't need any initialization.
llvm-svn: 240915
|
| |
|
|
| |
llvm-svn: 240914
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This option is to ignore remaining undefined symbols and force
the linker to create an output file anyways.
The existing code assumes that there's no undefined symbol after
reportRemainingUndefines(). That assumption is legitimate.
I also don't want to mess up the existing code for this minor feature.
In order to keep it as is, remaining undefined symbols are replaced
with dummy defined symbols.
llvm-svn: 240913
|
| |
|
|
|
|
| |
The extra ] causes %{{[0-9]]*}} to match only %<single digit> such as %1.
llvm-svn: 240912
|
| |
|
|
| |
llvm-svn: 240911
|
| |
|
|
| |
llvm-svn: 240910
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Depends on D10785.
Reviewers: djasper
Reviewed By: djasper
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D10786
llvm-svn: 240909
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Depends on D10784.
Reviewers: djasper
Reviewed By: djasper
Subscribers: dblaikie, klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D10785
llvm-svn: 240908
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: djasper
Reviewed By: djasper
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D10784
llvm-svn: 240907
|
| |
|
|
|
|
|
|
|
|
|
| |
Add vscalef support
include encoding and intrinsics
review:
http://reviews.llvm.org/D10730
llvm-svn: 240906
|
| |
|
|
|
|
|
| |
Added intrinsics.
Added encoding and tests.
llvm-svn: 240905
|
| |
|
|
|
|
| |
This fixes PR23963.
llvm-svn: 240902
|
| |
|
|
| |
llvm-svn: 240901
|
| |
|
|
|
|
|
| |
If LINK is defined and not empty, it's supposed to contain
command line options.
llvm-svn: 240900
|
| |
|
|
| |
llvm-svn: 240899
|
| |
|
|
| |
llvm-svn: 240898
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When comparing two COMDAT sections, we need to take section values
and associative sections into account. This patch fixes that bug.
It fixes a crash bug of llvm-tblgen when linked with /opt:lldicf.
One thing I don't understand yet is that this logic seems to be
too strict. MSVC linker is able to create more compact executables
(which of course work correctly). With this ICF algorithm, LLD is
able to make executable smaller, but the outputs are larger than
MSVC's. There must be something I'm missing here.
llvm-svn: 240897
|
| |
|
|
|
|
|
|
|
|
| |
Format @autoreleasepool properly for the Attach brace style
by recognizing @autoreleasepool as a block introducer.
Patch from Strager Neds!
http://reviews.llvm.org/D10372
llvm-svn: 240896
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: clayborg, vharron
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D10787
llvm-svn: 240895
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: vharron
Reviewed By: vharron
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D10778
llvm-svn: 240894
|
| |
|
|
|
|
| |
This reverts commit 240890. Breaking the gdb buildbot.
llvm-svn: 240893
|
| |
|
|
|
|
| |
Should fix running them on windows.
llvm-svn: 240892
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
simplify sdiv by a constant.
We had a hack in SDAGBuilder in place to work around this but now we
can avoid that. Call BuildExactSDIV from BuildSDIV so DAGCombiner can
perform this trick automatically.
The added check in DAGCombiner is necessary to prevent exact sdiv by pow2
from regressing as the target-specific pow2 lowering is not aware of
exact bits yet.
This is mostly covered by existing tests. One side effect is that we
get the better lowering for exact vector sdivs now too :)
llvm-svn: 240891
|
| |
|
|
|
|
|
|
|
|
| |
the DW_AT_bit_offset computation, the byte offset is in fact also
endian-dependent as it needs to point to the storage unit containing the
most-significant bit of the the bitfield.
I'm so looking forward to emitting the endian-agnostic DWARF 3 version
instead.
llvm-svn: 240890
|
| |
|
|
|
|
|
|
| |
PR: PR23931
Differential Revision: http://reviews.llvm.org/D10752
Reviewed by: rsmith
llvm-svn: 240889
|
| |
|
|
| |
llvm-svn: 240888
|
| |
|
|
| |
llvm-svn: 240887
|