| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
containing the target address, an input, into an output. I don't
think this actually broke anything on x86 (it does on ARM), but
it's wrong.
llvm-svn: 105986
|
|
|
|
| |
llvm-svn: 105325
|
|
|
|
|
|
| |
getX86RegNum() does not happen. Patch by Shantonu Sen!
llvm-svn: 104994
|
|
|
|
| |
llvm-svn: 104731
|
|
|
|
| |
llvm-svn: 104629
|
|
|
|
|
|
|
|
|
|
|
| |
instead.
This passes lit tests, but I'll give it a go through the buildbots to smoke out
any remaining places that depend on the old SubRegIndex numbering.
Then I'll remove NumberHack entirely.
llvm-svn: 104615
|
|
|
|
|
|
|
| |
The cases in getMatchingSuperRegClass cannot be broken up until the enums have
unique values.
llvm-svn: 104611
|
|
|
|
|
|
|
| |
opcodes into a helper function. This fixes a few places in the code
which were not properly selecting the 8-bit-immediate opcodes.
llvm-svn: 104091
|
|
|
|
|
|
|
| |
of "has calls". That's probably wrong, but it needs further
investigation. Revert to the original behavior until this is settled.
llvm-svn: 103824
|
|
|
|
|
|
| |
stack.
llvm-svn: 103813
|
|
|
|
| |
llvm-svn: 103808
|
|
|
|
| |
llvm-svn: 103804
|
|
|
|
|
|
|
|
|
| |
the variable actually tracks.
N.B., several back-ends are using "HasCalls" as being synonymous for something
that adjusts the stack. This isn't 100% correct and should be looked into.
llvm-svn: 103802
|
|
|
|
|
|
| |
coalescer bug that's fixed by 103170.
llvm-svn: 103172
|
|
|
|
|
|
|
|
|
|
|
| |
Reverse-merging r103156 into '.':
U lib/Target/ARM/ARMInstrNEON.td
U lib/Target/ARM/ARMRegisterInfo.h
U lib/Target/ARM/ARMBaseRegisterInfo.cpp
U lib/Target/ARM/ARMBaseInstrInfo.cpp
U lib/Target/ARM/ARMRegisterInfo.td
llvm-svn: 103159
|
|
|
|
| |
llvm-svn: 103103
|
|
|
|
| |
llvm-svn: 103057
|
|
|
|
|
|
| |
should use esp / rsp to reference frame instead.
llvm-svn: 102596
|
|
|
|
|
|
|
| |
optimization for non-leaf functions. This will be hooked up to gcc's
-momit-leaf-frame-pointer option. rdar://7886181
llvm-svn: 101984
|
|
|
|
| |
llvm-svn: 100709
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a frame pointer is not otherwise required, and dynamic stack alignment
is necessary solely due to the spilling of a register with larger alignment
requirements than the default stack alignment, the frame pointer can be both
used as a general purpose register and a frame pointer. That goes poorly, for
obvious reasons. This patch brings back a bit of old logic for identifying
the use of such registers and conservatively reserves the frame pointer
during register allocation in such cases.
For now, implement for X86 only since it's 32-bit linux which is hitting this,
and we want a targeted fix for 2.7. As a follow-on, this will be expanded
to handle other targets, as theoretically the problem could arise elsewhere
as well.
llvm-svn: 100559
|
|
|
|
| |
llvm-svn: 100415
|
|
|
|
|
|
| |
to get unique assembler temporary labels.
llvm-svn: 98489
|
|
|
|
|
|
| |
contain an MCSymbol instead of a label index.
llvm-svn: 98482
|
|
|
|
|
|
| |
with an MCSymbol instead of an immediate.
llvm-svn: 98481
|
|
|
|
|
|
| |
support to allow loads to be folded to tail call instructions.
llvm-svn: 98465
|
|
|
|
| |
llvm-svn: 98431
|
|
|
|
|
|
| |
convention. Patch by David Terei!
llvm-svn: 98212
|
|
|
|
|
|
|
|
|
|
| |
is preparatory to having PEI's scavenged frame index value reuse logic
properly distinguish types of frame values (e.g., whether the value is
stack-pointer relative or frame-pointer relative).
No functionality change.
llvm-svn: 98086
|
|
|
|
|
|
|
| |
We cannot use a normal call here since it has extra unmodelled side
effects (it changes stack pointer). This should fix PR5292.
llvm-svn: 97884
|
|
|
|
|
|
|
|
|
|
|
| |
Extracting the low element of a vector is now done with EXTRACT_SUBREG,
and the zero-extension performed by load movss is now modeled with
SUBREG_TO_REG, and so on.
Register-to-register movss and movsd are no longer considered copies;
they are two-address instructions which insert a scalar into a vector.
llvm-svn: 97354
|
|
|
|
|
|
| |
Also, FileCheck'ize a test.
llvm-svn: 96686
|
|
|
|
|
|
|
|
|
|
| |
created. This ensures it's updated at all time. It means targets which perform
dynamic stack alignment would know whether it is required and whether frame
pointer register cannot be made available register allocation.
This is a fix for rdar://7625239. Sorry, I can't create a reasonably sized test
case.
llvm-svn: 96069
|
|
|
|
|
|
| |
TCRETURN's. Otherwise the missing uses can make post-regalloc scheduling do bad things. This fixes 403.gcc.
llvm-svn: 94950
|
|
|
|
| |
llvm-svn: 94872
|
|
|
|
| |
llvm-svn: 94612
|
|
|
|
| |
llvm-svn: 94032
|
|
|
|
|
|
|
| |
more cases where debug declarations affect
debug line info.
llvm-svn: 93953
|
|
|
|
|
|
| |
line number info.
llvm-svn: 93937
|
|
|
|
|
|
|
|
|
|
|
| |
function can support dynamic stack realignment. That's a much easier question
to answer at instruction selection stage than whether the function actually
will have dynamic alignment prologue. This allows the removal of the
stack alignment heuristic pass, and improves code quality for cases where
the heuristic would result in dynamic alignment code being generated when
it was not strictly necessary.
llvm-svn: 93885
|
|
|
|
|
|
|
|
|
| |
FrameIndexes should be lowered, but the same way as
everything else (target dependent) rather than in a
special hacked way. The lowering needs to be done
for eventual purposes of Dwarf generation.
llvm-svn: 93530
|
|
|
|
|
|
| |
print it as a comment on X86.
llvm-svn: 93499
|
|
|
|
|
|
| |
Patch by Howard Hinnant!
llvm-svn: 90365
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 90336
|
|
|
|
| |
llvm-svn: 90166
|
|
|
|
| |
llvm-svn: 88800
|
|
|
|
| |
llvm-svn: 88705
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
slots. The AsmPrinter will use this information to determine whether to
print a spill/reload comment.
Remove default argument values. It's too easy to pass a wrong argument
value when multiple arguments have default values. Make everything
explicit to trap bugs early.
Update all targets to adhere to the new interfaces..
llvm-svn: 87022
|
|
|
|
|
|
| |
code miscompilation
llvm-svn: 86463
|
|
|
|
|
|
| |
VISIBILITY_HIDDEN removal.
llvm-svn: 85043
|