| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
two-address update.
llvm-svn: 70245
|
| |
|
|
|
|
|
| |
between the comparison's iv stride and the candidate stride is
exactly -1.
llvm-svn: 70244
|
| |
|
|
|
|
|
| |
the comparison operators were not only unnecessary in the presence of the
implicit conversion; they caused ambiguous overload errors. So I deleted them.
llvm-svn: 70243
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
information to simplify [sz]ext({a,+,b}) to {zext(a),+,[zs]ext(b)},
as appropriate.
These functions and the trip count code each call into the other, so
this requires careful handling to avoid infinite recursion. During
the initial trip count computation, conservative SCEVs are used,
which are subsequently discarded once the trip count is actually
known.
Among other benefits, this change lets LSR automatically eliminate
some unnecessary zext-inreg and sext-inreg operation where the
operand is an induction variable.
llvm-svn: 70241
|
| |
|
|
|
|
| |
only llvm-bcanalyzer wants this info.
llvm-svn: 70239
|
| |
|
|
|
|
|
| |
This should have no effect on generated code, but makes the intermediate state
of the coalescer more sane.
llvm-svn: 70238
|
| |
|
|
|
|
| |
no-longer needed workarounds.
llvm-svn: 70234
|
| |
|
|
| |
llvm-svn: 70233
|
| |
|
|
| |
llvm-svn: 70226
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR2957
ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle
mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes
as the shuffle mask. A value of -1 represents UNDEF.
In addition to eliminating the creation of illegal BUILD_VECTORS just to
represent shuffle masks, we are better about canonicalizing the shuffle mask,
resulting in substantially better code for some classes of shuffles.
llvm-svn: 70225
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and % abbreviated. For example:
Record Histogram:
Count # Bits % Abv Record Kind
25738 3424174 100.00 SM_SLOC_INSTANTIATION_ENTRY
814 562079 100.00 SM_SLOC_FILE_ENTRY
798 34110 SM_HEADER_FILE_INFO
3 91104 100.00 SM_SLOC_BUFFER_BLOB
3 498 100.00 SM_SLOC_BUFFER_ENTRY
1 465 SM_LINE_TABLE
llvm-svn: 70215
|
| |
|
|
|
|
| |
instead of ostreams for formatting.
llvm-svn: 70214
|
| |
|
|
|
|
| |
use is deleted by two-address pass.
llvm-svn: 70213
|
| |
|
|
| |
llvm-svn: 70212
|
| |
|
|
|
|
|
|
|
|
|
| |
to precisely describe the h-register subreg register classes.
Thanks to Jakob Stoklund Olesen for spotting this and for the
initial patch!
Also, make getStoreRegOpcode and getLoadRegOpcode aware of the
needs of h registers.
llvm-svn: 70211
|
| |
|
|
|
|
| |
GR32_ABCD, and GR64_ABCD, respectively, to help describe them.
llvm-svn: 70210
|
| |
|
|
| |
llvm-svn: 70209
|
| |
|
|
| |
llvm-svn: 70208
|
| |
|
|
|
|
| |
building without optimization and building with checking.
llvm-svn: 70205
|
| |
|
|
| |
llvm-svn: 70197
|
| |
|
|
|
|
|
|
|
|
|
|
| |
another stub, but then never calling the jitted function) can cause the JIT to
leave a stub in place. Judging by the comments this is a known deficiency, so
we're just not going to use AssertingVH for the StubToFunctionTy map.
Also shorten some lines longer than 80 columns.
This fixes the "make check" failure with ocaml on x86-64 linux.
llvm-svn: 70185
|
| |
|
|
|
|
| |
remove the unneccessary gyan about promoting them.
llvm-svn: 70181
|
| |
|
|
| |
llvm-svn: 70180
|
| |
|
|
|
|
|
| |
the trunc is directly replaced with the smaller load, so don't
try to create a new sext node. This fixes PR4050.
llvm-svn: 70179
|
| |
|
|
| |
llvm-svn: 70176
|
| |
|
|
|
|
| |
or when some other std::exception is thrown.
llvm-svn: 70175
|
| |
|
|
|
|
|
|
|
| |
BLOCKNAME and SETRECORDNAME. This allows a bitcode
file to be self describing with pretty names for
records and blocks in addition to numbers. This
enhances llvm-bcanalyzer to use this to print prettily.
llvm-svn: 70165
|
| |
|
|
| |
llvm-svn: 70159
|
| |
|
|
|
|
|
|
|
| |
state out of the BitstreamReader class into a BitstreamCursor class.
Doing this allows the client to have multiple cursors into the same
file, each with potentially different live block stacks and
abbreviation records.
llvm-svn: 70157
|
| |
|
|
| |
llvm-svn: 70151
|
| |
|
|
| |
llvm-svn: 70148
|
| |
|
|
|
|
| |
64-bit build.
llvm-svn: 70147
|
| |
|
|
| |
llvm-svn: 70138
|
| |
|
|
|
|
| |
types. Also adding a test case to check the indices type allowed into struct.
llvm-svn: 70134
|
| |
|
|
|
|
| |
Josef Eisl!
llvm-svn: 70087
|
| |
|
|
| |
llvm-svn: 70085
|
| |
|
|
|
|
| |
Patch by Jeffrey Yasskin!
llvm-svn: 70084
|
| |
|
|
|
|
| |
patch by Jeffrey Yasskin!
llvm-svn: 70083
|
| |
|
|
| |
llvm-svn: 70082
|
| |
|
|
| |
llvm-svn: 70080
|
| |
|
|
|
|
|
|
|
|
|
| |
The real fix for this whole mess is to require the operand of the
alias to be a *GlobalValue* (not a general constant, including
constant exprs) but allow the operand and the alias type to be
unrelated.
This fixes PR4066
llvm-svn: 70079
|
| |
|
|
|
|
| |
new stuff. PR3924.
llvm-svn: 70077
|
| |
|
|
| |
llvm-svn: 70076
|
| |
|
|
| |
llvm-svn: 70072
|
| |
|
|
| |
llvm-svn: 70069
|
| |
|
|
|
|
| |
Patch by John McCall!
llvm-svn: 70068
|
| |
|
|
|
|
| |
patch by Jeff Yasskin!
llvm-svn: 70058
|
| |
|
|
|
|
| |
Nicolas Capens!
llvm-svn: 70057
|
| |
|
|
|
|
| |
using EXTRACT_ELEMENT into a utility function.
llvm-svn: 70056
|
| |
|
|
| |
llvm-svn: 70054
|