| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 173628
|
| |
|
|
|
|
| |
Also add some asserts.
llvm-svn: 173627
|
| |
|
|
| |
llvm-svn: 173625
|
| |
|
|
|
|
|
| |
These instructions are not targeted by the compiler but they are
needed for the MC layer.
llvm-svn: 173624
|
| |
|
|
|
|
|
| |
These instructions are not targeted by the compiler but they are
needed for the MC layer.
llvm-svn: 173623
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When flipping the pair of subvectors that form a vector, if the
vector length is 2, we can use the SK_Reverse shuffle kind to get
more-accurate cost information. Also we can use the SK_ExtractSubvector
shuffle kind to get accurate subvector extraction costs.
The current cost model implementations don't yet seem complex enough
for this to make a difference (thus, there are no test cases with this
commit), but it should help in future.
Depending on how the various targets optimize and combine shuffles in
practice, we might be able to get more-accurate costs by combining the
costs of multiple shuffle kinds. For example, the cost of flipping the
subvector pairs could be modeled as two extractions and two subvector
insertions. These changes, however, should probably be motivated
by specific test cases.
llvm-svn: 173621
|
| |
|
|
|
|
| |
code makes.
llvm-svn: 173620
|
| |
|
|
|
|
| |
attributes being passed in.
llvm-svn: 173618
|
| |
|
|
| |
llvm-svn: 173617
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for unittests.
For example,
cur) unittests/ADT/Release/ADTTests
new) unittests/ADT/ADTTests
RUNTIME_BUILD_MODE can be substituted to CMAKE_CFG_INTDIR.
With Make and Ninja, the tree is not built with multiple configurations.
Then, including the build type in target directory doesn't make sense.
See also "How can I build multiple modes without switching?"
http://www.cmake.org/Wiki/CMake_FAQ
CMAKE_CFG_INTDIR is set to "."
With multiple-configuration-aware build system, like Visual Studio, each unittest is built on appropriate directory, for example,
unittests/ADT/Release/ADTTests.exe
CMAKE_CFG_INTDIR is set to build system's variable, like "$(Configuration)" or "$(OutDir)".
Thus, "--param build_config" is also deprecated.
llvm-svn: 173616
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
right shift amount type.
Fix that by adding a cast to the shift expander. This came up with vector shifts
on sse-less X86 CPUs.
<2 x i64> = shl <2 x i64> <2 x i64>
-> i64,i64 = shl i64 i64; shl i64 i64
-> i32,i32,i32,i32 = shl_parts i32 i32 i64; shl_parts i32 i32 i64
Now we cast the last two i64s to the right type. Fixes the crash in PR14668.
llvm-svn: 173615
|
| |
|
|
| |
llvm-svn: 173613
|
| |
|
|
| |
llvm-svn: 173612
|
| |
|
|
| |
llvm-svn: 173611
|
| |
|
|
|
|
| |
out bug fixes, or functionality preserving refactorings.
llvm-svn: 173610
|
| |
|
|
|
|
|
|
|
| |
This name change does the following:
1. Causes the function name to use proper ARC terminology.
2. Makes it clear what the function truly does.
llvm-svn: 173609
|
| |
|
|
| |
llvm-svn: 173608
|
| |
|
|
|
|
|
| |
This method will go away once AttributeWithIndex goes away. In the meantime,
hide it from general use.
llvm-svn: 173607
|
| |
|
|
|
|
|
| |
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173606
|
| |
|
|
|
|
|
| |
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173603
|
| |
|
|
|
|
|
| |
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173602
|
| |
|
|
|
|
|
| |
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173601
|
| |
|
|
|
|
|
| |
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173600
|
| |
|
|
|
|
| |
Further removal of the introspective AttributeWithIndex thing. Also fix the #includes.
llvm-svn: 173599
|
| |
|
|
| |
llvm-svn: 173598
|
| |
|
|
|
|
|
|
|
|
| |
This adds support for LLVM to accept metadata that doesn't include a top level
lexical block in a function. Specifically LLVM couldn't handle this when there
were file changes relating to these blocks. I've updated a few test cases to
ensure other functionality (such as inlining) isn't affected by this change, but
haven't pervasively updated all the test cases.
llvm-svn: 173592
|
| |
|
|
| |
llvm-svn: 173591
|
| |
|
|
| |
llvm-svn: 173580
|
| |
|
|
| |
llvm-svn: 173579
|
| |
|
|
| |
llvm-svn: 173572
|
| |
|
|
|
|
| |
Patch by David Waggoner
llvm-svn: 173571
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This catches many cases where we can emit a more efficient shuffle for a
specific mask or when the mask contains undefs. Once the splat is lowered to
unpacks we can't do that anymore.
There is a possibility of moving the promotion after pshufb matching, but I'm
not sure if pshufb with a mask loaded from memory is faster than 3 shuffles, so
I avoided that for now.
llvm-svn: 173569
|
| |
|
|
| |
llvm-svn: 173568
|
| |
|
|
|
|
| |
It fixes llvm-dwarfdump for mips and mipsel.
llvm-svn: 173567
|
| |
|
|
|
|
| |
It fixes llvm-dwarfdump for ppc64-elf.
llvm-svn: 173566
|
| |
|
|
| |
llvm-svn: 173565
|
| |
|
|
| |
llvm-svn: 173563
|
| |
|
|
| |
llvm-svn: 173552
|
| |
|
|
|
|
| |
function allows a caller to obtain a table of line information for a function using the function's address and size.
llvm-svn: 173537
|
| |
|
|
|
|
| |
AttributeWithIndex.
llvm-svn: 173536
|
| |
|
|
|
|
| |
clang datatypes. Patch thanks to Nico Rieck!
llvm-svn: 173532
|
| |
|
|
| |
llvm-svn: 173528
|
| |
|
|
| |
llvm-svn: 173526
|
| |
|
|
| |
llvm-svn: 173524
|
| |
|
|
|
|
|
|
| |
The 'getSlot' function and its ilk allow introspection into the AttributeSet
class. However, that class should be opaque. Allow access through accessor
methods instead.
llvm-svn: 173522
|
| |
|
|
|
|
|
|
|
|
| |
This provides a place to add customized operation cost information and
control some other target-specific IR-level transformations.
The only non-trivial logic in this checkin assigns a higher cost to
unaligned loads and stores (covered by the included test case).
llvm-svn: 173520
|
| |
|
|
| |
llvm-svn: 173518
|
| |
|
|
|
|
| |
and, in the case of ELF files, using symbol addresses when available for relocations to the .debug_info section. Also extending the llvm-rtdyld tool to add the ability to dump line number information for testing purposes.
llvm-svn: 173517
|
| |
|
|
| |
llvm-svn: 173513
|
| |
|
|
|
|
|
|
| |
The test runner does not rewrite instances of /dev/null inside the
quoted sh command. /dev/null does not exist, so opt will fail to open
it, and return a non-zero exit code.
llvm-svn: 173509
|