| Age | Commit message (Collapse) | Author | Files | Lines | 
 | 
llvm-svn: 135904
 | 
 | 
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.
llvm-svn: 135673
 | 
 | 
llvm-svn: 135478
 | 
 | 
llvm-svn: 135477
 | 
 | 
llvm-svn: 135375
 | 
 | 
llvm-svn: 135040
 | 
 | 
This reverts commit e8e00f5efb4a22238f2407bf813de4606f30c5aa.
The cmake build on OS X is still broken.
llvm-svn: 133718
 | 
 | 
It broke the build worse.
llvm-svn: 133716
 | 
 | 
llvm-svn: 133714
 | 
 | 
It has only one user. This eliminates the last include of
config.h from the public headers -- ideally, config.h
shouldn't even be installed by `make install` anymore.
llvm-svn: 133713
 | 
 | 
all over the place in different styles and variants.  Standardize on two
preferred entrypoints: one that takes a StructType and ArrayRef, and one that
takes StructType and varargs.
In cases where there isn't a struct type convenient, we now add a
ConstantStruct::getAnon method (whose name will make more sense after a few
more patches land).  
It would be "really really nice" if the ConstantStruct::get and 
ConstantVector::get methods didn't make temporary std::vectors.
llvm-svn: 133412
 | 
 | 
C99 runtimes don't have exp2).
llvm-svn: 131872
 | 
 | 
llvm-svn: 129271
 | 
 | 
identical to the smul.with.overflow() code.
llvm-svn: 128379
 | 
 | 
llvm-svn: 125537
 | 
 | 
builders unhappy.
llvm-svn: 125504
 | 
 | 
idiom.  Change various clients to simplify their code.
llvm-svn: 125487
 | 
 | 
llvm-svn: 124990
 | 
 | 
resulting pointer type both have the same size.
llvm-svn: 124987
 | 
 | 
with BasicAA's DecomposeGEPExpression, which recently began
using a TargetData. This fixes PR8968, though the testcase
is awkward to reduce.
Also, update several off GetUnderlyingObject's users
which happen to have a TargetData handy to pass it in.
llvm-svn: 124134
 | 
 | 
llvm-svn: 123562
 | 
 | 
point values to their integer representation through the SSE intrinsic
calls. This is the last part of a README.txt entry for which I have real
world examples.
llvm-svn: 123206
 | 
 | 
IDs when available rather than using a mixture of IDs and textual name
comparisons.
llvm-svn: 123165
 | 
 | 
llvm-svn: 122977
 | 
 | 
ret i64 ptrtoint (i8* getelementptr ([1000 x i8]* @X, i64 1, i64 sub (i64 0, i64 ptrtoint ([1000 x i8]* @X to i64))) to i64)
to "ret i64 1000".  This allows us to correctly compute the trip count
on a loop in PR8883, which occurs with std::fill on a char array.  This
allows us to transform it into a memset with a constant size.
llvm-svn: 122950
 | 
 | 
new gcc warning that complains on self-assignments and
self-initializations.
llvm-svn: 122458
 | 
 | 
function so that it can live in Analysis instead of
VMCore.
llvm-svn: 121885
 | 
 | 
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.
llvm-svn: 121120
 | 
 | 
llvm-svn: 120316
 | 
 | 
llvm-svn: 120298
 | 
 | 
are constant.  There was in fact one exception to this (phi nodes) - so
remove that exception (InstructionSimplify handles this so there should
be no loss).
llvm-svn: 120015
 | 
 | 
llvm-svn: 119941
 | 
 | 
zero sized elements.  This allows us to compile:
  #include <string>
  void foo() { std::string s; }
into an empty function.
llvm-svn: 119933
 | 
 | 
operands are the phi node itself or undef, then return undef.
This logic already existed at a higher level so in practice it
shouldn't make the slightest difference.  Note that this code
could be replaced by a call to PN->hasConstantValue().  However
since we bail out the moment we see a non-constant operand, it
is more efficient to have a specialized version of that logic.
llvm-svn: 119041
 | 
 | 
logic to use the new APInt methods.  Among other things this
implements rdar://8501501 - llvm.smul.with.overflow.i32 should constant fold
which comes from "clang -ftrapv", originally brought to my attention from PR8221.
llvm-svn: 116457
 | 
 | 
Usually we wouldn't do this anyway because llvm_fenv_testexcept would return an
exception, but we have seen some cases where neither errno nor fenv detect an
exception on arm-linux.
llvm-svn: 114893
 | 
 | 
llvm-svn: 114219
 | 
 | 
llvm-svn: 114196
 | 
 | 
so that it detects errors on platforms where libm doesn't set errno.
It's still subject to host libm details though.
llvm-svn: 114148
 | 
 | 
llvm-svn: 108522
 | 
 | 
that was actually useful here.
Chris, please double check that this is the correct interpretation. I was
pretty sure, and ran it by Nick as well.
llvm-svn: 108129
 | 
 | 
llvm-svn: 108113
 | 
 | 
llvm-svn: 107767
 | 
 | 
llvm-svn: 106279
 | 
 | 
Probably the best way to know that all getOperand() calls have been handled
is to replace that API instead of updating.
llvm-svn: 101579
 | 
 | 
with a fix for self-hosting
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101465
 | 
 | 
llvm-svn: 101434
 | 
 | 
with a fix
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101397
 | 
 | 
llvm-svn: 101368
 | 
 | 
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101364
 |