| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
There's more variation that we need to handle. Error checking will need
to be on operand predicates.
llvm-svn: 146884
|
| |
|
|
| |
llvm-svn: 146882
|
| |
|
|
|
|
|
| |
Add the new TableGen register class synthesizer feature to the release
notes.
llvm-svn: 146875
|
| |
|
|
|
|
|
|
|
|
|
| |
Now that getMatchingSuperRegClass() returns accurate results, it can be
used to compute constraints imposed by instructions using a sub-register
of a virtual register.
This means we can recompute the register class of any virtual register
by combining the constraints from all its uses.
llvm-svn: 146874
|
| |
|
|
|
|
|
|
|
| |
Use information computed while inferring new register classes to emit
accurate, table-driven implementations of getMatchingSuperRegClass().
Delete the old manual, error-prone implementations in the targets.
llvm-svn: 146873
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Teach TableGen to create the missing register classes needed for
getMatchingSuperRegClass() to return maximal results. The function is
still not auto-generated, so it still returns inexact results.
This produces these new register classes:
ARM:
QQPR_with_dsub_0_in_DPR_8
QQQQPR_with_dsub_0_in_DPR_8
X86:
GR64_with_sub_32bit_in_GR32_NOAX
GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSP
GR64_with_sub_16bit_in_GR16_NOREX
GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX
GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX
GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSP
GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAX
GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX
GR64_with_sub_32bit_in_GR32_TC
GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAX
GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TC
GR64_with_sub_32bit_in_GR32_AD
GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAX
The other targets in the tree are not weird enough to be affected.
llvm-svn: 146872
|
| |
|
|
| |
llvm-svn: 146864
|
| |
|
|
| |
llvm-svn: 146863
|
| |
|
|
|
|
| |
- Remove trailing spaces.
llvm-svn: 146854
|
| |
|
|
| |
llvm-svn: 146852
|
| |
|
|
|
|
| |
attribute themselve.
llvm-svn: 146851
|
| |
|
|
|
|
|
|
| |
function.
Some compilers were complaining about passing StringRef to it.
llvm-svn: 146850
|
| |
|
|
|
|
|
|
|
|
|
| |
And fix the double-[]. It was including the [] as part of
the project name somehow, resulting in PACKAGE_TARNAME "-llvm-"
and a strange docdir default:
./configure --help | grep docdir
--docdir=DIR documentation root [DATAROOTDIR/doc/-llvm-]
llvm-svn: 146849
|
| |
|
|
| |
llvm-svn: 146846
|
| |
|
|
|
|
|
|
|
|
|
| |
internal nightly testers. Original commit message:
By popular demand, link up types by name if they are isomorphic and one is an
autorenamed version of the other. This makes the IR easier to read, because
we don't end up with random renamed versions of the types after LTO'ing a large
app.
llvm-svn: 146838
|
| |
|
|
|
|
| |
Hope I did this correctly :)
llvm-svn: 146834
|
| |
|
|
| |
llvm-svn: 146833
|
| |
|
|
| |
llvm-svn: 146831
|
| |
|
|
|
|
|
|
|
| |
make VariadicFunction actually be trivial. Do so, and also make it look
more like your standard trivial functor by making it a struct with no
access specifiers. The unit test is updated to initialize its functors
properly.
llvm-svn: 146827
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
depending on previous branch on same comparison operands.
For example,
if (a == b) {
if (a > b) // this is false
Fixes some of the issues on <rdar://problem/10554090>
llvm-svn: 146822
|
| |
|
|
| |
llvm-svn: 146821
|
| |
|
|
| |
llvm-svn: 146805
|
| |
|
|
|
|
| |
This will be used by SimplifyCfg in a later commit.
llvm-svn: 146803
|
| |
|
|
|
|
| |
asm parsing and testcase.
llvm-svn: 146801
|
| |
|
|
| |
llvm-svn: 146800
|
| |
|
|
|
|
| |
I don't think this affects anything but verbose assembly.
llvm-svn: 146787
|
| |
|
|
|
|
|
|
| |
"half precision" floating-point with a first-class type.
This patch adds basic IR support (but not codegen support).
llvm-svn: 146786
|
| |
|
|
|
|
|
|
|
| |
pointer or a reference type - we actually just want the size of the
pointer then for that.
Fixes rdar://10335756
llvm-svn: 146785
|
| |
|
|
| |
llvm-svn: 146784
|
| |
|
|
| |
llvm-svn: 146783
|
| |
|
|
| |
llvm-svn: 146782
|
| |
|
|
| |
llvm-svn: 146781
|
| |
|
|
| |
llvm-svn: 146780
|
| |
|
|
|
|
|
|
|
| |
The bad sorting caused a misaligned basic block when building 176.vpr in
ARM mode.
<rdar://problem/10594653>
llvm-svn: 146767
|
| |
|
|
|
|
|
|
| |
Hexatridecimal was added in r139695.
And fix the unittest that now triggers the assert.
llvm-svn: 146754
|
| |
|
|
|
|
|
|
|
|
|
| |
This adjustment is already included in the block offsets computed by
BasicBlockInfo, and adjusting again here can cause the pass to loop.
When CreateNewWater splits a basic block, OffsetIsInRange would reject
the new CPE on the next pass because of the too conservative alignment
adjustment. This caused the block to be split again, and so on.
llvm-svn: 146751
|
| |
|
|
|
|
| |
Reenable the tests.
llvm-svn: 146750
|
| |
|
|
| |
llvm-svn: 146744
|
| |
|
|
| |
llvm-svn: 146743
|
| |
|
|
|
|
|
|
| |
The command line option should be removed, but not until the feature has
gotten a lot of testing. The ARMConstantIslandPass tends to have subtle
bugs that only show up after a while.
llvm-svn: 146739
|
| |
|
|
|
|
| |
regressions.
llvm-svn: 146735
|
| |
|
|
|
|
| |
bit of style, sorry.
llvm-svn: 146733
|
| |
|
|
|
|
|
| |
I have no idea why GCC can't cope with the implicit conversion and Clang
can, or whose bug it is. Grr.
llvm-svn: 146732
|
| |
|
|
|
|
|
|
|
|
|
|
| |
variadic-like functions in C++98. See the comments in the header file
for a more detailed description of how these work. We plan to use these
extensively in the AST matching library. This code and idea were
originally authored by Zhanyong Wan. I've condensed it using macros
to reduce repeatition and adjusted it to fit better with LLVM's ADT.
Thanks to both David Blaikie and Doug Gregor for the review!
llvm-svn: 146729
|
| |
|
|
|
|
|
| |
autorenamed version of the other. This makes the IR easier to read, because
we don't end up with random renamed versions of the types after LTO'ing a large app.
llvm-svn: 146728
|
| |
|
|
|
|
| |
supported. Fix 'unpackh v, v' for 256-bit types to understand 128-bit lanes.
llvm-svn: 146726
|
| |
|
|
| |
llvm-svn: 146725
|
| |
|
|
| |
llvm-svn: 146724
|
| |
|
|
|
|
| |
No need for an explicit test case for an unsupported combination of options.
llvm-svn: 146721
|
| |
|
|
| |
llvm-svn: 146718
|