aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert constant-folding change that will miscompile in some cases.Nick Lewycky2008-05-172-31/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51223 91177308-0d34-0410-b5e6-96231b3b80d8
* trip count computation deficiencyChris Lattner2008-05-171-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51222 91177308-0d34-0410-b5e6-96231b3b80d8
* On Darwin, the string header file isn't 64-bit clean. The use ofBill Wendling2008-05-171-3/+3
| | | | | | | | | | | | | | | | | | | | "-Wshorten-64-to-32 -Werror" will cause a failure when compiling this complex program: #include <string> class Path { mutable std::string path; public: bool operator == (const Path &that) { return path == that.path; } }; Using strcmp gets us past this annoying error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51218 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak the build.Nick Lewycky2008-05-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51217 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant fold inttoptr and ptrtoint.Nick Lewycky2008-05-172-0/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51216 91177308-0d34-0410-b5e6-96231b3b80d8
* Move isTrueWhenEqual to ICmpInst.Nick Lewycky2008-05-172-20/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51215 91177308-0d34-0410-b5e6-96231b3b80d8
* Less conservative verison of previous patch,Dale Johannesen2008-05-161-2/+2
| | | | | | | | suggested by Duncan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51211 91177308-0d34-0410-b5e6-96231b3b80d8
* Add CommonLinkage, in a way that preserves theDale Johannesen2008-05-161-0/+3
| | | | | | | | behavior on old .bc files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51210 91177308-0d34-0410-b5e6-96231b3b80d8
* Add CommonLinkage to lto (treated same as weak AFAICT)Dale Johannesen2008-05-162-1/+4
| | | | | | | | and llvm-nm (prints as C). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51209 91177308-0d34-0410-b5e6-96231b3b80d8
* Add CommonLinkage.Dale Johannesen2008-05-161-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51208 91177308-0d34-0410-b5e6-96231b3b80d8
* Weak functions not declared non-throwing might beDale Johannesen2008-05-161-1/+3
| | | | | | | | | | | replaced at linktime with a body that throws, even if the body in this file does not. Make PruneEH be more conservative in this case. g++.dg/eh/weak1.C git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51207 91177308-0d34-0410-b5e6-96231b3b80d8
* Add functions to enable adding a single attribute to a function andEric Christopher2008-05-164-0/+27
| | | | | | | its associated call site. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51204 91177308-0d34-0410-b5e6-96231b3b80d8
* Record weak external linkage in a case where we wereDale Johannesen2008-05-161-0/+12
| | | | | | | | | missing it. gcc.dg/darwin-weakimport-2.c. Handle common and weak differently for darwin ppc32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51201 91177308-0d34-0410-b5e6-96231b3b80d8
* API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. ↵Gabor Greif2008-05-1631-524/+617
| | | | | | Legacy interfaces will be in place for some time. (Merge from use-diet branch.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51200 91177308-0d34-0410-b5e6-96231b3b80d8
* If the result of a BIT_CONVERT is a v1* vector, it doesn't mean its source ↵Evan Cheng2008-05-161-3/+6
| | | | | | is a v1* vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51192 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test.Evan Cheng2008-05-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51191 91177308-0d34-0410-b5e6-96231b3b80d8
* Bill pointed out that system headers should beDuncan Sands2008-05-161-1/+1
| | | | | | | included after local headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51187 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence the compiler warning differently. TheDuncan Sands2008-05-161-1/+1
| | | | | | | original method caused gcc-4.2 to complain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51186 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-enable tail duplication pass (now with default threshold down to 1 ↵Evan Cheng2008-05-161-0/+1
| | | | | | instruction). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51184 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not dup malloc, vector instructions, etc. Throttle the default theshold ↵Evan Cheng2008-05-161-5/+15
| | | | | | way down. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51183 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove ADCE's ability to delete loops. This ability is now implemented in aOwen Anderson2008-05-161-4/+21
| | | | | | | safer manner by loop deletion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51182 91177308-0d34-0410-b5e6-96231b3b80d8
* Move this test from ADCE to loop deletion, where it is more appropriate.Owen Anderson2008-05-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51181 91177308-0d34-0410-b5e6-96231b3b80d8
* Use loop deletion instead of ADCE in these tests.Owen Anderson2008-05-162-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51180 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean ups for loop deletion based on Chris' feedback.Owen Anderson2008-05-161-28/+32
| | | | | | | | Also, use SCEV to determine the trip count of the loop, which is more powerful and accurate that Loop::getTripCount. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51179 91177308-0d34-0410-b5e6-96231b3b80d8
* Use loop deletion instead of ADCE for removing loops.Owen Anderson2008-05-164-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51178 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix this test. It was testing broken behavior in that it required ADCE to ↵Owen Anderson2008-05-161-3/+2
| | | | | | | | | | eliminate a potentially infinite loop, which is undesirable. Instead, test the LICM behavior that we're really interested in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51177 91177308-0d34-0410-b5e6-96231b3b80d8
* implement PR2328.Chris Lattner2008-05-162-2/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51176 91177308-0d34-0410-b5e6-96231b3b80d8
* Use common where we mean common, not weak.Dale Johannesen2008-05-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51173 91177308-0d34-0410-b5e6-96231b3b80d8
* Treat common as distinct from weak global on Darwin x86.Dale Johannesen2008-05-161-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51172 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert the change from r51157 inDan Gohman2008-05-162-4/+4
| | | | | | | | | test/Verifier/2002-11-05-GetelementptrPointers.ll, which was incorrect. Instead, fix getIndexedType to not follow pointer types, as PointerType is a subclass of CompositeType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51171 91177308-0d34-0410-b5e6-96231b3b80d8
* Update comments based on Duncan's feedback.Dan Gohman2008-05-151-23/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51170 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in LoopStrengthReduce that caused it to emit IR withDan Gohman2008-05-152-3/+42
| | | | | | | | | | | | | | | | | | use-before-def. The problem comes up in code with multiple PHIs where one PHI is being rewritten in terms of the other, but the other needs to be casted first. LLVM rules requre the cast instruction to be inserted after any PHI instructions, but when instructions were inserted to replace the second PHI value with a function of the first, they were ended up going before the cast instruction. Avoid this problem by remembering the location of the cast instruction, when one is needed, and inserting the expansion of the new value after it. This fixes a bug that surfaced in 255.vortex on x86-64 when instcombine was removed from the middle of the loop optimization passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51169 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the S92 code, which really has nothing to doDale Johannesen2008-05-151-7/+0
| | | | | | | | with what the test is testing; makes it pass again on ppc32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51167 91177308-0d34-0410-b5e6-96231b3b80d8
* Evan has implemented this on ppc, so run the test there.Dale Johannesen2008-05-151-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51166 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos and comments.Evan Cheng2008-05-154-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51165 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow an extra bit for CommonLinkage.Dale Johannesen2008-05-151-1/+1
| | | | | | | | | | This changes the .bc file format, but if I understand how it works correctly, old .bc files continue to be readable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51161 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually scalarize the operand to BIT_CONVERT instead of asking someone to doNate Begeman2008-05-151-1/+2
| | | | | | | something with a v1 type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51160 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverting r51100...I need to use VC++ 2005.Steve Naroff2008-05-151-11/+172
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51159 91177308-0d34-0410-b5e6-96231b3b80d8
* IR support for extractvalue and insertvalue instructions. Also, beginDan Gohman2008-05-1515-360/+946
| | | | | | | moving toward making structs and arrays first-class types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51157 91177308-0d34-0410-b5e6-96231b3b80d8
* Use static and anonymous namespaces consistently with other passes.Dan Gohman2008-05-151-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51156 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 51067 check-in for now.Devang Patel2008-05-1531-229/+220
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51155 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove useless check.Devang Patel2008-05-151-6/+2
| | | | | | | Patch by Matthijs Kooijman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51154 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable JIT symbol table for now.Evan Cheng2008-05-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51152 91177308-0d34-0410-b5e6-96231b3b80d8
* Use of UINT_MAX requires climits, at least whenDuncan Sands2008-05-151-0/+1
| | | | | | | compiling with gcc 4.3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51145 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bunch of 80col violations that arose from the Create API change. Tweak ↵Gabor Greif2008-05-1523-78/+134
| | | | | | makefile targets to find these better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143 91177308-0d34-0410-b5e6-96231b3b80d8
* ignore generated files and product directoriesGabor Greif2008-05-150-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51142 91177308-0d34-0410-b5e6-96231b3b80d8
* Make use of vector load and store operations to implement memcpy, memmove, ↵Evan Cheng2008-05-155-106/+204
| | | | | | and memset. Currently only X86 target is taking advantage of these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51140 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove tail duplication pass.Evan Cheng2008-05-151-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51139 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the operator new and operator delete out of line. This fixes an issue withNate Begeman2008-05-152-17/+21
| | | | | | | | operator new() referring to the static initTags function, which has to be in the same linkage unit as any file including User.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51136 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't assume underlying APInt type is limitedDale Johannesen2008-05-141-1/+1
| | | | | | | | to 64 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51135 91177308-0d34-0410-b5e6-96231b3b80d8