| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 210709
|
|
|
|
|
|
|
| |
Patch by Dave Estes<cestes@codeaurora.org>
Differential Revision: http://reviews.llvm.org/D4008
llvm-svn: 210705
|
|
|
|
|
|
|
|
|
| |
We weren't doing this before, so all instruction using the *Helper
classes were considered for any ALU slot.
This fixes a hang in the builtin-char-clz-1.0.generated.cl piglit test.
llvm-svn: 210703
|
|
|
|
| |
llvm-svn: 210702
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we would always print the offset as decimal, regardless of
the formatting requested. Now we use the formatImm() helper so the value
is printed as the client (LLDB in the motivating example) requested.
Before:
ldr.w r8, [sp, #180] @ always
After:
ldr.w r8, [sp, #0xb4] @ when printing hex immediates
ldr.w r8, [sp, #0180] @ when printing decimal immediates
rdar://17237103
llvm-svn: 210701
|
|
|
|
|
|
|
|
|
|
| |
This is the same problem fixed in r210664 for more types.
The test passes without this fix. For some reason
I'm only hitting this when creating selects lowered
to v2i32 selects.
llvm-svn: 210692
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idea of this patch is to turn llvm/Support/system_error.h into a
transitional header that just brings in the erorr_code api to the llvm
namespace. I will remove it shortly afterwards.
The cases where the general idea needed some tweaking:
* std::errc is a namespace in msvc, so we cannot use "using std::errc". I could
add an #ifdef, but there were not that many uses, so I just added std:: to
them in this patch.
* Template specialization had to be moved to the std namespace in this
patch set already.
* The msvc implementation of default_error_condition doesn't seem to
provide the same transformations as we need. Not too surprising since
the standard doesn't actually say what "equivalent" means. I fixed the
problem by keeping our old mapping and using it at error_code
construction time.
Despite these shortcomings I think this is still a good thing. Some reasons:
* The different implementations of system_error might improve over time.
* It removes 925 lines of code from llvm already.
* It removes 6313 bytes from the text segment of the clang binary when
it is built with gcc and 2816 bytes when building with clang and
libstdc++.
llvm-svn: 210687
|
|
|
|
| |
llvm-svn: 210684
|
|
|
|
| |
llvm-svn: 210683
|
|
|
|
| |
llvm-svn: 210680
|
|
|
|
| |
llvm-svn: 210679
|
|
|
|
| |
llvm-svn: 210678
|
|
|
|
| |
llvm-svn: 210677
|
|
|
|
| |
llvm-svn: 210676
|
|
|
|
| |
llvm-svn: 210675
|
|
|
|
|
|
|
| |
The manual lists them as *_RTN_U32, not *_U32_RTN, which is more
consistent with how every other sized instruction is named.
llvm-svn: 210674
|
|
|
|
|
|
|
| |
Use patterns that will also match the immediate offset to
match the normal read / writes.
llvm-svn: 210673
|
|
|
|
|
|
|
| |
This eliminates extra extract instructions when loading an i8 vector to
a float vector.
llvm-svn: 210666
|
|
|
|
|
|
|
|
|
|
|
| |
There seem to be only 2 places that produce these,
and it's kind of tricky to hit them.
Also fixes failure to bitcast between i64 and v2f32,
although this for some reason wasn't actually broken in the
simple bitcast testcase, but did in the scalar_to_vector one.
llvm-svn: 210664
|
|
|
|
|
|
|
| |
I don't know what "target specific node #383" is, and I don't want to
have to.
llvm-svn: 210663
|
|
|
|
|
|
| |
Thanks Duncan for noticing.
llvm-svn: 210662
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with Hazard Barrier).
Summary: These instructions are available in ISAs >= mips32/mips64. For mips32r6/mips64r6, jr.hb has a new encoding format.
Reviewers: dsanders
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D4019
llvm-svn: 210654
|
|
|
|
| |
llvm-svn: 210652
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch moves part of the logic implemented by the target specific
combine rules added at r210477 to a separate helper function.
This should make easier to add more rules for matching AVX/AVX2 horizontal
adds/subs.
This patch also fixes a problem caused by a wrong check performed on indices
of extract_vector_elt dag nodes in input to the scalar adds/subs.
New tests have been added to verify that we correctly check indices of
extract_vector_elt dag nodes when selecting a horizontal operation.
llvm-svn: 210644
|
|
|
|
|
|
|
|
| |
Pass initialization requires to initialize TargetMachine for back-end
specific passes. This commit creates a new macro INITIALIZE_TM_PASS to
simplify this kind of initialization.
llvm-svn: 210641
|
|
|
|
|
|
|
|
| |
This commit is to improve global merge pass and support global symbol merge.
The global symbol merge is not enabled by default. For aarch64, we need some
more back-end fix to make it really benifit ADRP CSE.
llvm-svn: 210640
|
|
|
|
| |
llvm-svn: 210639
|
|
|
|
|
|
| |
pointers. Simpliies all in tree call sites. No functional change.
llvm-svn: 210638
|
|
|
|
| |
llvm-svn: 210636
|
|
|
|
|
|
|
| |
Some c++ libraries (libstdc++ at least) don't seem to map to the generic
category in in the system_category's default_error_condition.
llvm-svn: 210635
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most Windows platforms use auxiliary data for unwinding. This information is
stored in the .pdata section. The encoding format for the data differs between
architectures and Windows variants. Windows MIPS and Alpha use identical
formats; Alpha64 is the same with different widths. Windows x86_64 and Itanium
share the representation. All Windows CE entries are identical irrespective of
the architecture. ARMv7 (Windows [NT] on ARM) has its own format.
This enumeration will become the differentiator once the windows EH emission
infrastructure is generalised, allowing us to emit the necessary unwinding
information for Windows on ARM.
llvm-svn: 210634
|
|
|
|
|
|
|
|
|
|
| |
MSVC doesn't seem to provide any is_error_code_enum enumeration for the
windows errors.
Fortunately very few places in llvm have to handle raw windows errors, so
we can just construct the corresponding error_code directly.
llvm-svn: 210631
|
|
|
|
| |
llvm-svn: 210630
|
|
|
|
| |
llvm-svn: 210628
|
|
|
|
|
|
|
| |
Extract these from some of my other patches, since this
is the only thing really making them dependent on each other.
llvm-svn: 210627
|
|
|
|
|
|
|
|
|
|
|
|
| |
DwarfException served as a base class for exception handling directive emission.
However, this is also used by other exception models (e.g. Win64EH). Rename
this class to EHStreamer and split it out of DwarfException.h. NFC.
Use the opportunity to fix up some of the documentation comments to match
current LLVM style. Also rename some functions to conform better with current
LLVM coding style.
llvm-svn: 210622
|
|
|
|
|
|
| |
it's already on the subtarget.
llvm-svn: 210619
|
|
|
|
|
|
| |
so that we can use initializer lists for the AArch64 Subtarget.
llvm-svn: 210616
|
|
|
|
|
|
| |
so that we can use initializer lists for the X86Subtarget.
llvm-svn: 210614
|
|
|
|
| |
llvm-svn: 210613
|
|
|
|
| |
llvm-svn: 210610
|
|
|
|
| |
llvm-svn: 210606
|
|
|
|
|
|
|
| |
This currently necessitates a TargetMachine for the TargetLowering
constructor and TLOF.
llvm-svn: 210605
|
|
|
|
|
|
| |
This reverts revision r210600.
llvm-svn: 210603
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch removes the functions llvm_start_multithreaded() and
llvm_stop_multithreaded(), and changes llvm_is_multithreaded()
to return a constant value based on the value of the compile-time
definition LLVM_ENABLE_THREADS.
Previously, it was possible to have compile-time support for
threads on, and runtime support for threads off, in which case
certain mutexes were not allocated or ever acquired. Now, if the
build is created with threads enabled, mutexes are always acquired.
A test before/after patch of compiling a very large TU showed no
noticeable performance impact of this change.
Reviewers: rnk
Differential Revision: http://reviews.llvm.org/D4076
llvm-svn: 210600
|
|
|
|
| |
llvm-svn: 210599
|
|
|
|
| |
llvm-svn: 210598
|
|
|
|
| |
llvm-svn: 210596
|
|
|
|
|
|
| |
using the subtarget.
llvm-svn: 210595
|
|
|
|
|
|
| |
This reduces the difference between std::error_code and llvm::error_code.
llvm-svn: 210591
|