| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 92490
|
|
|
|
|
|
| |
two labels as a truncate.
llvm-svn: 92455
|
|
|
|
|
|
|
|
|
|
|
| |
(X != null) | (Y != null) --> (X|Y) != 0
(X == null) & (Y == null) --> (X|Y) == 0
so that instcombine can stop doing this for pointers. This is part of PR3351,
which is a case where instcombine doing this for pointers (inserting ptrtoint)
is pessimizing code.
llvm-svn: 92406
|
|
|
|
| |
llvm-svn: 92404
|
|
|
|
|
|
|
| |
SelectionDAGBuilder.cpp:4294: warning: suggest explicit braces to avoid
ambiguous ‘else’
llvm-svn: 92395
|
|
|
|
| |
llvm-svn: 92394
|
|
|
|
|
|
|
|
|
|
| |
multiply sequence when the power is a constant integer. Before, our
codegen for std::pow(.., int) always turned into a libcall, which was
really inefficient.
This should also make many gfortran programs happier I'd imagine.
llvm-svn: 92388
|
|
|
|
| |
llvm-svn: 92263
|
|
|
|
|
|
|
|
| |
getMDKindID/getMDKindNames methods to LLVMContext (and add
convenience methods to Module), eliminating MetadataContext.
Move the state that it maintains out to LLVMContext.
llvm-svn: 92259
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I asked Devang to do back on Sep 27. Instead of going through the
MetadataContext class with methods like getMD() and getMDs(), just
ask the instruction directly for its metadata with getMetadata()
and getAllMetadata().
This includes a variety of other fixes and improvements: previously
all Value*'s were bloated because the HasMetadata bit was thrown into
value, adding a 9th bit to a byte. Now this is properly sunk down to
the Instruction class (the only place where it makes sense) and it
will be folded away somewhere soon.
This also fixes some confusion in getMDs and its clients about
whether the returned list is indexed by the MDID or densely packed.
This is now returned sorted and densely packed and the comments make
this clear.
This introduces a number of fixme's which I'll follow up on.
llvm-svn: 92235
|
|
|
|
|
|
|
| |
doesn't exist already, eliminate registerMDKind. Tidy up a bunch
of random stuff.
llvm-svn: 92225
|
|
|
|
| |
llvm-svn: 92214
|
|
|
|
| |
llvm-svn: 92206
|
|
|
|
|
|
| |
floating point comparisons, rather than hard-coding them as i32.
llvm-svn: 92199
|
|
|
|
| |
llvm-svn: 92190
|
|
|
|
| |
llvm-svn: 92189
|
|
|
|
| |
llvm-svn: 92188
|
|
|
|
| |
llvm-svn: 92187
|
|
|
|
| |
llvm-svn: 92180
|
|
|
|
| |
llvm-svn: 92179
|
|
|
|
| |
llvm-svn: 92178
|
|
|
|
| |
llvm-svn: 92159
|
|
|
|
| |
llvm-svn: 92158
|
|
|
|
| |
llvm-svn: 92157
|
|
|
|
| |
llvm-svn: 92156
|
|
|
|
|
|
|
|
| |
compare. On other targets we end up with a call to memcmp because we don't
want 16 individual byte loads. We should be able to use movups as well, but
we're failing to select the generated icmp.
llvm-svn: 92107
|
|
|
|
| |
llvm-svn: 92099
|
|
|
|
|
|
|
|
|
| |
SDISel. This optimization was causing simplifylibcalls to
introduce type-unsafe nastiness. This is the first step, I'll be
expanding the memcmp optimizations shortly, covering things that
we really really wouldn't want simplifylibcalls to do.
llvm-svn: 92098
|
|
|
|
| |
llvm-svn: 92097
|
|
|
|
| |
llvm-svn: 92096
|
|
|
|
| |
llvm-svn: 92094
|
|
|
|
| |
llvm-svn: 92093
|
|
|
|
| |
llvm-svn: 92011
|
|
|
|
|
|
| |
Patch by Sylve`re Teissier (sorry, ASCII only).
llvm-svn: 91988
|
|
|
|
|
|
| |
lowering code and update testcases.
llvm-svn: 91979
|
|
|
|
| |
llvm-svn: 91971
|
|
|
|
| |
llvm-svn: 91961
|
|
|
|
| |
llvm-svn: 91958
|
|
|
|
| |
llvm-svn: 91953
|
|
|
|
| |
llvm-svn: 91949
|
|
|
|
| |
llvm-svn: 91945
|
|
|
|
|
|
| |
is finished.
llvm-svn: 91942
|
|
|
|
|
|
| |
was using "Tmp1" in the first getNode call instead of Node->getOperand(0).
llvm-svn: 91936
|
|
|
|
|
|
|
|
|
| |
These checks would often trigger on unreachable statements inserted by
bugpoint, leading it astray.
It would be nice if we could distinguish unreachable blocks from errors.
llvm-svn: 91923
|
|
|
|
|
|
| |
ARM uses these to indicate predicates.
llvm-svn: 91922
|
|
|
|
| |
llvm-svn: 91920
|
|
|
|
|
|
| |
"indirect" operand is not a pointer.
llvm-svn: 91913
|
|
|
|
|
|
|
|
| |
return partial registers. This affected the back-end lowering code some.
Also patch up some places I missed before in the "get" functions.
llvm-svn: 91880
|
|
|
|
| |
llvm-svn: 91876
|
|
|
|
|
|
| |
generic copy functions.
llvm-svn: 91872
|