- Mar 04, 2010
-
-
Jeffrey Yasskin authored
positive where pointers would be leaked on llvm_shutdown. llvm-svn: 97759
-
Jim Grosbach authored
as nounwind are marked with a -1 call-site value. This is necessary to, for example, correctly process exceptions thrown from within an "unexpected" execption handler (see SingleSource/Regression/C++/EH/expection_spec_test.cpp). llvm-svn: 97757
-
Bob Wilson authored
frame pointer. llvm-svn: 97755
-
Evan Cheng authored
llvm-svn: 97752
-
Evan Cheng authored
llvm-svn: 97747
-
Bob Wilson authored
an undef value. This is only going to come up for bugpoint-reduced tests -- correct programs will not access memory at undefined addresses -- so it's not worth the effort of doing anything more aggressive. llvm-svn: 97745
-
Erick Tryzelaar authored
We need this so can not bake DESTDIR into the O'Caml symlinks. llvm-svn: 97743
-
Jakob Stoklund Olesen authored
These instructions technically define AL,AH, but a trick in X86ISelDAGToDAG reads AX in order to avoid reading AH with a REX instruction. Fix PR6489. llvm-svn: 97742
-
Dan Gohman authored
clobber registers in a different order. llvm-svn: 97741
-
Chris Lattner authored
llvm-svn: 97740
-
Chris Lattner authored
register if it isn't possible to match the indexes *and* the base. This fixes some fast isel rejects of load instructions on oggenc. llvm-svn: 97739
-
Chris Lattner authored
llvm-svn: 97738
-
Jeffrey Yasskin authored
just count references to it from JIT output to decide when to destroy it. This patch waits to destroy the JIT's memory of a stub until the Function it refers to is destroyed. External function stubs and GVIndirectSyms aren't destroyed until the JIT itself is. llvm-svn: 97737
-
Dan Gohman authored
llvm-svn: 97735
-
Johnny Chen authored
Instruction (PLI) for disassembly only. According to A8.6.120 PLI (immediate, literal), for example, different instructions are generated for "pli [pc, #0]" and "pli [pc, #-0"]. The disassembler solves it by mapping -0 (negative zero) to -1, -1 to -2, ..., etc. llvm-svn: 97731
-
Nick Lewycky authored
transformation much more careful. Truncating binary '01' to '1' sounds like it's safe until you realize that it switched from positive to negative under a signed interpretation, and that depends on the icmp predicate. Also a few miscellaneous cleanups. llvm-svn: 97721
-
Jeffrey Yasskin authored
the set. llvm-svn: 97720
-
Evan Cheng authored
llvm-svn: 97713
-
Chris Lattner authored
llvm-svn: 97709
-
Evan Cheng authored
Look ahead a bit to determine if a physical register def that is not marked dead is really alive. This is necessary to catch a lot of common cse opportunities for targets like x86. llvm-svn: 97706
-
Chris Lattner authored
as the very last thing before node emission. This should dramatically reduce the number of times we do 'MatchAddress' on X86, speeding up compile time. This also improves comments in the tables and shrinks the table a bit, now down to 80506 bytes for x86. llvm-svn: 97703
-
Jeffrey Yasskin authored
destroyed, it could leave stubs in the StubToResolverMap, which would confuse the lookup for subsequent lazy compilations. llvm-svn: 97698
-
Dan Gohman authored
a patch my Micah Villmow for PR6465. llvm-svn: 97692
-
John McCall authored
llvm-svn: 97691
-
Chris Lattner authored
llvm-svn: 97690
-
Evan Cheng authored
Fix a logic error. An instruction that has a live physical register def cannot be CSE'ed, but it *can* be used to replace a common subexpression. llvm-svn: 97688
-
Evan Cheng authored
llvm-svn: 97687
-
Evan Cheng authored
Move MachineInstrExpressionTrait::getHashValue() out of line so it can skip over only virtual register defs. This matches what isEqual() is doing. llvm-svn: 97680
-
Evan Cheng authored
Re-apply r97667 but with a little bit of thought put into the patch. This implements a special DenseMapInfo trait for DenseMap<MachineInstr*> that compare the value of the MachineInstr rather than the pointer value. Since the hashing and equality test functions ignore defs it's useful for doing CSE kind optimization. llvm-svn: 97678
-
Johnny Chen authored
MULS <Rdm>, <Rn>, <Rdm> according to A8.6.105 MUL Encoding T1. llvm-svn: 97675
-
- Mar 03, 2010
-
-
Dan Gohman authored
llvm-svn: 97673
-
Evan Cheng authored
llvm-svn: 97670
-
Evan Cheng authored
llvm-svn: 97667
-
Dan Gohman authored
CSE and recursive RAUW calls delete a node from the use list, invalidating the use list iterator. There's currently no known way to reproduce this in an unmodified LLVM, however there's no fundamental reason why a SelectionDAG couldn't be formed which would trigger this case. llvm-svn: 97665
-
Evan Cheng authored
Machine CSE work in progress. It's doing some CSE now. But implicit def of physical registers are getting in the way. llvm-svn: 97664
-
Evan Cheng authored
llvm-svn: 97663
-
Andrew Lenharth authored
Fix PR6444, note still doesn't compile libgcc2 all the way, but fixes that error. May not fix it in an ABI complient way. It wasn't clear what gcc does llvm-svn: 97660
-
Chris Lattner authored
llvm-svn: 97659
-
Bill Wendling authored
--- Reverse-merging r97592 into '.': U lib/CodeGen/TargetLoweringObjectFileImpl.cpp llvm-svn: 97657
-
Johnny Chen authored
and STRHT for disassembly only. llvm-svn: 97655
-