aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use __MINGW instead of __MING. Patch contributed by Henrik Bach.Reid Spencer2004-10-142-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16970 91177308-0d34-0410-b5e6-96231b3b80d8
* Get proper BSD #includes for MappedFile implementation.Reid Spencer2004-10-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16969 91177308-0d34-0410-b5e6-96231b3b80d8
* Implementation of MappedFile for Win32. Patch provided by Jeff Cohen.Reid Spencer2004-10-142-12/+202
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16968 91177308-0d34-0410-b5e6-96231b3b80d8
* Today is not my day. Fix broken #Chris Lattner2004-10-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16967 91177308-0d34-0410-b5e6-96231b3b80d8
* unbreak previous checkin :(Chris Lattner2004-10-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16966 91177308-0d34-0410-b5e6-96231b3b80d8
* Add back a missing parenChris Lattner2004-10-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16965 91177308-0d34-0410-b5e6-96231b3b80d8
* Fit to 80 colsChris Lattner2004-10-141-7/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16964 91177308-0d34-0410-b5e6-96231b3b80d8
* Wrap to 80 cols, delete some seriously old debugging printoutsChris Lattner2004-10-141-26/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16963 91177308-0d34-0410-b5e6-96231b3b80d8
* Fit in 80 columnsChris Lattner2004-10-141-13/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16962 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanupsChris Lattner2004-10-141-7/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16961 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch to make VS happier, thanks to Morten Ofstad for pointing this out.Chris Lattner2004-10-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16956 91177308-0d34-0410-b5e6-96231b3b80d8
* Use explicit std:: qualification to avoid relying on Koenig lookup, whichChris Lattner2004-10-131-1/+1
| | | | | | | VC++ does not do properly. Thanks to Morten Ofstad for the patch! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16955 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of template templates that were preventing VC from compiling theChris Lattner2004-10-131-18/+18
| | | | | | | | set_intersect template. Thanks to Morten Ofstad and Jeff Cohen for the patch! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16954 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes for automake.Reid Spencer2004-10-133-354/+290
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16953 91177308-0d34-0410-b5e6-96231b3b80d8
* Set up BUILD_MODE based on the configuration so the default build modeReid Spencer2004-10-131-4/+11
| | | | | | | | is established from configuration. Also, don't make the ENABLE_ options AM_CONDITIONALs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16952 91177308-0d34-0410-b5e6-96231b3b80d8
* Updates for changes in Makefile rules.Reid Spencer2004-10-134-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16951 91177308-0d34-0410-b5e6-96231b3b80d8
* Update to reflect changes in Makefile rules.Reid Spencer2004-10-1354-149/+139
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16950 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of the horrendous FIND_PATH macro, have libs and progs linked intoReid Spencer2004-10-131-0/+163
| | | | | | | | a common directory for simplicity. Provide an easy way to relink some objects git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16949 91177308-0d34-0410-b5e6-96231b3b80d8
* Update doco, make doxygen more, use standard dividers.Chris Lattner2004-10-131-19/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16948 91177308-0d34-0410-b5e6-96231b3b80d8
* Save Reid's notes from bugzilla on the proper procedure to upgrade libtoolMisha Brukman2004-10-131-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16947 91177308-0d34-0410-b5e6-96231b3b80d8
* Resolution to PR451.Reid Spencer2004-10-131-133/+157
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16946 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes for libtool 1.5.10Reid Spencer2004-10-131-63/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16945 91177308-0d34-0410-b5e6-96231b3b80d8
* Update for libtool 1.5.10Reid Spencer2004-10-131-480/+592
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16944 91177308-0d34-0410-b5e6-96231b3b80d8
* Harden the version requirements to the set that actually works after threeReid Spencer2004-10-131-3/+3
| | | | | | | | | days of trying to figure it out. Despite some developer's penchant for relaxing the tool versions, this just isn't possible. Only certain versions work with certain other versions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16943 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix file comment headerMisha Brukman2004-10-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16942 91177308-0d34-0410-b5e6-96231b3b80d8
* On second thought, OpaqueType is not really a good first-class type.Misha Brukman2004-10-121-5/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16941 91177308-0d34-0410-b5e6-96231b3b80d8
* No space allowed between \ and end-of-lineMisha Brukman2004-10-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16940 91177308-0d34-0410-b5e6-96231b3b80d8
* Wrap lines at 80 colsMisha Brukman2004-10-122-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16939 91177308-0d34-0410-b5e6-96231b3b80d8
* Add commentChris Lattner2004-10-121-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16937 91177308-0d34-0410-b5e6-96231b3b80d8
* Opaque types are considered to be first-class.Misha Brukman2004-10-121-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16936 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanups:Chris Lattner2004-10-121-23/+20
| | | | | | | | | * fit in 80 lines * Eliminate extra namespaces * Drop llvm:: git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16935 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't emit the method into the llvm namespace, let the #includer decide ↵Chris Lattner2004-10-121-2/+0
| | | | | | where it goes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16934 91177308-0d34-0410-b5e6-96231b3b80d8
* Add std:: prefix for compilers without correct koenig lookup implemented.Chris Lattner2004-10-121-2/+2
| | | | | | | Patch contributed by Paolo Invernizzi git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16933 91177308-0d34-0410-b5e6-96231b3b80d8
* Transform memmove -> memcpy when the source is obviously constant memory.Chris Lattner2004-10-121-16/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16932 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase for memmove -> memcpy transformChris Lattner2004-10-121-0/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16931 91177308-0d34-0410-b5e6-96231b3b80d8
* Right, calls have Operand#0 == the called function, don't forget this.Chris Lattner2004-10-121-12/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16930 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor tweaksChris Lattner2004-10-121-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16929 91177308-0d34-0410-b5e6-96231b3b80d8
* New header. Classes can be added as needed.Chris Lattner2004-10-121-0/+198
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16928 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a new methodChris Lattner2004-10-121-3/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16927 91177308-0d34-0410-b5e6-96231b3b80d8
* This nutty patch has been in my tree since before 1.3 went out, and it needsChris Lattner2004-10-121-20/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to go in. This patch allows us to compute the trip count of loops controlled by values loaded from constant arrays. The cannonnical example of this is strlen when passed a constant argument: for (int i = 0; "constantstring"[i]; ++i) ; return i; In this case, it will compute that the loop executes 14 times, which means that the exit value of i is 14. Because of this, the loop gets DCE'd and we are happy. This also applies to anything that does similar things, e.g. loops like this: const float Array[] = { 0.1, 2.1, 3.2, 23.21 }; for (int i = 0; Array[i] < 20; ++i) and is actually fairly general. The problem with this is that it almost never triggers. The reason is that we run indvars and the loop optimizer only at compile time, which is before things like strlen and strcpy have been inlined into the program from libc. Because of this, it almost never is used (it triggers twice in specint2k). I'm committing it because it DOES work, may be useful in the future, and doesn't slow us down at all. If/when we start running the loop optimizer at link-time (-O4?) this will be very nice indeed :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16926 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a REALLY obscure bug in my previous checkin, which was splicing the ENDChris Lattner2004-10-121-1/+1
| | | | | | | marker from one ilist into the middle of another basic block! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16925 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle a common case more carefully. In particular, instead of transformingChris Lattner2004-10-111-4/+33
| | | | | | | | | | | | | | | | | | pointer recurrences into expressions from this: %P_addr.0.i.0 = phi sbyte* [ getelementptr ([8 x sbyte]* %.str_1, int 0, int 0), %entry ], [ %inc.0.i, %no_exit.i ] %inc.0.i = getelementptr sbyte* %P_addr.0.i.0, int 1 ; <sbyte*> [#uses=2] into this: %inc.0.i = getelementptr sbyte* getelementptr ([8 x sbyte]* %.str_1, int 0, int 0), int %inc.0.i.rec Actually create something nice, like this: %inc.0.i = getelementptr [8 x sbyte]* %.str_1, int 0, int %inc.0.i.rec git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16924 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow creation of GEP constantexprs with a vector of value* operands asChris Lattner2004-10-115-29/+44
| | | | | | | | well as a vector of constant*'s. It turns out that this is more efficient and all of the clients want to do that, so we should cater to them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16923 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement remove/eraseFromParent methodsChris Lattner2004-10-114-2/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16922 91177308-0d34-0410-b5e6-96231b3b80d8
* Add long overdue methodsChris Lattner2004-10-114-2/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16921 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this buildChris Lattner2004-10-111-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16919 91177308-0d34-0410-b5e6-96231b3b80d8
* Reenable the transform, turning X/-10 < 1 into X > -10Chris Lattner2004-10-111-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16918 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a warning that is emitted on the sunsChris Lattner2004-10-112-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16917 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch implements two things (sorry).Chris Lattner2004-10-111-25/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, it allows SRA of globals that have embedded arrays, implementing GlobalOpt/globalsra-partial.llx. This comes up infrequently, but does allow, for example, deleting several stores to dead parts of globals in dhrystone. Second, this implements GlobalOpt/malloc-promote-*.llx, which is the following nifty transformation: Basically if a global pointer is initialized with malloc, and we can tell that the program won't notice, we transform this: struct foo *FooPtr; ... FooPtr = malloc(sizeof(struct foo)); ... FooPtr->A FooPtr->B Into: struct foo FooPtrBody; ... FooPtrBody.A FooPtrBody.B This comes up occasionally, for example, the 'disp' global in 183.equake (where the xform speeds the CBE version of the program up from 56.16s to 52.40s (7%) on apoc), and the 'desired_accept', 'fixLRBT', 'macroArray', & 'key_queue' globals in 300.twolf (speeding it up from 22.29s to 21.55s (3.4%)). The nice thing about this xform is that it exposes the resulting global to global variable optimization and makes alias analysis easier in addition to eliminating a few loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16916 91177308-0d34-0410-b5e6-96231b3b80d8
* This testcase ensures that we can SRA a global even if part of the globalChris Lattner2004-10-111-0/+23
| | | | | | | cannot be SRA'd git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16915 91177308-0d34-0410-b5e6-96231b3b80d8