| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
in the PHI's Basic Block. This uses a conservative approach, because we don't
have dominator info in instcombine.
llvm-svn: 84754
|
| |
|
|
|
|
|
|
| |
variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph
to detect what function frames and their automatic variables can be overlaid.
Currently this builds an archive , but needs to be changed to a loadable module.
llvm-svn: 84753
|
| |
|
|
| |
llvm-svn: 84751
|
| |
|
|
| |
llvm-svn: 84749
|
| |
|
|
| |
llvm-svn: 84744
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"In the existing code, if the load and the value to replace it with are
of different types *and* target data is available, it tries to use the
target data to coerce the replacement value to the type of the load.
Otherwise, it skips all effort to handle the type mismatch and just
feeds the wrongly-typed replacement value to replaceAllUsesWith, which
triggers an assertion.
The patch replaces it with an outer if checking for type mismatch, and
an inner if-else that checks whether target data is available and, if
not, returns false rather than trying to replace the load."
Patch by Kenneth Uildriks!
llvm-svn: 84739
|
| |
|
|
| |
llvm-svn: 84738
|
| |
|
|
|
|
| |
Thanks to Johnny Chen for discovering the problem.
llvm-svn: 84732
|
| |
|
|
| |
llvm-svn: 84731
|
| |
|
|
|
|
|
| |
a default value of zero. This is important for decoding the instructions.
Patch by Johnny Chen, with some changes from me, too.
llvm-svn: 84730
|
| |
|
|
| |
llvm-svn: 84727
|
| |
|
|
| |
llvm-svn: 84725
|
| |
|
|
|
|
| |
default and didn't work anyway.
llvm-svn: 84720
|
| |
|
|
| |
llvm-svn: 84713
|
| |
|
|
| |
llvm-svn: 84712
|
| |
|
|
| |
llvm-svn: 84711
|
| |
|
|
|
|
| |
weirdness of asmprinting.
llvm-svn: 84710
|
| |
|
|
| |
llvm-svn: 84709
|
| |
|
|
| |
llvm-svn: 84708
|
| |
|
|
| |
llvm-svn: 84707
|
| |
|
|
|
|
| |
constpool entries
llvm-svn: 84706
|
| |
|
|
| |
llvm-svn: 84704
|
| |
|
|
| |
llvm-svn: 84703
|
| |
|
|
| |
llvm-svn: 84702
|
| |
|
|
| |
llvm-svn: 84701
|
| |
|
|
| |
llvm-svn: 84700
|
| |
|
|
|
|
| |
anti-dependencies. Remove some dead code.
llvm-svn: 84691
|
| |
|
|
|
|
|
|
| |
s/validName/isValidName/g
s/with an Instruction/to an Instruction/g
s/RegisterMDKind/registerMDKind/g
llvm-svn: 84689
|
| |
|
|
| |
llvm-svn: 84687
|
| |
|
|
|
|
| |
transform.
llvm-svn: 84683
|
| |
|
|
| |
llvm-svn: 84682
|
| |
|
|
| |
llvm-svn: 84681
|
| |
|
|
|
|
|
|
| |
container of the blocks and do efficient lookups. This makes
isLoopSimplifyForm much faster on large loops, fixing a significant
compile-time issue in builds with assertions enabled.
llvm-svn: 84673
|
| |
|
|
| |
llvm-svn: 84669
|
| |
|
|
| |
llvm-svn: 84667
|
| |
|
|
| |
llvm-svn: 84664
|
| |
|
|
|
|
|
|
|
| |
the estimated code size and the number of blocks when deciding whether to
do a non-trivial unswitch. This protects it from some very undesirable
worst-case behavior on large numbers of loop-unswitchable conditions, such
as in the testcase in PR5259.
llvm-svn: 84661
|
| |
|
|
| |
llvm-svn: 84658
|
| |
|
|
| |
llvm-svn: 84657
|
| |
|
|
| |
llvm-svn: 84652
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
JITEmitter.
I'm gradually making Functions auto-remove themselves from the JIT when they're
destroyed. In this case, the Function needs to be removed from the JITEmitter,
but the map recording which Functions need to be removed lived behind the
JITMemoryManager interface, which made things difficult.
This patch replaces the deallocateMemForFunction(Function*) method with a pair
of methods deallocateFunctionBody(void *) and deallocateExceptionTable(void *)
corresponding to the two startFoo/endFoo pairs.
llvm-svn: 84651
|
| |
|
|
|
|
| |
of the register in the instruction which kills the scavenged value.
llvm-svn: 84641
|
| |
|
|
|
|
|
|
|
|
| |
encounters an OEQ or UNE comparison, and update its callers to check
for this return status and recover. This fixes a problem resulting from
the LowerOperation hooks being called from LegalizeVectorOps, because
LegalizeVectorOps only lowers vectors, so OEQ and UNE comparisons may
still be at large. This fixes PR5092.
llvm-svn: 84640
|
| |
|
|
|
|
|
| |
When an incoming value for a PHI is updated, we must also updated all other
incoming values for the same BB to match, otherwise we create invalid PHIs.
llvm-svn: 84638
|
| |
|
|
|
|
|
|
|
|
| |
when the invoke had multiple return values: it set the lattice value only on the
extractvalue.
This caused the invoke's lattice value to remain the default (undefined), and
later propagated to extractvalue's operand, which incorrectly introduces
undefined behavior.
llvm-svn: 84637
|
| |
|
|
| |
llvm-svn: 84632
|
| |
|
|
| |
llvm-svn: 84628
|
| |
|
|
| |
llvm-svn: 84614
|
| |
|
|
|
|
| |
present.
llvm-svn: 84613
|
| |
|
|
| |
llvm-svn: 84611
|