- Jul 24, 2009
-
-
Dan Gohman authored
llvm-svn: 76988
-
Dan Gohman authored
instead of getAnalysis<TargetData>(). llvm-svn: 76982
-
- Jul 23, 2009
-
-
Daniel Dunbar authored
- Yay for '-'s and simplifications! - I kept StringMap::GetOrCreateValue for compatibility purposes, this can eventually go away. Likewise the StringMapEntry Create functions still follow the old style. - NIFC. llvm-svn: 76888
-
Chris Lattner authored
simplify it. llvm-svn: 76866
-
Chris Lattner authored
also apply to vectors. This allows us to compile this: #include <emmintrin.h> __m128i a(__m128 a, __m128 b) { return a==a & b==b; } __m128i b(__m128 a, __m128 b) { return a!=a | b!=b; } to: _a: cmpordps %xmm1, %xmm0 ret _b: cmpunordps %xmm1, %xmm0 ret with clang instead of to a ton of horrible code. llvm-svn: 76863
-
Chris Lattner authored
no functionality change. llvm-svn: 76859
-
- Jul 22, 2009
-
-
Owen Anderson authored
llvm-svn: 76702
-
Dan Gohman authored
getAnalysisIfAvailable<TargetData>. llvm-svn: 76676
-
- Jul 21, 2009
-
-
Owen Anderson authored
llvm-svn: 76598
-
Owen Anderson authored
llvm-svn: 76533
-
- Jul 20, 2009
-
-
Chris Lattner authored
llvm-svn: 76442
-
Dan Gohman authored
Getelementptrs that are defined to wrap are virtually useless to optimization, and getelementptrs that are undefined on any kind of overflow are too restrictive -- it's difficult to ensure that all intermediate addresses are within bounds. I'm going to take a different approach. Remove a few optimizations that depended on this flag. llvm-svn: 76437
-
- Jul 19, 2009
-
-
Eli Friedman authored
insertelement/extractelement. I'm not entirely sure this is precisely what we want to do: should we prefer bitcast(insertelement) or insertelement(bitcast)? Similarly. should we prefer extractelement(bitcast) or bitcast(extractelement)? llvm-svn: 76345
-
- Jul 18, 2009
-
-
Eli Friedman authored
way (bitcast -> insert/extractelement). llvm-svn: 76325
-
Eli Friedman authored
sign bit set. llvm-svn: 76304
-
Eli Friedman authored
llvm-svn: 76302
-
Eli Friedman authored
llvm-svn: 76301
-
Eli Friedman authored
bitcasts. It would also be possible to canonicalize the other way; does anyone have a preference? llvm-svn: 76300
-
Eli Friedman authored
where int is 32 bits. llvm-svn: 76293
-
Nick Lewycky authored
all values belonging to the intersection will belong to the resulting range. The former was inconsistent about that point (either way is fine, just pick one.) This is part of PR4545. llvm-svn: 76289
-
Dan Gohman authored
ConstantExpr and Instruction. This involves duplicating some code between GetElementPtrInst and GEPOperator, but it's not a lot. llvm-svn: 76265
-
Dan Gohman authored
GEPOperator's hasNoPointer0verflow(), and make a few places in instcombine that create GEPs that may overflow clear the NoOverflow value. Among other things, this partially addresses PR2831. llvm-svn: 76252
-
Dan Gohman authored
llvm-svn: 76249
-
- Jul 17, 2009
-
-
Dan Gohman authored
in a convenient manner, factoring out some common code from InstructionCombining and ValueTracking. Move the contents of BinaryOperators.h into Operator.h and use Operator to generalize them to support ConstantExprs as well as Instructions. llvm-svn: 76232
-
Eli Friedman authored
isSafeToSpeculativelyExecute. The new method is a bit closer to what the callers actually care about in that it rejects more things callers don't want. It also adds more precise handling for integer division, and unifies code for analyzing the legality of a speculative load. llvm-svn: 76150
-
- Jul 16, 2009
-
-
Owen Anderson authored
our current context-passing stuff, which is also fixed here llvm-svn: 76089
-
Owen Anderson authored
llvm-svn: 75863
-
Eli Friedman authored
using it. llvm-svn: 75852
-
Eli Friedman authored
operands; it's possible to end up with a constant-foldable operand to most instructions, even those which can't trap. llvm-svn: 75845
-
- Jul 15, 2009
-
-
Dan Gohman authored
llvm-svn: 75723
-
Dan Gohman authored
and use this to simplify more code. llvm-svn: 75722
-
Owen Anderson authored
llvm-svn: 75703
-
- Jul 14, 2009
-
-
Dale Johannesen authored
llvm-svn: 75642
-
Torok Edwin authored
This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
-
Dan Gohman authored
This results in the pass manager running IVUsers only once for indvars, instead of twice. llvm-svn: 75633
-
Eli Friedman authored
llvm-svn: 75586
-
Dan Gohman authored
function. llvm-svn: 75584
-
Dan Gohman authored
block has a single unique exiting block. llvm-svn: 75579
-
Dale Johannesen authored
xor R, R is a common and valid idiom for zeroing a register, for example. llvm-svn: 75571
-
Eli Friedman authored
llvm-svn: 75539
-