aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-05-16Less conservative verison of previous patch,Dale Johannesen
suggested by Duncan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51211 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Add CommonLinkage, in a way that preserves theDale Johannesen
behavior on old .bc files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51210 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Add CommonLinkage to lto (treated same as weak AFAICT)Dale Johannesen
and llvm-nm (prints as C). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51209 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Add CommonLinkage.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51208 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Weak functions not declared non-throwing might beDale Johannesen
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
2008-05-16Add functions to enable adding a single attribute to a function andEric Christopher
its associated call site. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51204 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Record weak external linkage in a case where we wereDale Johannesen
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
2008-05-16API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. ↵Gabor Greif
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
2008-05-16If the result of a BIT_CONVERT is a v1* vector, it doesn't mean its source ↵Evan Cheng
is a v1* vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51192 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Fix test.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51191 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Bill pointed out that system headers should beDuncan Sands
included after local headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51187 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Silence the compiler warning differently. TheDuncan Sands
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
2008-05-16Re-enable tail duplication pass (now with default threshold down to 1 ↵Evan Cheng
instruction). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51184 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Do not dup malloc, vector instructions, etc. Throttle the default theshold ↵Evan Cheng
way down. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51183 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Remove ADCE's ability to delete loops. This ability is now implemented in aOwen Anderson
safer manner by loop deletion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51182 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Move this test from ADCE to loop deletion, where it is more appropriate.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51181 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Use loop deletion instead of ADCE in these tests.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51180 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Clean ups for loop deletion based on Chris' feedback.Owen Anderson
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
2008-05-16Use loop deletion instead of ADCE for removing loops.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51178 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Fix this test. It was testing broken behavior in that it required ADCE to ↵Owen Anderson
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
2008-05-16implement PR2328.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51176 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Use common where we mean common, not weak.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51173 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Treat common as distinct from weak global on Darwin x86.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51172 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-16Revert the change from r51157 inDan Gohman
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
2008-05-15Update comments based on Duncan's feedback.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51170 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Fix a bug in LoopStrengthReduce that caused it to emit IR withDan Gohman
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
2008-05-15Remove the S92 code, which really has nothing to doDale Johannesen
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
2008-05-15Evan has implemented this on ppc, so run the test there.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51166 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Fix typos and comments.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51165 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Allow an extra bit for CommonLinkage.Dale Johannesen
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
2008-05-15Actually scalarize the operand to BIT_CONVERT instead of asking someone to doNate Begeman
something with a v1 type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51160 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Reverting r51100...I need to use VC++ 2005.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51159 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15IR support for extractvalue and insertvalue instructions. Also, beginDan Gohman
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
2008-05-15Use static and anonymous namespaces consistently with other passes.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51156 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Revert 51067 check-in for now.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51155 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Remove useless check.Devang Patel
Patch by Matthijs Kooijman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51154 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Disable JIT symbol table for now.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51152 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Use of UINT_MAX requires climits, at least whenDuncan Sands
compiling with gcc 4.3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51145 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Fix a bunch of 80col violations that arose from the Create API change. Tweak ↵Gabor Greif
makefile targets to find these better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15ignore generated files and product directoriesGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51142 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Make use of vector load and store operations to implement memcpy, memmove, ↵Evan Cheng
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
2008-05-15Remove tail duplication pass.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51139 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-15Move the operator new and operator delete out of line. This fixes an issue withNate Begeman
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
2008-05-14Don't assume underlying APInt type is limitedDale Johannesen
to 64 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51135 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14Situations can arise when you have a function called that returns a 'void', butBill Wendling
is bitcast to return a floating point value. The result of the instruction may not be used by the program afterwards, and LLVM will happily remove all instructions except the call. But, on some platforms, if a value is returned as a floating point, it may need to be removed from the stack (like x87). Thus, we can't get rid of the bitcast even if there isn't a use of the value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51134 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14Remove undefined behavior in hex string->APFloatDale Johannesen
conversion. Try 0x1.0000a4p+0f. Neil, please review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51132 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14Use a better idiom to silence compiler warnings.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51131 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14rename SimplifyCFG.cpp -> SimplifyCFGPass.cppChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51130 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14Silence warnings.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51129 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14Add support to IR builder for new vicmp, vfcmp routinesNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51127 91177308-0d34-0410-b5e6-96231b3b80d8