llvm/utils
Chris Lattner 39e73f7c83 Special case tblgen generated code for patterns like (and X, 255) or (or X, 42).
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30871 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-11 04:05:55 +00:00
..
emacs Change llvm.cs.uiuc.edu -> llvm.org 2006-03-14 06:05:05 +00:00
fpcmp
PerfectShuffle Patches to make the LLVM sources more -pedantic clean. Patch provided 2006-05-24 17:04:05 +00:00
TableGen Special case tblgen generated code for patterns like (and X, 255) or (or X, 42). 2006-10-11 04:05:55 +00:00
vim Remove blank line at end of file, removing test user "foo" from CVS history. 2006-08-11 19:42:11 +00:00
cgiplotNLT.pl now with a legend, and multiple lines work. 2005-05-20 17:50:51 +00:00
check-each-file
codegen-diff
countloc.sh Make all tools that use llvmdo have a -topdir option that allows the top 2006-08-14 18:49:05 +00:00
cvsupdate
DSAclean.py Updated to be less restrictive on what is matched 2005-10-13 17:31:30 +00:00
DSAextract.py Added a break that I meant to include originally, for efficiency. Basically 2005-12-20 02:03:23 +00:00
findsym.pl Fix a comment. 2006-08-09 19:40:13 +00:00
GenLibDeps.pl Print an error message if the lib directory (first argument) is not a 2006-08-03 19:10:03 +00:00
getsrcs.sh Simplify this a little bit. 2006-08-15 03:50:10 +00:00
importNLT.pl import fix and plot multiple lines at once 2005-04-27 17:32:41 +00:00
llvm-native-gcc
llvm-native-gxx
llvmdo Make all tools that use llvmdo have a -topdir option that allows the top 2006-08-14 18:49:05 +00:00
llvmgrep This script takes arguments so remove the check for number of arguments, 2006-08-15 03:48:22 +00:00
Makefile llvm-config doesn't live here anymore ==> tools 2006-04-20 21:15:41 +00:00
makellvm make is the standard name, not gmake 2005-08-02 00:10:52 +00:00
NewNightlyTest.pl Wrong directory. 2006-09-29 17:31:45 +00:00
NightlyTest.gnuplot remove these labels, there are now bigger jumps in the graph that are unlabeled 2005-11-15 06:44:15 +00:00
NightlyTestTemplate.html Cause the various warnings list to be generated via a <ul> list with 2006-03-21 01:21:39 +00:00
NLT.schema OK, the simple scheme for the db plus a couple of cgi scripts that 2005-05-20 17:33:42 +00:00
OldenDataRecover.pl make recovering running_Olden data easier when the nightly tester eats the graphs 2006-04-12 17:41:19 +00:00
parseNLT.pl
plotNLT.pl import fix and plot multiple lines at once 2005-04-27 17:32:41 +00:00
profile.pl apparently one of the makefile changes changed libprofile.so to profile.so 2005-10-13 16:34:24 +00:00
RegressionFinder.pl
userloc.pl Make all tools that use llvmdo have a -topdir option that allows the top 2006-08-14 18:49:05 +00:00
webNLT.pl now with a legend, and multiple lines work. 2005-05-20 17:50:51 +00:00