aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-07-22Some compile time improvements resulting in a 1sec speedup in the 5secAlkis Evlogimenos
compilation of gcc: * Use vectors instead of lists for the intervals sets * Use a heap for the unhandled set to keep intervals always sorted and makes insertions back to the heap very fast (compared to scanning a list) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15103 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22New prototypeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15102 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22This is a trivial dead store elimination pass. It very very simple andChris Lattner
can be improved in many ways. But: stop laughing, even with -basicaa it deletes 15% of the stores in 252.eon :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15101 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22Trivial testcase for dseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15100 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22Clean up reference counting to stop "leaking" alias setsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15099 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22Remove extraneous punctuationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15098 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22Update GC intrinsics to take a pointer to the object as well as a pointerChris Lattner
to the field being updated. Patch contributed by Tobias Nurmiranta git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15097 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22Updates to gc intrinsics, contributed by Tobias NurmirantaChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15096 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22Update documentation for gc intrinsics change. Contributed byChris Lattner
Tobias Nurmiranta git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15095 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22Update gc intrinsics to take pointer to object as well as pointer to field.Chris Lattner
Patch contributed by Tobias Nurmiranta git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15094 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22Use reverse iterators when updating the vector, since scanning fromAlkis Evlogimenos
the end will reduce erase() runtimes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15093 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22That funny 2-address lowering pass can also cause multiple definitions,Chris Lattner
fortunately, they are easy to handle if we know about them. This patch fixes some serious pessimization of code produced by the linscan register allocator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15092 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Minor cleanupsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15091 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Fix cases where we generated horrible code like this:Chris Lattner
mov %EDI, 12 add %EDI, %ECX mov %ECX, 12 add %ECX, %EDX mov %EDX, 12 add %EDX, %ESI instead (really!) generate this: add %ECX, 12 add %EDX, 12 add %ESI, 12 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15090 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21These files don't need to include <iostream> since they include ↵Brian Gaeke
"Support/Debug.h". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15089 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Include <iostream> here, because most people using DEBUG() want to use ↵Brian Gaeke
std::cerr too. This means that users of this file do not also need to include <iostream>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15088 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21* Add the lost fix to define the second reg of a 2-reg representation of longsMisha Brukman
* Fix opcode RLWNM -> RLWINM since it uses an immediate const shift value git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15087 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21* Speed up canUseAsImmediateForOpcode() by comparing Operand beforeMisha Brukman
dyn_cast<>ing and checking Constant's value * Convert tabs to spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15086 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21* Further cleanup.Chris Lattner
* Test for whether bits are shifted out during the optzn. If so, the fold is illegal, though it can be handled explicitly for setne/seteq This fixes the miscompilation of 254.gap last night, which was a latent bug exposed by other optimizer improvements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15085 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21* Fix printing of signed immediate values (Nate Begeman)Misha Brukman
* Fix printing of `zeroinitializer' * Fix printing of `linkonce' globals, complete with stubs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15084 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21* Fix printing of signed immediate valuesMisha Brukman
* Generation of opcodes that take 16 bit immediates * Rewrote multiply to be correct for 64 bit values * Rewrote all the long handling to be correct for PowerPC * Fix visitSelectInst() to define the upper register of the pair of regs representing a long value Patch contributed by Nate Begeman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15083 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Make cast-cast code a bit more defensiveChris Lattner
"simplify" a bit of code for comparison/and folding git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15082 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Use addSImm() instead of addImm() for stack offsets, which may be negative.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15081 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Reid doesn't need a definite article in front of his name.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15080 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Delete extra space; add <p> tags around text within a <div>Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15079 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Fix analysis name.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15078 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add SUBI instructionMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15077 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Fix spelling of `iterative scan'Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15075 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21* Uncomment rule for location of LLI (formerly commented out: typo?)Misha Brukman
* Add space between VAR and `=' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15074 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Clear spilled list at once. Remove unused vector.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15073 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Change std::list into a std::vector for IntervalSets. This reducesAlkis Evlogimenos
compile time for 176.gcc from 5.6 secs to 4.7 secs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15072 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add greater_ptr functor.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15070 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Improve file comment.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15069 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add Iterative scan register allocator.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15068 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Linearscan is no longer experimental.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15067 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add capability to remove aliasing aliassets from an ASTChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15066 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add a bunch of new functionality, primarily to do with removing aliasingChris Lattner
pointers from an AST. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15065 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Make the AST interface a bit richer by returning whether an insertion causedChris Lattner
an insertion or not (because the pointer set already existed). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15064 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Remove special casing of pointers and treat them generically as integers ofChris Lattner
the appopriate size. This gives us the ability to eliminate int -> ptr -> int git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15063 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Do not ignore casts unless they are pointer-pointer casts. This caused usChris Lattner
to miscompile the SingleSource/Regression/C++/pointer_member.cpp program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15062 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Regenerated using autoconf-2.57.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15061 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add AC_MSG_CHECKING and AC_MSG_RESULT statements which were missingBrian Gaeke
from two of our custom checks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15060 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Regenerated with autoconf/autoheader 2.57Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15059 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Solaris hack for isinf()Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15058 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add check for finite(). Solaris doesn't have isinf, but it has finite...goBrian Gaeke
figure! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15057 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Emit NaNs and INFs bit-identically to the bytecode file, if the system hasBrian Gaeke
printf("%a") support. Patch contributed by Bill Wendling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15056 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add prototypes for platform-independent wrappers for isinf().Brian Gaeke
Patch contributed by Bill Wendling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15055 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Regenerated with autoheader-2.57.Brian Gaeke
Patch contributed by Bill Wendling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15054 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add call to check for isinf().Brian Gaeke
Patch contributed by Bill Wendling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15053 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-21Add support for checking for isinf().Brian Gaeke
Patch contributed by Bill Wendling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15052 91177308-0d34-0410-b5e6-96231b3b80d8