- Sep 11, 2010
-
-
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
-