llvm-6502/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
emacs
fpcmp
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
cgiplotNLT.pl
check-each-file
codegen-diff
countloc.sh
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
GenLibDeps.pl
getsrcs.sh
importNLT.pl
llvm-native-gcc
llvm-native-gxx
llvmdo Don't include generated lexer .cpp files. 2006-01-19 22:01:51 +00:00
llvmgrep
Makefile
makellvm
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
parseNLT.pl
plotNLT.pl
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
webNLT.pl