- Feb 04, 2006
-
-
Nate Begeman authored
llvm-svn: 25963
-
Chris Lattner authored
llvm-svn: 25962
-
Chris Lattner authored
1. Treat FMOVD as a copy instruction, to help with coallescing in V9 mode 2. When in V9 mode, insert FMOVD instead of FpMOVD instructions, as we don't ever rewrite FpMOVD instructions into FMOVS instructions, thus we just end up with commented out copies! This should fix a bunch of failures in V9 mode on sparc. llvm-svn: 25961
-
Evan Cheng authored
llvm-svn: 25960
-
Chris Lattner authored
llvm-svn: 25959
-
Chris Lattner authored
llvm-svn: 25958
-
Jeff Cohen authored
llvm-svn: 25957
-
Jeff Cohen authored
llvm-svn: 25956
-
Chris Lattner authored
int %rlwnm(int %A, int %B) { %C = call int asm "rlwnm $0, $1, $2, $3, $4", "=r,r,r,n,n"(int %A, int %B, int 4, int 17) ret int %C } into: _rlwnm: or r2, r3, r3 or r3, r4, r4 rlwnm r2, r2, r3, 4, 17 ;; note the immediates :) or r3, r2, r2 blr llvm-svn: 25955
-
Evan Cheng authored
llvm-svn: 25954
-
Evan Cheng authored
flag so it can be flagged to a FST. llvm-svn: 25953
-
Chris Lattner authored
llvm-svn: 25952
-
Chris Lattner authored
llvm-svn: 25951
-
Chris Lattner authored
llvm-svn: 25950
-
Chris Lattner authored
llvm-svn: 25949
-
Chris Lattner authored
store EAX -> [ss#0] [ss#0] += 1 ... use(EAX) In this case, it is not valid to rewrite this as: store EAX -> [ss#0] EAX += 1 store EAX -> [ss#0] ;;; this would also delete the store above ... use(EAX) ... because EAX is not a dead at that point. Keep track of which registers we are allowed to clobber, and which ones we aren't, and don't clobber the ones we're not supposed to. :) This should resolve the issues on X86 last night. llvm-svn: 25948
-
Chris Lattner authored
and PhysRegsAvailable maps out into a new AvailableSpills struct. No functionality change. This paves the way for a bugfix, coming up next. llvm-svn: 25947
-
- Feb 03, 2006
-
-
Nate Begeman authored
llvm-svn: 25946
-
Nate Begeman authored
llvm-svn: 25945
-
Chris Lattner authored
llvm-svn: 25944
-
Chris Lattner authored
llvm-svn: 25943
-
Chris Lattner authored
llvm-svn: 25942
-
Chris Lattner authored
llvm-svn: 25941
-
Chris Lattner authored
llvm-svn: 25940
-
Chris Lattner authored
obsolete. yaay :) llvm-svn: 25939
-
Chris Lattner authored
instruction when possible. llvm-svn: 25938
-
Chris Lattner authored
X86 backend attempts to match small-immediate versions of instructions before the full size immediate versions. llvm-svn: 25937
-
Chris Lattner authored
Remove the dead getRegClassForType method minor formating changes. llvm-svn: 25936
-
Chris Lattner authored
llvm-svn: 25935
-
Nate Begeman authored
llvm-svn: 25934
-
Evan Cheng authored
llvm-svn: 25933
-
Chris Lattner authored
llvm-svn: 25932
-
Evan Cheng authored
Chain is initially set to the chain operand of store node, when it reaches load, if it matches the load then Chain is set to the chain operand of the load. However, if the matching code that follows this fails, isel moves on to the next pattern but it does not restore Chain to the chain operand of the store. So when it tries to match the next store / op / load pattern it would fail on the Chain == load.getOperand(0) test. The solution is for each chain operand to get a unique name. e.g. Chain10. llvm-svn: 25931
-
Chris Lattner authored
llvm-svn: 25930
-
Chris Lattner authored
llvm-svn: 25929
-
Nate Begeman authored
llvm-svn: 25928
-
Jeff Cohen authored
a std::multimap iterator value. For some reason, GCC doesn't have a problem with this. llvm-svn: 25927
-
Chris Lattner authored
llvm-svn: 25926
-
Andrew Lenharth authored
llvm-svn: 25925
-
Chris Lattner authored
llvm-svn: 25924
-