- Oct 18, 2010
-
-
Bill Wendling authored
llvm-svn: 116750
-
- Oct 12, 2010
-
-
Owen Anderson authored
perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334
-
- Oct 08, 2010
-
-
Owen Anderson authored
llvm-svn: 115996
-
- Sep 21, 2010
-
-
Gabor Greif authored
into OptimizeCompareInstr. This necessitates the passing of CmpValue around, so widen the virtual functions to accomodate. No functionality changes. llvm-svn: 114428
-
- Sep 14, 2010
-
-
Gabor Greif authored
llvm-svn: 113848
-
- Sep 11, 2010
-
-
Bill Wendling authored
llvm-svn: 113670
-
Bill Wendling authored
llvm-svn: 113666
-
Bill Wendling authored
the 'zero' bit down into the back-end. There are other cases where this logic isn't sufficient, so they should be handled separately. llvm-svn: 113665
-
- Sep 10, 2010
-
-
Bill Wendling authored
iterator when an optimization took place. This allows us to do more insane things with the code than just remove an instruction or two. llvm-svn: 113640
-
- Aug 27, 2010
-
-
Bill Wendling authored
llvm-svn: 112287
-
- Aug 10, 2010
-
-
Bill Wendling authored
a register before checking if it was defined. llvm-svn: 110733
-
Dan Gohman authored
llvm-svn: 110726
-
Bill Wendling authored
ARM testers. llvm-svn: 110718
-
Bill Wendling authored
pass. This pass should expand with all of the small, fine-grained optimization passes to reduce compile time and increase happiment. llvm-svn: 110627
-
- Aug 06, 2010
-
-
Owen Anderson authored
llvm-svn: 110460
-
Owen Anderson authored
llvm-svn: 110410
-
Owen Anderson authored
ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
-
- Aug 03, 2010
-
-
Bill Wendling authored
llvm-svn: 110069
-
- Jul 22, 2010
-
-
Owen Anderson authored
llvm-svn: 109045
-
- Jul 08, 2010
-
-
Jakob Stoklund Olesen authored
EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. llvm-svn: 107879
-
- Jun 09, 2010
-
-
Bill Wendling authored
%reg1025 = <sext> %reg1024 ... %reg1026 = SUBREG_TO_REG 0, %reg1024, 4 into this: %reg1025 = <sext> %reg1024 ... %reg1027 = EXTRACT_SUBREG %reg1025, 4 %reg1026 = SUBREG_TO_REG 0, %reg1027, 4 The problem here is that SUBREG_TO_REG is there to assert that an implicit zext occurs. It doesn't insert a zext instruction. If we allow the EXTRACT_SUBREG here, it will give us the value after the <sext>, not the original value of %reg1024 before <sext>. llvm-svn: 105741
-
- Mar 26, 2010
-
-
Dale Johannesen authored
llvm-svn: 99573
-
- Feb 09, 2010
-
-
Chris Lattner authored
into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
-
- Jan 19, 2010
-
-
Evan Cheng authored
Do not extend extension results beyond the use of a PHI instruction at the start of a use block. A PHI use is expected to kill its source values. llvm-svn: 93895
-
- Jan 13, 2010
-
-
Evan Cheng authored
Commit some changes I had managed to lose last night while refactoring the code. Avoid change use of PHI instructions because it's not legal to insert any instructions before them. This fixes PR6027. llvm-svn: 93335
-
Evan Cheng authored
llvm-svn: 93306
-
Evan Cheng authored
Add a quick pass to optimize sign / zero extension instructions. For targets where the pre-extension values are available in the subreg of the result of the extension, replace the uses of the pre-extension value with the result + extract_subreg. For now, this pass is fairly conservative. It only perform the replacement when both the pre- and post- extension values are used in the block. It will miss cases where the post-extension values are live, but not used. llvm-svn: 93278
-