summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Some clean up.Evan Cheng2008-05-101-16/+18
| | | | llvm-svn: 50929
* If movl top bits are undef, let it be selected to movlps, etc.Evan Cheng2008-05-101-2/+1
| | | | llvm-svn: 50928
* If all sources of a PHI node are defined by an implicit_def, just emit an ↵Evan Cheng2008-05-102-7/+36
| | | | | | implicit_def instead of a copy. llvm-svn: 50927
* Cosmetic changes:Bill Wendling2008-05-101-36/+48
| | | | | | | | | - Comment fixes. - Moar whitespace. - Made ivars "private" by default. No functionality change. llvm-svn: 50926
* Add a pattern to do move the low element of a v4f32 and zero extend the rest.Evan Cheng2008-05-092-0/+11
| | | | llvm-svn: 50922
* Remove an evil vector bool. Cosmetic refactoring,Dale Johannesen2008-05-091-62/+85
| | | | | | no functional change. llvm-svn: 50921
* Handle a few more cases of folding load i64 into xmm and zero top bits.Evan Cheng2008-05-097-29/+110
| | | | | | Note, some of the code will be moved into target independent part of DAG combiner in a subsequent patch. llvm-svn: 50918
* Make OpActionsCapacity multiple of 4.Evan Cheng2008-05-091-2/+3
| | | | llvm-svn: 50917
* Rewrite tail merging algorithm to handle theDale Johannesen2008-05-091-87/+115
| | | | | | | | case where there are multiple blocks with a large number of common tail instructions more efficiently (compile time optimization). llvm-svn: 50916
* put LibCallAliasAnalysis into anonymous namespace to avoidTorok Edwin2008-05-091-1/+1
| | | | | | clashes on ::X llvm-svn: 50912
* Simplify test.Evan Cheng2008-05-091-3/+2
| | | | llvm-svn: 50911
* Rename Example.td to Graph.td.Mikhail Glushenkov2008-05-092-1/+1
| | | | llvm-svn: 50910
* use doxygen comments for makeBuffer()Nick Kledzik2008-05-091-4/+4
| | | | llvm-svn: 50908
* don't sink invokes, even if they are readonly. This fixes aChris Lattner2008-05-091-1/+2
| | | | | | crash on kimwitu++. llvm-svn: 50901
* Fix a type and formatting.Duncan Sands2008-05-091-2/+2
| | | | llvm-svn: 50900
* Reapply 50867: A small refactoring (extract method) + some comment fixes.Mikhail Glushenkov2008-05-092-55/+66
| | | | | | Fixed the build breakage, sorry for that. llvm-svn: 50895
* add support for pattern matching 'neg'Chris Lattner2008-05-092-4/+31
| | | | llvm-svn: 50883
* Implement PR2298. This transforms:Chris Lattner2008-05-093-0/+33
| | | | | | | ~x < ~y --> y < x -x == -y --> x == y llvm-svn: 50882
* restore doxygen comment.Chris Lattner2008-05-091-17/+16
| | | | llvm-svn: 50881
* <rdar://problem/5917641> use getMemBufferCopy if supplied buffer is not ↵Nick Kledzik2008-05-092-4/+20
| | | | | | already zero terminated llvm-svn: 50880
* Check for validity of aliasee pointer before dereference.Anton Korobeynikov2008-05-081-1/+3
| | | | llvm-svn: 50878
* Use movq to move low half of XMM register and zero-extend the rest.Evan Cheng2008-05-082-1/+12
| | | | llvm-svn: 50874
* conservatively say that volatile stores read memory.Chris Lattner2008-05-081-2/+3
| | | | llvm-svn: 50872
* Revertin 50867 since it was breaking the build.Tanya Lattner2008-05-082-64/+53
| | | | llvm-svn: 50871
* store can't read from memory.Chris Lattner2008-05-081-1/+0
| | | | llvm-svn: 50869
* Add -E and -S optionsMikhail Glushenkov2008-05-081-0/+5
| | | | llvm-svn: 50868
* A small refactoring (extract method) + some comment fixes.Mikhail Glushenkov2008-05-082-53/+64
| | | | llvm-svn: 50867
* Remove dead return. Thanks to Bill for the review!Chris Lattner2008-05-081-2/+0
| | | | llvm-svn: 50863
* Improve pass documentation and comments.Gordon Henriksen2008-05-086-102/+136
| | | | | | Patch by Matthijs Kooijman! llvm-svn: 50861
* More than just loads can read from memory: readonly calls like strlenChris Lattner2008-05-082-4/+32
| | | | | | | also need to be checked for memory modifying instructions before we can sink them. THis fixes the second half of PR2297. llvm-svn: 50860
* Make instcombine's DSE respect loads as well as stores. It is not safe toChris Lattner2008-05-082-1/+26
| | | | | | | | | | | | delete the first store in: store x -> p load p store y -> p This is for PR2297. llvm-svn: 50859
* add a new Instruction::mayReadFromMemory predicate, makeChris Lattner2008-05-082-2/+23
| | | | | | Instruction::mayWriteToMemory stronger for invokes. llvm-svn: 50858
* Check linkage.Devang Patel2008-05-081-1/+1
| | | | llvm-svn: 50851
* Get exception handling working again on 64 bitDuncan Sands2008-05-081-1/+2
| | | | | | | | | | | Darwin. This is a hack of course, but it does at least look at the right thing: gotpcrel means that this is already an offset, so an explicit offset is not needed (and wrong). I think this is good enough for the moment: Anton is working on something better. llvm-svn: 50850
* new testcase.Chris Lattner2008-05-081-0/+8
| | | | llvm-svn: 50841
* Add support for constant folding the 'offsetof' pattern even if theChris Lattner2008-05-081-16/+23
| | | | | | base is not zero. This fixes test/C++Frontend/2008-05-07-CrazyOffsetOf.cpp llvm-svn: 50840
* Handle vector move / load which zero the destination register top bits (i.e. ↵Evan Cheng2008-05-089-147/+175
| | | | | | movd, movq, movss (addr), movsd (addr)) with X86 specific dag combine. llvm-svn: 50838
* Add nounwind.Evan Cheng2008-05-0725-58/+39
| | | | llvm-svn: 50837
* Turn StripPointerCast() into a methodAnton Korobeynikov2008-05-079-45/+42
| | | | llvm-svn: 50836
* Use Doxygen-style comments.Mikhail Glushenkov2008-05-078-110/+145
| | | | llvm-svn: 50833
* Make the interface of CStrInCStrNoCase be the same as strcasestr.Ted Kremenek2008-05-071-6/+5
| | | | llvm-svn: 50828
* Add a new LibCallAliasAnalysis pass, which is parameterizedChris Lattner2008-05-073-0/+179
| | | | | | | | | | by an instance of LibCallInfo to provide mod/ref info of standard library functions. This is powerful enough to say that 'sqrt' is readonly except that it modifies errno, or that "printf doesn't store to memory unless the %n constraint is present" etc. llvm-svn: 50827
* Fix some serious logical errors in CStrInCStrNoCase pointed out by Bill.Ted Kremenek2008-05-071-5/+8
| | | | llvm-svn: 50826
* Output correct exception handling and frame infoDuncan Sands2008-05-074-61/+49
| | | | | | | | | | | | | | | | | | on x86-64 linux. This causes no regressions on 32 bit linux and 32 bit ppc. More tests pass on 64 bit ppc with no regressions. I didn't turn on eh on 64 bit linux because the intrinsics needed to compile the eh runtime aren't done yet. But if you turn it on and link with the mainline runtime then eh seems to work fine on x86-64 linux with this patch. Thanks to Dale for testing. The main point of the patch is that if you output that some object is encoded using 4 bytes you had better not output 8 bytes for it: the patch makes everything consistent. llvm-svn: 50825
* Guard for empty strings in CStrInCStrNoCase.Ted Kremenek2008-05-071-2/+2
| | | | llvm-svn: 50823
* Added CStrInCStrNoCase, a portable implementation of strcasestr.Ted Kremenek2008-05-071-0/+24
| | | | llvm-svn: 50821
* Add a new interface for describing the behavior of library calls. ThisChris Lattner2008-05-072-0/+231
| | | | | | | | | Currently is sufficient to describe mod/ref behavior but will hopefully eventually be extended for other purposes. This isn't used by anything yet. llvm-svn: 50820
* Typo.Nick Lewycky2008-05-071-1/+1
| | | | llvm-svn: 50805
* Yet another nasty spiller bug.Evan Cheng2008-05-072-14/+56
| | | | | | | | | | %ecx = op store %cl<kill>, (addr) (addr) = op %al It's not safe to unfold the last operand and eliminate store even though %cl is marked kill. It's a sub-register use which means one of its super-register(s) may be used below. llvm-svn: 50794
* Fix a bug in the ComputeMaskedBits logic for multiply.Dan Gohman2008-05-073-4/+14
| | | | llvm-svn: 50793
OpenPOWER on IntegriCloud