Commits

Show all
Author Commit Message Labels Comments Date
Steve Naroff
update vc configure project for renaming of hash_map/hash_set/iterator to have a .h suffix.
Tags
2 tags
Rafael Avila de Espindola
Don't use the GOT for symbols that are not externally visible.
Chris Lattner
move CannotBeNegativeZero to ValueTracking. Simplify some signbit comparisons.
Chris Lattner
move ComputeMaskedBits, MaskedValueIsZero, and ComputeNumSignBits out of instcombine into a new file in libanalysis. This also teaches ComputeNumSignBits about the number of sign bits in a constantint.
Owen Anderson
Fix two issues that Eli Friedman pointed out, where would misoptimized code like: char a[200]; init(a, a+200); OR int a[200]; char* b = (char*)a; char* c = (char*)a; foo(b, c);
Owen Anderson
Test for PR2401
Owen Anderson
Don't remove the memcpy when call slot substitution fails.
Owen Anderson
Remember to update the reverse non-local cache when cleaning up dirty entries. This fixes PR2397.
Owen Anderson
Make ping more aggressive in finding nonlocal caching errors.
Anton Korobeynikov
Prune empty dirs
Chris Lattner
add a predicate.
Anton Korobeynikov
Initialize members properly during construction
Duncan Sands
When simplifying a call to a bitcast function, tighten up the conditions for performing the transform when only the function declaration is available: no longer allow turning i32 into i64 for example. Only allow changing between pointer types, and between pointer types and integers of the same size. For return values ptr -> intptr was already allowed; I added ptr -> ptr and intptr -> ptr while there. As shown by a recent objc testcase, changing the way…
bcardosolopes
Fixed flag issue that was generating infinite loop while in list scheduling.
Nick Lewycky
Add a standard for control-flow unreachable assertions in functions that return values, so as to avoid warnings on some platforms.
Gabor Greif
updates to some svn:ignore properties
Chris Lattner
update this patch to handle an extraneous &1. This should be pulled into the 2.3 release branch.
Dan Gohman
AsmWriter support for insertvalue/extractvalue. These instructions can now round-trip through assembly and bitcode.
Dan Gohman
Improved bitcode support for insertvalue/extractvalue.
Dan Gohman
Fix a copy+paste error in a comment.
Dan Gohman
Fix some bugs with the handling of indices in insertvalue/extractvalue.
Nick Lewycky
Peer through sext/zext when looking for not(cmp).
Nick Lewycky
Yay us! Every one of these examples turns into icmp/zext/ret.
Nick Lewycky
Add more i1 optimizations. add, sub, mul, s/udiv on i1 are now simplified away.
Nick Lewycky
Adding i1 is always Xor.
Mikhail Glushenkov
Callback was not executed on OS X when it was a function.
Chris Lattner
Fix the CBE's handling of instructions whose result is an i1. Previously, we did not truncate the value down to i1 with (x&1). This caused a problem when the computation of x was nontrivial, for example, "add i1 1, 1" would return 2 instead of 0. This makes the testcase compile into: ... llvm_cbe_t = (((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u))&1); llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t)); ... instead of: ... llvm_cbe_t = ((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u)); llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t)); ... This fixes a miscompilation of mediabench/adpcm/rawdaudio/rawdaudio and 403.gcc with the CBE, regression…
Dan Gohman
Factor several methods, including getInversePredicate and getSwappedPredicate, from ICmpInst and FCmpInst into common methods in CmpInst. This allows CmpInsts to be manipulated generically.
Dan Gohman
Teach the DAGISelEmitter to not compute the variable_ops operand index for the input pattern in terms of the output pattern. Instead keep track of how many fixed operands the input pattern actually has, and have the input matching code pass the output-emitting function that index value. This simplifies the code, disentangles variables_ops from the support for predication operations, and makes variable_ops more robust.
Dan Gohman
Remove an unused variable.
  1. Prev
  2. Next