| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
has multiple uses, as one of the other uses may be on a path
to a different node above the callseq_start, because that
leads to a cyclic graph. This problem is exposed when
-combiner-global-alias-analysis is used. This fixes PR4880.
llvm-svn: 81821
|
| |
|
|
| |
llvm-svn: 81819
|
| |
|
|
|
|
|
| |
versions of CALL and JMP with segmented addresses
provided in-line, as pairs of immediates.
llvm-svn: 81818
|
| |
|
|
|
|
|
|
| |
parses the .word directive as 4 bytes and ARMAsmParser::ParseInstruction will
give an error is called. Broke out the test of the .word directive into two
different test cases, one for x86 and one for arm.
llvm-svn: 81817
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Switch from an std::set to a SmallPtrSet for visited chain nodes.
2. Do not force the recursive flattening of token factor nodes, regardless of
use count.
3. Immediately process newly created TokenFactor nodes.
Also, improve combiner-aa by teaching it that loads to non-overlapping offsets
of relatively aligned objects cannot alias.
These changes result in a >5x speedup for combiner-aa on most testcases.
llvm-svn: 81816
|
| |
|
|
|
|
| |
it splits them.
llvm-svn: 81815
|
| |
|
|
|
|
| |
its result if the condition is false.
llvm-svn: 81814
|
| |
|
|
|
|
|
| |
DAG Combiner to disambiguate chains for loads and stores of types which are
broken up by the Legalizer into smaller pieces.
llvm-svn: 81813
|
| |
|
|
|
|
| |
memset region to the alignment of the new start address.
llvm-svn: 81810
|
| |
|
|
|
|
|
|
| |
to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this.
The gist of this is if source of some of the copies that feed into a phi join is defined by the phi join, we'd like to eliminate them. However, if any of the non-identity source overlaps the live interval of the phi join then the coalescer won't be able to coalesce them. The early coalescer's job is to eliminate the identity copies by partially-coalescing the two live intervals.
llvm-svn: 81796
|
| |
|
|
|
|
|
| |
created once, so shouldn't be stuck in the middle of the loop. Also early exit
if there are no uses of UnwindInst in the function.
llvm-svn: 81785
|
| |
|
|
| |
llvm-svn: 81773
|
| |
|
|
| |
llvm-svn: 81770
|
| |
|
|
| |
llvm-svn: 81757
|
| |
|
|
| |
llvm-svn: 81755
|
| |
|
|
|
|
|
|
|
|
|
| |
full AsmPrinter, and change TargetRegistry to keep track
of registered MCInstPrinters.
llvm-mc is still linking in the entire
target foo to get the code emitter stuff, but this is an
important step in the right direction.
llvm-svn: 81754
|
| |
|
|
| |
llvm-svn: 81750
|
| |
|
|
|
|
| |
been told that the type is no longer abstract.
llvm-svn: 81749
|
| |
|
|
|
|
| |
be a MCInstPrinter.
llvm-svn: 81746
|
| |
|
|
| |
llvm-svn: 81745
|
| |
|
|
| |
llvm-svn: 81744
|
| |
|
|
| |
llvm-svn: 81736
|
| |
|
|
|
|
|
| |
Also break the type verification stuff into its own TypeSet to keep the
Verifier pass from becoming an AbstractTypeUser.
llvm-svn: 81729
|
| |
|
|
| |
llvm-svn: 81727
|
| |
|
|
| |
llvm-svn: 81726
|
| |
|
|
| |
llvm-svn: 81723
|
| |
|
|
| |
llvm-svn: 81718
|
| |
|
|
|
|
|
|
| |
change as types are refined. Remove abstract types from CheckedTypes when they
we're informed that they have been refined. The only way types get refined in
the verifier is when later function passes start optimizing. Fixes PR4970.
llvm-svn: 81716
|
| |
|
|
| |
llvm-svn: 81714
|
| |
|
|
|
|
| |
the object, make it static instead of const.
llvm-svn: 81711
|
| |
|
|
|
|
|
| |
of getting it from TRI, inst printing now is codegen context
free!
llvm-svn: 81710
|
| |
|
|
|
|
| |
Nothing is using this info yet.
llvm-svn: 81707
|
| |
|
|
| |
llvm-svn: 81705
|
| |
|
|
|
|
|
| |
all the other targets. Add support for weak/linkonce linkage so it doesn't
crash on basically all nontrivial testcases.
llvm-svn: 81704
|
| |
|
|
|
|
|
|
| |
class into its own X86ATTInstPrinter class. The inst
printer now has just one dependence on the code generator
(TRI).
llvm-svn: 81703
|
| |
|
|
| |
llvm-svn: 81699
|
| |
|
|
|
|
| |
has real information about linker private linkage.
llvm-svn: 81695
|
| |
|
|
| |
llvm-svn: 81689
|
| |
|
|
|
|
|
| |
Change the picbase symbol on non-darwin systems from ".Lllvm$4.$piclabel" to
".L4$pb". The actual name doesn't matter and the darwin name is shorter.
llvm-svn: 81688
|
| |
|
|
| |
llvm-svn: 81685
|
| |
|
|
|
|
|
| |
now that printBasicBlockLabel is only used for starting
a MBB. This allows elimination of a bunch of arguments.
llvm-svn: 81684
|
| |
|
|
|
|
| |
and " in a symbol name).
llvm-svn: 81683
|
| |
|
|
|
|
| |
for systems that don't support quoting (PR4966).
llvm-svn: 81682
|
| |
|
|
|
|
| |
instead.
llvm-svn: 81677
|
| |
|
|
| |
llvm-svn: 81658
|
| |
|
|
|
|
| |
with subreg - superreg mapping and also fix PR4965.
llvm-svn: 81657
|
| |
|
|
|
|
| |
- Could we just always implement this as __clear_cache for __GNUC__?
llvm-svn: 81655
|
| |
|
|
|
|
|
|
| |
Move GetMBBSymbol up to AsmPrinter and make printBasicBlockLabel use it so that
we only have one place that decides what to name bb labels. Hopefully various
clients of printBasicBlockLabel can start using GetMBBSymbol instead.
llvm-svn: 81652
|
| |
|
|
| |
llvm-svn: 81636
|
| |
|
|
|
|
| |
constraint the register usage.
llvm-svn: 81635
|