- Jul 14, 2003
-
-
Misha Brukman authored
llvm-svn: 7173
-
Misha Brukman authored
llvm-svn: 7172
-
John Criswell authored
Specifically, this updates libtool to version 1.5 and adds the following: - Added the -only-static option that we added in our previous libtool. - Modified the autoconf macros so that libtool uses the -G option when linking on Solaris. This allows libraries with global variables with constructors to automatically run those constructors when the library is dlopened(). llvm-svn: 7171
-
- Jul 12, 2003
-
-
Vikram S. Adve authored
Also, make Pointer type depend on architecture. llvm-svn: 7170
-
- Jul 11, 2003
-
-
Vikram S. Adve authored
remembered in valuesStoredInFunction, but never traced at function return, and that's too late to be finding the error anyway). Stores trace both the value and the address being stored to, but after some experience I think only values should be traced. The pointer hash table just fills up far too quickly if every store address were traced. llvm-svn: 7169
-
Brian Gaeke authored
out the entire llvm disassembly for the function at global constant-output time, which caused the assembler to barf in 164.gzip. This fixes that particular problem (though 164.gzip has other problems with X86 llc.) llvm-svn: 7168
-
Brian Gaeke authored
Fhourstones, McCat-vor, and many others...) Printer.cpp: Print implicit uses for AddRegFrm instructions. Break gas bug workarounds up into separate stanzas of code for each bug. Add new workarounds for fild and fistp. X86InstrInfo.def: Add O_ST0 implicit uses for more FP instrs where they obviously apply. Also add PrintImplUses flags for FP instrs where they are necessary for gas to understand the output. llvm-svn: 7165
-
- Jul 10, 2003
-
-
Anand Shukla authored
llvm-svn: 7161
-
Misha Brukman authored
llvm-svn: 7160
-
Vikram S. Adve authored
(1) Cannot use ANDN(ot), ORN, and XORN for boolean ops, only bitwise ops. (2) Conditional move instructions must distinguish signed and unsigned condition codes, e.g., MOVLE vs. MOVLEU. (3) Conditional-move-on-register was using the cond-move-on-cc opcodes, which produces a valid-looking instruction with bogus registers! (4) Here's a really cute one: dividing-by-2^k for negative numbers needs to add 2^k-1 before shifting, not add 1 after shifting. Sadly, these are the same when k=0 so our poor test case worked fine. (5) Casting between signed and unsigned values was not correct: completely reimplemented. (6) Zero-extension on unsigned values was bogus: I was only doing the SRL and not the SLLX before it. Don't know WHAT I was thinking! (7) And the most important class of changes: Sign-extensions on signed values. Signed values are not sign-extended after ordinary operations, so they must be sign-extended before the following cases: -- passing to an external or unknown function -- returning from a function -- using as operand 2 of DIV or REM -- using as either operand of condition-code setting operation (currently only SUBCC), with smaller than 32-bit operands Also, a couple of improvements: (1) Fold cast-to-bool into Not(bool). Need to do this for And, Or, XOR also. (2) Convert SetCC-Const into a conditional-move-on-register (case 41) if the constant is 0. This was only being done for branch-on-SetCC-Const when the branch is folded with the SetCC-Const. llvm-svn: 7159
-
Vikram S. Adve authored
llvm-svn: 7158
-
Vikram S. Adve authored
boolean operations: AND, OR, XOR. llvm-svn: 7157
-
Vikram S. Adve authored
llvm-svn: 7156
-
Vikram S. Adve authored
llvm-svn: 7155
-
Vikram S. Adve authored
which args can be substituted: defsOnly, defsAndUses or usesOnly. llvm-svn: 7154
-
Vikram S. Adve authored
llvm-svn: 7153
-
Vikram S. Adve authored
(1) An int CC live range must be spilled if there are any interferences, even if no other "neighbour" in the interf. graph has been allocated that reg. yet. This is actually true of any class with only one reg! (2) SparcIntCCRegClass::colorIGNode sets the color even if the LR must be spilled so that the machine-independent spill code doesn't have to make the machine-dependent decision of which CC name to use based on operand type: %xcc or %icc. (These are two halves of the same register.) (3) LR->isMarkedForSpill() is no longer the same as LR->hasColor(). These should never have been the same, and this is necessary now for #2. (4) All RDCCR and WRCCR instructions are directly generated with the phony number for %ccr so that EmitAssembly/EmitBinary doesn't have to deal with this. llvm-svn: 7152
-
Vikram S. Adve authored
(1) An int CC live range must be spilled if there are any interferences, even if no other "neighbour" in the interf. graph has been allocated that reg. yet. This is actually true of any class with only one reg! (2) SparcIntCCRegClass::colorIGNode sets the color even if the LR must be spilled so that the machine-independent spill code doesn't have to make the machine-dependent decision of which CC name to use based on operand type: %xcc or %icc. (These are two halves of the same register.) (3) LR->isMarkedForSpill() is no longer the same as LR->hasColor(). These should never have been the same, and this is necessary now for #2. (4) All RDCCR and WRCCR instructions are directly generated with the phony number for %ccr so that EmitAssembly/EmitBinary doesn't have to deal with this. llvm-svn: 7151
-
Vikram S. Adve authored
llvm-svn: 7150
-
Vikram S. Adve authored
llvm-svn: 7149
-
Vikram S. Adve authored
llvm-svn: 7147
-
Misha Brukman authored
llvm-svn: 7142
-
Misha Brukman authored
in a variable assignment. llvm-svn: 7141
-
Misha Brukman authored
llvm-svn: 7140
-
Misha Brukman authored
llvm-svn: 7139
-
- Jul 09, 2003
-
-
Misha Brukman authored
no functionality changed. llvm-svn: 7138
-
Vikram S. Adve authored
llvm-svn: 7135
-
- Jul 08, 2003
-
-
John Criswell authored
Corrected capitalization of subheadings. Created a new subsection for compiling the C front end and moved all references to it there. Updated the disk space requirements to reflect the need for the binary C front end and the optional C front end source. Added information on unpacking the distribution to the summary section. Moved autoconf environment variables to the autoconf section. Changed make to gmake. Removed some of the precise directions for unpacking the archives. Fixed some formatting inconsistencies (headings that were not centered). llvm-svn: 7132
-
Vikram S. Adve authored
Unfortunately, reallocation also means that the pointer numbering will change, so increase table size to try to avoid it. llvm-svn: 7130
-
Vikram S. Adve authored
taking out the rule for compiling the test driver. We need the native libraries for libinstr because they are directly linked into the native CBE or LLC code. That is the only practical way to debug them! llvm-svn: 7129
-
Vikram S. Adve authored
Also, $(RM) needs -f flag. llvm-svn: 7128
-
Vikram S. Adve authored
llvm-svn: 7126
-
John Criswell authored
code. This prevents a compiler warning on Sparc that causes the tests to fail. llvm-svn: 7125
-
Misha Brukman authored
initializer and the loop index variable already carries the offset information that we need. llvm-svn: 7123
-
Misha Brukman authored
llvm-svn: 7122
-
Misha Brukman authored
combined with a '/' separating them. llvm-svn: 7121
-
Misha Brukman authored
llvm-svn: 7120
-
Misha Brukman authored
some comments. llvm-svn: 7119
-
- Jul 07, 2003
-
-
Misha Brukman authored
* Made error messages print out what directory failed chdir() * Put quotes around search arguments to grep * Use `egrep' instead of `grep -e' because they are equivalent but `grep' does not have the `-e' option on Sparc/Solaris * Added `--enable-jit' to the ./configure command because both X86 and Sparc have JITs and we want them to be tested * Fixed the regular expressions parsing the changes in CVS which were causing the script to die llvm-svn: 7118
-
John Criswell authored
llvm-svn: 7117
-