| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a couple of problems:
1. Don't assume the VT-1 is a VT that is half the size.
2. Treat vectors of FP in the vector path, not the FP path.
This has a couple of remaining problems before it will work with
the code in PR1811: the code below this change assumes that it can
use extload/shift/or to construct the result, which isn't right for
vectors.
This also doesn't handle vectors of 1 or vectors that aren't pow-2.
llvm-svn: 44243
|
| |
|
|
| |
llvm-svn: 44242
|
| |
|
|
| |
llvm-svn: 44240
|
| |
|
|
| |
llvm-svn: 44239
|
| |
|
|
| |
llvm-svn: 44234
|
| |
|
|
| |
llvm-svn: 44233
|
| |
|
|
|
|
|
|
| |
return
a valid but empty buffer if stdin is empty.
llvm-svn: 44219
|
| |
|
|
| |
llvm-svn: 44218
|
| |
|
|
|
|
|
|
|
|
| |
call x86_fastcallcc void @func( i32* %X, i64 0 )
not:
callx86_fastcallcc void @func( i32* %X, i64 0 )
This fixes Codegen/X86/fast-cc-merge-stack-adj.ll
llvm-svn: 44217
|
| |
|
|
|
|
| |
CodeGen/X86/2007-10-16-fp80_select.ll
llvm-svn: 44215
|
| |
|
|
|
|
|
| |
drops a dependency on flex and lets us make future progress more
easily. Yay for 2 fewer .cvs files to make silly conflicts with.
llvm-svn: 44213
|
| |
|
|
| |
llvm-svn: 44204
|
| |
|
|
|
|
|
| |
fix an occasional nonrepeatable bootstrap failure we've
been seeing on Darwin.
llvm-svn: 44202
|
| |
|
|
|
|
| |
PR 1804.
llvm-svn: 44201
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a live interval is being spilled, rather than creating short, non-spillable
intervals for every def / use, split the interval at BB boundaries. That is, for
every BB where the live interval is defined or used, create a new interval that
covers all the defs and uses in the BB.
This is designed to eliminate one common problem: multiple reloads of the same
value in a single basic block. Note, it does *not* decrease the number of spills
since no copies are inserted so the split intervals are *connected* through
spill and reloads (or rematerialization). The newly created intervals can be
spilled again, in that case, since it does not span multiple basic blocks, it's
spilled in the usual manner. However, it can reuse the same stack slot as the
previously split interval.
This is currently controlled by -split-intervals-at-bb.
llvm-svn: 44198
|
| |
|
|
| |
llvm-svn: 44193
|
| |
|
|
| |
llvm-svn: 44188
|
| |
|
|
| |
llvm-svn: 44183
|
| |
|
|
|
|
| |
Codegen bits and llvm-gcc support will follow.
llvm-svn: 44182
|
| |
|
|
| |
llvm-svn: 44181
|
| |
|
|
| |
llvm-svn: 44177
|
| |
|
|
| |
llvm-svn: 44167
|
| |
|
|
| |
llvm-svn: 44166
|
| |
|
|
|
|
|
| |
is disabled in the sense that it will refuse to create one from a UDiv
instruction, until the code is better tested.
llvm-svn: 44163
|
| |
|
|
|
|
| |
Thanks to him for his detailed analysis of the problem.
llvm-svn: 44162
|
| |
|
|
| |
llvm-svn: 44158
|
| |
|
|
| |
llvm-svn: 44154
|
| |
|
|
| |
llvm-svn: 44153
|
| |
|
|
| |
llvm-svn: 44139
|
| |
|
|
| |
llvm-svn: 44128
|
| |
|
|
|
|
|
|
|
| |
the deserializer.
Fixed assertion when "stream jumping" in the deserializer to properly function
when we have reached the end of the stream.
llvm-svn: 44124
|
| |
|
|
| |
llvm-svn: 44116
|
| |
|
|
| |
llvm-svn: 44110
|
| |
|
|
| |
llvm-svn: 44109
|
| |
|
|
|
|
|
|
| |
applied
to all targets uses GOT-relative offsets for PIC (Alpha?)
llvm-svn: 44108
|
| |
|
|
|
|
|
|
| |
in favour of teaching CCAssignToStack that size 0 and/or align
0 means to use the ABI values. This seems a neater solution.
It is safe since no legal value type has size 0.
llvm-svn: 44107
|
| |
|
|
|
|
| |
BatchReadOwnedPtrs.
llvm-svn: 44105
|
| |
|
|
|
|
|
|
|
|
|
| |
MachineOperand auxInfo. Previous clunky implementation uses an external map
to track sub-register uses. That works because register allocator uses
a new virtual register for each spilled use. With interval splitting (coming
soon), we may have multiple uses of the same register some of which are
of using different sub-registers from others. It's too fragile to constantly
update the information.
llvm-svn: 44104
|
| |
|
|
|
|
|
|
|
| |
from a file containing Function/BasicBlock pairings. This is not safe against
anonymous or abnormally-named Funcs or BBs.
Make bugpoint use this interface to pass the BBs list to the child bugpoint.
llvm-svn: 44101
|
| |
|
|
|
|
| |
by inserting unreachable after no-return calls.
llvm-svn: 44099
|
| |
|
|
| |
llvm-svn: 44097
|
| |
|
|
|
|
| |
patch on friday.
llvm-svn: 44068
|
| |
|
|
|
|
| |
interference.
llvm-svn: 44064
|
| |
|
|
| |
llvm-svn: 44063
|
| |
|
|
| |
llvm-svn: 44057
|
| |
|
|
|
|
|
|
| |
to use different mappings for EH and debug info;
no functional change yet.
Fix warning in X86CodeEmitter.
llvm-svn: 44056
|
| |
|
|
| |
llvm-svn: 44048
|
| |
|
|
| |
llvm-svn: 44045
|
| |
|
|
|
|
| |
and simplifycfg in the rare cases when it is needed.
llvm-svn: 44044
|
| |
|
|
|
|
|
|
|
|
|
| |
adjustment fields, and an optional flag. If there is a "dynamic_stackalloc" in
the code, make sure that it's bracketed by CALLSEQ_START and CALLSEQ_END. If
not, then there is the potential for the stack to be changed while the stack's
being used by another instruction (like a call).
This can only result in tears...
llvm-svn: 44037
|