| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 124870
|
| |
|
|
| |
llvm-svn: 124869
|
| |
|
|
|
|
|
| |
infrastructure. This makes lowering 256-bit vectors to 128-bit
vectors simple when 256-bit vector support is not available.
llvm-svn: 124868
|
| |
|
|
|
|
| |
filesystem.
llvm-svn: 124864
|
| |
|
|
| |
llvm-svn: 124857
|
| |
|
|
| |
llvm-svn: 124854
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
precisely track pressure on a selection DAG, but we can at least keep
it balanced. This design accounts for various interesting aspects of
selection DAGS: register and subregister copies, glued nodes, dead
nodes, unused registers, etc.
Added SUnit::NumRegDefsLeft and ScheduleDAGSDNodes::RegDefIter.
Note: I disabled PrescheduleNodesWithMultipleUses when register
pressure is enabled, based on no evidence other than I don't think it
makes sense to have both enabled.
llvm-svn: 124853
|
| |
|
|
|
|
| |
entries. DebugLoc associated with a DBG_VALUE is used to identify lexical scope of the variable. After register allocation, while inserting DBG_VALUE remember original debug location for the first instruction and reuse it, otherwise dwarf writer may be mislead in identifying the variable's scope.
llvm-svn: 124845
|
| |
|
|
| |
llvm-svn: 124843
|
| |
|
|
| |
llvm-svn: 124842
|
| |
|
|
|
|
|
|
| |
When the live range is live through a block that doesn't use the register, but
that has interference, region splitting wants to split at the top and bottom of
the basic block.
llvm-svn: 124839
|
| |
|
|
|
|
|
|
|
|
| |
Allow a live range to end with a kill flag, but don't allow a kill flag that
doesn't end the live range.
This makes the machine code verifier more useful during register allocation when
kill flag computation is deferred.
llvm-svn: 124838
|
| |
|
|
| |
llvm-svn: 124832
|
| |
|
|
| |
llvm-svn: 124831
|
| |
|
|
| |
llvm-svn: 124830
|
| |
|
|
| |
llvm-svn: 124829
|
| |
|
|
| |
llvm-svn: 124827
|
| |
|
|
|
|
|
|
| |
are not sorted into sub+icmp.
This transforms another 1000 switches in gcc.c.
llvm-svn: 124826
|
| |
|
|
|
|
| |
macros.
llvm-svn: 124824
|
| |
|
|
|
|
|
| |
them on install. Before we would have LLVMgold.so on the build directory but
libLLVMgold.so on the install dir.
llvm-svn: 124821
|
| |
|
|
| |
llvm-svn: 124819
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
library.
Installs tblgen (required by Clang).
Translates handling of user settings and platform-dependant options to
its own file, where it can included by another project.
Installs the .cmake files required by projects like Clang.
llvm-svn: 124816
|
| |
|
|
|
|
| |
blocks.
llvm-svn: 124815
|
| |
|
|
| |
llvm-svn: 124814
|
| |
|
|
| |
llvm-svn: 124813
|
| |
|
|
|
|
|
|
|
|
| |
If the found value is not live-through the block, we should only add liveness up
to the requested slot index. When the value is live-through, the whole block
should be colored.
Bug found by SSA verification in the machine code verifier.
llvm-svn: 124812
|
| |
|
|
|
|
|
| |
These end points come from the inserted copies, and can be passed directly to
useIntv. This simplifies the coloring code.
llvm-svn: 124799
|
| |
|
|
| |
llvm-svn: 124798
|
| |
|
|
|
|
|
|
|
|
| |
matching EXTRACT_SUBVECTOR to VEXTRACTF128 along with support routines
to examine and translate index values. VINSERTF128 comes next. With
these two in place we can begin supporting more AVX operations as
INSERT/EXTRACT can be used as a fallback when 256-bit support is not
available.
llvm-svn: 124797
|
| |
|
|
| |
llvm-svn: 124794
|
| |
|
|
| |
llvm-svn: 124793
|
| |
|
|
|
|
|
|
|
|
| |
auto-simplifier). This has a big impact on Ada code, but not much else.
Unfortunately the impact is mostly negative! This is due to PR9004 (aka
SCCP failing to resolve conditional branch conditions in the destination
blocks of the branch), in which simple correlated expressions are not
resolved but complicated ones are, so simplifying has a bad effect!
llvm-svn: 124788
|
| |
|
|
|
|
| |
the loop.
llvm-svn: 124784
|
| |
|
|
|
|
| |
too. Follow up to clang r124777.
llvm-svn: 124783
|
| |
|
|
| |
llvm-svn: 124779
|
| |
|
|
| |
llvm-svn: 124778
|
| |
|
|
|
|
| |
This is the cmake equivalent for r124769.
llvm-svn: 124775
|
| |
|
|
| |
llvm-svn: 124774
|
| |
|
|
|
|
|
|
| |
Reversing the operands allows us to fold, but doesn't force us to. Also, at
this point the DAG is still being optimized, so the check for hasOneUse is not
very precise.
llvm-svn: 124773
|
| |
|
|
| |
llvm-svn: 124771
|
| |
|
|
| |
llvm-svn: 124770
|
| |
|
|
| |
llvm-svn: 124769
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The greedy register allocator revealed some problems with the value mapping in
SplitKit. We would sometimes start mapping values before all defs were known,
and that could change a value from a simple 1-1 mapping to a multi-def mapping
that requires ssa update.
The new approach collects all defs and register assignments first without
filling in any live intervals. Only when finish() is called, do we compute
liveness and mapped values. At this time we know with certainty which values map
to multiple values in a split range.
This also has the advantage that we can compute live ranges based on the
remaining uses after rematerializing at split points.
The current implementation has many opportunities for compile time optimization.
llvm-svn: 124765
|
| |
|
|
| |
llvm-svn: 124761
|
| |
|
|
| |
llvm-svn: 124759
|
| |
|
|
| |
llvm-svn: 124755
|
| |
|
|
| |
llvm-svn: 124752
|
| |
|
|
|
|
|
|
| |
overflow (nsw flag), which was disabled because it breaks 254.gap. I have
informed the GAP authors of the mistake in their code, and arranged for the
testsuite to use -fwrapv when compiling this benchmark.
llvm-svn: 124746
|
| |
|
|
|
|
|
|
|
|
|
| |
The algorithm for identifying which operand is invalid will now always point to
some operand and not the mnemonic sometimes. The change is now that ErrorInfo
is the index of the highest operand that does not match for any of the matching
mnemonics records. And no longer the ~0U value when the mnemonic matches and
not every record with a matching mnemonic has the same mismatching operand
index.
llvm-svn: 124734
|
| |
|
|
| |
llvm-svn: 124725
|