Commits

Show all
Author Commit Message Labels Comments Date
Chris Lattner
add support for pattern matching 'neg'
Tags
2 tags
Chris Lattner
Implement PR2298. This transforms: ~x < ~y --> y < x -x == -y --> x == y
Chris Lattner
restore doxygen comment.
Nick Kledzik
<rdar://problem/5917641> use getMemBufferCopy if supplied buffer is not already zero terminated
Anton Korobeynikov
Check for validity of aliasee pointer before dereference.
Evan Cheng
Use movq to move low half of XMM register and zero-extend the rest.
Tags
2 tags
Chris Lattner
conservatively say that volatile stores read memory.
Tanya Lattner (Tanya Brethour)
Revertin 50867 since it was breaking the build.
Chris Lattner
store can't read from memory.
Mikhail Glushenkov
Add -E and -S options
Mikhail Glushenkov
A small refactoring (extract method) + some comment fixes.
Chris Lattner
Remove dead return. Thanks to Bill for the review!
Gordon Henriksen
Improve pass documentation and comments. Patch by Matthijs Kooijman!
Chris Lattner
More than just loads can read from memory: readonly calls like strlen also need to be checked for memory modifying instructions before we can sink them. THis fixes the second half of PR2297.
Chris Lattner
Make instcombine's DSE respect loads as well as stores. It is not safe to delete the first store in: store x -> p load p store y -> p This is for PR2297.
Chris Lattner
add a new Instruction::mayReadFromMemory predicate, make Instruction::mayWriteToMemory stronger for invokes.
Devang Patel
Check linkage.
Tags
2 tags
Duncan Sands
Get exception handling working again on 64 bit 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.
Chris Lattner
new testcase.
Chris Lattner
Add support for constant folding the 'offsetof' pattern even if the base is not zero. This fixes test/C++Frontend/2008-05-07-CrazyOffsetOf.cpp
Evan Cheng
Handle vector move / load which zero the destination register top bits (i.e. movd, movq, movss (addr), movsd (addr)) with X86 specific dag combine.
Evan Cheng
Add nounwind.
Anton Korobeynikov
Turn StripPointerCast() into a method
Mikhail Glushenkov
Use Doxygen-style comments.
Ted Kremenek
Make the interface of CStrInCStrNoCase be the same as strcasestr.
Chris Lattner
Add a new LibCallAliasAnalysis pass, which is parameterized 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.
Ted Kremenek
Fix some serious logical errors in CStrInCStrNoCase pointed out by Bill.
Duncan Sands
Output correct exception handling and frame info 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 poin…
Ted Kremenek
Guard for empty strings in CStrInCStrNoCase.
Ted Kremenek
Added CStrInCStrNoCase, a portable implementation of strcasestr.
  1. Prev
  2. Next