| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 251769
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expandPostRAPseudo():
STX -> 2 * STD: The first STD should not have the kill flag set for the address.
SystemZElimCompare:
BRC -> BRCT conversion: Don't forget to remove the CC<use,kill> operand.
Needed to make SystemZ/asm-17.ll pass with -verify-machineinstrs, which
now runs with this flag.
Reviewed by Ulrich Weigand.
llvm-svn: 249945
|
|
|
|
|
|
|
| |
The Reference IndirectDef and IndirectUse members were unused and therefore
removed.
llvm-svn: 249824
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compare elimination extended to recognize load-and-test instructions used
for comparison and eliminate them the same way as with compare instructions.
Test case fp-cmp-05.ll updated to expect optimized results now also for z13.
The order of instruction shortening and compare elimination passes have been
changed so that opcodes do not have to be handled in both passes.
Reviewed by Ulrich Weigand.
llvm-svn: 249666
|
|
|
|
|
|
|
|
| |
Don't use subreg indices since they are not used after regalloc.
Reviewed by Ulrich Weigand.
llvm-svn: 249663
|
|
|
|
|
|
| |
Reviewed by Ulrich Weigand.
llvm-svn: 249662
|
|
|
|
|
|
| |
macro. NFC; LLVM edition.
llvm-svn: 229335
|
|
|
|
| |
llvm-svn: 219069
|
|
|
|
|
|
|
|
|
|
|
| |
shorter/easier and have the DAG use that to do the same lookup. This
can be used in the future for TargetMachine based caching lookups from
the MachineFunction easily.
Update the MIPS subtarget switching machinery to update this pointer
at the same time it runs.
llvm-svn: 214838
|
|
|
|
|
|
| |
information and update all callers. No functional change.
llvm-svn: 214781
|
|
|
|
|
|
| |
'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves.
llvm-svn: 207511
|
|
|
|
| |
llvm-svn: 207197
|
|
|
|
|
|
|
| |
definition below all of the header #include lines, lib/Target/...
edition.
llvm-svn: 206842
|
|
|
|
|
|
|
| |
Also fix a couple of cases where "override" was missing. No behavioural
change intended.
llvm-svn: 203110
|
|
|
|
|
|
|
| |
Just the simple cases for now. There were a few knock-on changes of
MachineBasicBlock *s to MachineBasicBlock &s. No functional change intended.
llvm-svn: 203105
|
|
|
|
|
|
| |
No functional change intended.
llvm-svn: 203103
|
|
|
|
|
|
|
|
|
| |
This follows the same lines as the integer code. In the end it seemed
easier to have a second 4-bit mask in TSFlags to specify the compare-like
CC values. That eats one more TSFlags bit than adding a CCHasUnordered
would have done, but it feels more concise.
llvm-svn: 187883
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch just uses a peephole test for "add; compare; branch" sequences
within a single block. The IR optimizers already convert loops to
decrement-and-branch-on-nonzero form in some cases, so even this
simplistic test triggers many times during a clang bootstrap and
projects/test-suite run. It looks like there are still cases where we
need to more strongly prefer branches on nonzero though. E.g. I saw a
case where a loop that started out with a check for 0 ended up with a
check for -1. I'll try to look at that sometime.
I ended up adding the Reference class because MachineInstr::readsRegister()
doesn't check for subregisters (by design, as far as I could tell).
llvm-svn: 187723
|
|
|
|
| |
llvm-svn: 187720
|
|
Perhaps predictably, doing comparison elimination on the fly during
SystemZLongBranch turned out to be a bad idea. The next patches make
use of LOAD AND TEST and BRANCH ON COUNT, both of which require
changes to earlier instructions.
No functionality change intended.
llvm-svn: 187718
|