| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
operand index in the high bits.
llvm-svn: 67387
|
| |
|
|
| |
llvm-svn: 67373
|
| |
|
|
| |
llvm-svn: 67372
|
| |
|
|
|
|
| |
Removed unncessary code. No functionality change.
llvm-svn: 67371
|
| |
|
|
| |
llvm-svn: 67370
|
| |
|
|
| |
llvm-svn: 67364
|
| |
|
|
|
|
| |
for those architectures that support the instruction.
llvm-svn: 67363
|
| |
|
|
|
|
| |
(return or unreachable) is a kill.
llvm-svn: 67357
|
| |
|
|
|
|
|
|
|
|
| |
- Make type declarations match the struct/class keyword of the definition.
- Move AddSignalHandler into the namespace where it belongs.
- Correctly call functions from template base.
- Some other small changes.
With this patch, LLVM and Clang should build properly and with far less noise under VS2008.
llvm-svn: 67347
|
| |
|
|
| |
llvm-svn: 67335
|
| |
|
|
|
|
|
|
|
| |
the inliner; prevents nondeterministic behavior
when the same address is reallocated.
Don't build call graph nodes for debug intrinsic calls;
they're useless, and there were typically a lot of them.
llvm-svn: 67311
|
| |
|
|
|
|
|
|
|
| |
the set of blocks in which values are used, the set in which
values are live-through, and the set in which values are
killed. For the live-through and killed sets, conservative
approximations are used.
llvm-svn: 67309
|
| |
|
|
| |
llvm-svn: 67307
|
| |
|
|
|
|
|
|
|
| |
and was deleting Instructions without clearing the
corresponding map entry. This led to nondeterministic
behavior if the same address got allocated to another
Instruction within a short time.
llvm-svn: 67306
|
| |
|
|
|
|
| |
is the first in its block. This is PR3842.
llvm-svn: 67304
|
| |
|
|
| |
llvm-svn: 67302
|
| |
|
|
|
|
| |
either.
llvm-svn: 67288
|
| |
|
|
| |
llvm-svn: 67287
|
| |
|
|
|
|
|
| |
in selectiondag patterns. This is required for the upcoming shuffle_vector rewrite,
and as it turns out, cleans up a hack in the Alpha instruction info.
llvm-svn: 67286
|
| |
|
|
| |
llvm-svn: 67280
|
| |
|
|
|
|
|
|
| |
Duncan)
for pointing this out :)
llvm-svn: 67212
|
| |
|
|
|
|
| |
ComputeNumSignBits on a vector.
llvm-svn: 67211
|
| |
|
|
| |
llvm-svn: 67210
|
| |
|
|
|
|
| |
unused loads or bitcasts.
llvm-svn: 67202
|
| |
|
|
|
|
|
| |
If the instruction has no users, it is also not only used by debug info
and should not be deleted.
llvm-svn: 67194
|
| |
|
|
|
|
| |
If I->use_empty(), this method should return false.
llvm-svn: 67180
|
| |
|
|
|
|
|
| |
and expanding a bit convert (PR3711). In both cases, we extract the
valid part of the widen vector and then do the conversion.
llvm-svn: 67175
|
| |
|
|
|
|
|
|
|
|
|
| |
not safe in general because the immediate could be an arbitrary
value that does not fit in a 32-bit pcrel displacement.
Conservatively fall back to loading the value into a register
and calling through it.
We still do the optzn on X86-32.
llvm-svn: 67142
|
| |
|
|
|
|
| |
an invoke instead of after the invoke (in its block), which is invalid.
llvm-svn: 67139
|
| |
|
|
|
|
|
|
|
| |
it is not APInt clean, but even when it is it needs to be evaluated carefully
to determine whether it is actually profitable.
This fixes a crash on PR3806
llvm-svn: 67134
|
| |
|
|
|
|
|
| |
Some architectures (like x86) don't require it.
This fixes bug 3779.
llvm-svn: 67132
|
| |
|
|
|
|
|
|
|
| |
- Use for exceptional buffer conditions in raw_ostream:write to shave
off a cycle or two.
- Please rename if you have a better one.
llvm-svn: 67103
|
| |
|
|
|
|
|
|
|
|
|
| |
size by the array amount as an i32 value instead of promoting from
i32 to i64 then doing the multiply. Not doing this broke wrap-around
assumptions that the optimizers (validly) made. The ultimate real
fix for this is to introduce i64 version of alloca and remove mallocinst.
This fixes PR3829
llvm-svn: 67093
|
| |
|
|
| |
llvm-svn: 67089
|
| |
|
|
|
|
| |
Revert inadvertent mis-fix of fneg.
llvm-svn: 67084
|
| |
|
|
| |
llvm-svn: 67082
|
| |
|
|
| |
llvm-svn: 67080
|
| |
|
|
|
|
| |
(which produces "call L_f$stub" rather than "call f").
llvm-svn: 67079
|
| |
|
|
|
|
|
|
| |
vector shuffle mask. Forced the mask to be built using i32. Note: this will
be irrelevant once vector_shuffle no longer takes a build vector for the
shuffle mask.
llvm-svn: 67076
|
| |
|
|
| |
llvm-svn: 67072
|
| |
|
|
| |
llvm-svn: 67071
|
| |
|
|
|
|
|
|
| |
under a single branch.
Also, add a FIXME for formatted output.
llvm-svn: 67069
|
| |
|
|
|
|
| |
the would be loaded value is available in a register. It needs to check if it's legal to clobber the register. Also, the register can contain values of multiple spill slots, make sure to check all instead of just the one being unfolded.
llvm-svn: 67068
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Fix fabs, fneg for f32 and f64.
- Use BuildVectorSDNode.isConstantSplat, now that the functionality exists
- Continue to improve i64 constant lowering. Lower certain special constants
to the constant pool when they correspond to SPU's shufb instruction's
special mask values. This avoids the overhead of performing a shuffle on a
zero-filled vector just to get the special constant when the memory load
suffices.
llvm-svn: 67067
|
| |
|
|
|
|
|
|
|
| |
a single character requires only one branch to follow slow path.
- Never use a buffer when writing on an unbuffered stream.
- Move default buffer size to header.
llvm-svn: 67066
|
| |
|
|
| |
llvm-svn: 67064
|
| |
|
|
|
|
|
|
|
| |
write as arguments.
- Add raw_ostream::GetNumBytesInBuffer.
- Privatize buffer pointers.
- Get rid of slow and unnecessary code for writing out large strings.
llvm-svn: 67060
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Flush a known non-empty buffers; enforces the interface to
flush_impl and kills off HandleFlush (which I saw no reason to be
an inline method, Chris?).
- Clarify invariant that flush_impl is only called with OutBufCur >
OutBufStart.
- This also cleary collects all places where we have to deal with the
buffer possibly not existing.
- A few more comments and fixing the unbuffered behavior remain in
this commit sequence.
llvm-svn: 67057
|
| |
|
|
|
|
| |
it is easy.
llvm-svn: 67054
|
| |
|
|
|
|
| |
single characters writes outside of the fast path in raw_ostream.h
llvm-svn: 67053
|