- May 27, 2006
-
-
Chris Lattner authored
ldecod, lencod, and SPASS. llvm-svn: 28523
-
Chris Lattner authored
llvm-svn: 28522
-
Chris Lattner authored
makes it so that it constant folds instructions on the fly. This is good for several reasons: 0. Many instructions are constant foldable after inlining, particularly if inlining a call with constant arguments. 1. Without this, the inliner has to allocate memory for all of the instructions that can be constant folded, then a subsequent pass has to delete them. This gets the job done without this extra work. 2. This makes the inliner *pass* a bit more aggressive: in particular, it partially solves a phase order issue where the inliner would inline lots of code that folds away to nothing, but think that the resultant function is big because of this code that will be gone. Now the code never exists. This is the first part of a 2-step process. The second part will be smart enough to see when this implicit constant folding propagates a constant into a branch or switch instruction, making CFG edges dead. This implements Transforms/Inline/inline_constprop.ll llvm-svn: 28521
-
Chris Lattner authored
llvm-svn: 28520
-
Chris Lattner authored
llvm-svn: 28519
-
Chris Lattner authored
llvm-svn: 28518
-
Chris Lattner authored
Refactor some code to expose an interface to constant fold and instruction given it's opcode, typeand operands. llvm-svn: 28517
-
Chris Lattner authored
and operands. llvm-svn: 28516
-
Chris Lattner authored
fly if it can. llvm-svn: 28515
-
Chris Lattner authored
SimplifySelectOps would eliminate a Select, delete it, then return true. The clients would see that it did something and return null. The top level would see a null return, and decide that nothing happened, proceeding to process the node in other ways: boom. The fix is simple: clients of SimplifySelectOps should return the select node itself. In order to catch really obnoxious boogs like this in the future, add an assert that nodes are not deleted. We do this by checking for a sentry node type that the SDNode dtor sets when a node is destroyed. llvm-svn: 28514
-
Chris Lattner authored
use-after-deleted errors. llvm-svn: 28513
-
Owen Anderson authored
llvm-svn: 28512
-
Evan Cheng authored
instead of MVT::i1. Either is fine except MVT::i32 is probably a legal type for most (if not all) platforms while MVT::i1 is not. llvm-svn: 28511
-
Evan Cheng authored
RET chain, value1, sign1, value2, sign2, ... llvm-svn: 28510
-
Evan Cheng authored
RET chain, value1, sign1, value2, sign2 llvm-svn: 28509
-
- May 26, 2006
-
-
Owen Anderson authored
llvm-svn: 28508
-
Owen Anderson authored
llvm-svn: 28507
-
Owen Anderson authored
there's still a lot of work to be done on it. llvm-svn: 28506
-
Evan Cheng authored
llvm-svn: 28505
-
Evan Cheng authored
vector arguments, not three. llvm-svn: 28504
-
Chris Lattner authored
llvm-svn: 28503
-
Chris Lattner authored
llvm-svn: 28502
-
Chris Lattner authored
nonccc calls (we were dropping the CC and tail flag). This broke several FORTRAN programs. Testcase here: Regression/Assembler/2006-05-26-VarargsCallEncode.ll llvm-svn: 28501
-
Chris Lattner authored
llvm-svn: 28500
-
Evan Cheng authored
llvm-svn: 28499
-
Evan Cheng authored
llvm-svn: 28498
-
Evan Cheng authored
llvm-svn: 28497
-
Evan Cheng authored
llvm-svn: 28496
-
Owen Anderson authored
and documentation updates soo. llvm-svn: 28495
-
Rafael Espindola authored
Add lr as a hard coded operand of bx llvm-svn: 28494
-
Evan Cheng authored
llvm-svn: 28493
-
Evan Cheng authored
llvm-svn: 28492
-
Evan Cheng authored
llvm-svn: 28491
-
Chris Lattner authored
llvm-svn: 28490
-
Chris Lattner authored
No functionality change. llvm-svn: 28489
-
Evan Cheng authored
llvm-svn: 28488
-
Chris Lattner authored
the program. This exposes more opportunities for the instcombiner, and implements vec_shuffle.ll:test6 llvm-svn: 28487
-
Chris Lattner authored
llvm-svn: 28486
-
Chris Lattner authored
extractelement from the SV's source. This implement vec_shuffle.ll:test[45] llvm-svn: 28485
-
Chris Lattner authored
llvm-svn: 28484
-