llvm/utils
Evan Cheng 76356d9594 Prevent folding of a node with multiple uses if the node already folds a load!
Here is an example where the load ended up being done twice:

%A = global uint 0

uint %test(uint %B, ubyte %C) {
	%tmp = load uint *%A;
	%X = shl uint %tmp, ubyte %C
	%Cv = sub ubyte 32, %C
	%Y = shr uint %B, ubyte %Cv
	%Z = or uint %Y, %X
	store uint %Z, uint* %A
	ret uint %Z
}

==>

	subl $4, %esp
	movl %ebx, (%esp)
	movl 8(%esp), %edx
	movl A, %eax
	movb 12(%esp), %bl
	movb %bl, %cl
	shldl %cl, %edx, %eax
	movb %bl, %cl
	shldl %cl, %edx, A
	movl (%esp), %ebx
	addl $4, %esp
	ret


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25471 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-20 01:11:03 +00:00
..
Burg Eliminate tabs and trailing spaces 2005-04-22 04:13:13 +00:00
emacs add support for fastcc and friends 2005-05-13 20:40:52 +00:00
fpcmp Remove trailing whitespace 2005-04-22 00:00:37 +00:00
TableGen Prevent folding of a node with multiple uses if the node already folds a load! 2006-01-20 01:11:03 +00:00
vim add support for fastcc and friends 2005-05-13 20:40:52 +00:00
cgiplotNLT.pl now with a legend, and multiple lines work. 2005-05-20 17:50:51 +00:00
check-each-file Added support for C++ compilation. 2004-02-26 23:02:25 +00:00
codegen-diff Add debug variable. 2003-10-16 23:46:01 +00:00
countloc.sh Documentation upgrade. 2004-09-20 08:09:36 +00:00
cvsupdate Fix patterns to match only one-char words. 2004-10-30 23:11:26 +00:00
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
GenLibDeps.pl 1. Make sure that "dot" can be found in the path 2005-01-05 17:29:29 +00:00
getsrcs.sh Documentation upgrade. 2004-09-20 08:09:36 +00:00
importNLT.pl import fix and plot multiple lines at once 2005-04-27 17:32:41 +00:00
llvm-native-gcc Added EH support. 2004-03-02 15:54:25 +00:00
llvm-native-gxx C++ version of llvm-native-gcc. 2004-02-26 23:01:21 +00:00
llvmdo Don't include generated lexer .cpp files. 2006-01-19 22:01:51 +00:00
llvmgrep Make these scripts work on SunOS too. 2004-10-07 16:03:21 +00:00
Makefile New Makefile Features: 2004-10-25 08:27:37 +00:00
makellvm make is the standard name, not gmake 2005-08-02 00:10:52 +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
NightlyTest.pl Send an indicator to llvm-testresults if the build failed 2005-12-11 19:55:39 +00:00
NightlyTestTemplate.html The nightly tester report doesn't report JIT code size anymore, remove it 2005-10-28 16:35:18 +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
parseNLT.pl fix for parse, and a start at db import. Using CVS as scp :) 2005-04-27 14:57:26 +00:00
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 Squash /usr/dcs path; use a 'require <version>' instead. 2004-03-03 17:38:51 +00:00
userloc.pl It would help if the headings were sorted properly. 2005-05-16 19:33:21 +00:00
webNLT.pl now with a legend, and multiple lines work. 2005-05-20 17:50:51 +00:00