- Oct 11, 2006
-
-
Andrew Lenharth authored
As a bonus, use the GOT node instead of the AlphaISD::GOT for internal stuff. llvm-svn: 30873
-
Chris Lattner authored
llvm-svn: 30872
-
Chris Lattner authored
The dag/inst combiners often 'simplify' the masked value based on whether or not the bits are live or known zero/one. This is good and dandy, but often causes special case patterns to fail, such as alpha's CMPBGE pattern, which looks like "(set GPRC:$RC, (setuge (and GPRC:$RA, 255), (and GPRC:$RB, 255)))". Here the pattern for (and X, 255) should match actual dags like (and X, 254) if the dag combiner proved that the missing bits are already zero (one for 'or'). For CodeGen/Alpha/cmpbge.ll:test2 for example, this results in: sll $16,1,$0 cmpbge $0,$17,$0 ret $31,($26),1 instead of: sll $16,1,$0 and $0,254,$0 and $17,255,$1 cmpule $1,$0,$0 ret $31,($26),1 ... and requires no target-specific code. llvm-svn: 30871
-
Chris Lattner authored
the second has an and of 254 not 255. llvm-svn: 30870
-
Chris Lattner authored
llvm-svn: 30869
-
Chris Lattner authored
identical, this is just a refactoring. llvm-svn: 30868
-
Andrew Lenharth authored
llvm-svn: 30867
-
Evan Cheng authored
llvm-svn: 30866
-
Chris Lattner authored
llvm-svn: 30865
-
Chris Lattner authored
llvm-svn: 30864
-
- Oct 10, 2006
-
-
Chris Lattner authored
Domagoj Babic, thanks! llvm-svn: 30863
-
Rafael Espindola authored
llvm-svn: 30862
-
Evan Cheng authored
llvm-svn: 30861
-
Evan Cheng authored
llvm-svn: 30860
-
Rafael Espindola authored
llvm-svn: 30859
-
Rafael Espindola authored
llvm-svn: 30858
-
Chris Lattner authored
llvm-svn: 30857
-
Rafael Espindola authored
llvm-svn: 30856
-
Rafael Espindola authored
llvm-svn: 30855
-
Rafael Espindola authored
llvm-svn: 30854
-
Evan Cheng authored
llvm-svn: 30853
-
Evan Cheng authored
llvm-svn: 30852
-
Evan Cheng authored
See comment in CanBeFoldedBy() for detailed explanation. llvm-svn: 30851
-
Evan Cheng authored
llvm-svn: 30850
-
Evan Cheng authored
llvm-svn: 30849
-
- Oct 09, 2006
-
-
Evan Cheng authored
folding first. llvm-svn: 30848
-
Evan Cheng authored
llvm-svn: 30847
-
Devang Patel authored
llvm-svn: 30846
-
Evan Cheng authored
code. This is especially important now matching ISD::LOAD also requires a Predicate_Load call. llvm-svn: 30845
-
Evan Cheng authored
llvm-svn: 30844
-
Evan Cheng authored
Chain and address ptr remains as operands. SrcValue, extending mode, extending VT (or rather loaded VT before extension) are now instance variables of LoadSDNode. Introduce load / store addressing modes to represent pre- and post-indexed load and store. Also added an additional operand offset that is only used in post-indexed mode (i.e. base ptr += offset after load/store). Added alignment info (not yet used) and isVolatile fields. llvm-svn: 30843
-
Devang Patel authored
llvm-svn: 30842
-
Chris Lattner authored
llvm-svn: 30841
-
Rafael Espindola authored
llvm-svn: 30840
-
Andrew Lenharth authored
llvm-svn: 30839
-
-
Nick Lewycky authored
llvm-svn: 30837
-
Rafael Espindola authored
llvm-svn: 30835
-
Reid Spencer authored
The result of yyparse() was not being checked. When YYERROR or YYABORT is called it causes yyparse() to return 1 to indicate the error. The code was silently ignoring this situation because it previously expected either an exception or a null ParserResult to indicate an error. The patch corrects this situation. llvm-svn: 30834
-
Chris Lattner authored
llvm-svn: 30833
-