llvm-project/llvm/test/CodeGen/AVR
Nirav Dave d6351340bb [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later.
Summary:
A number of optimizations are inhibited by single-use TokenFactors not
being merged into the TokenFactor using it. This makes we consider if
we can do the merge immediately.

Most tests changes here are due to the change in visitation causing
minor reorderings and associated reassociation of paired memory
operations.

CodeGen tests with non-reordering changes:

  X86/aligned-variadic.ll -- memory-based add folded into stored leaq
  value.

  X86/constant-combiners.ll -- Optimizes out overlap between stores.

  X86/pr40631_deadstore_elision -- folds constant byte store into
  preceding quad word constant store.

Reviewers: RKSimon, craig.topper, spatel, efriedma, courbet

Reviewed By: courbet

Subscribers: dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, javed.absar, eraman, hiraditya, kbarton, jrtc27, atanasyan, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59260

llvm-svn: 356068
2019-03-13 17:07:09 +00:00
..
atomics [AVR] Fix codegen bug in 16-bit loads 2019-01-20 03:41:08 +00:00
calling-conv/c [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00
features
inline-asm
integration [AVR] Update integration/blink.ll as we now generate sbi/cbi instructions. 2019-01-03 21:25:39 +00:00
intrinsics
pseudo [AVR] Fix codegen bug in 16-bit loads 2019-01-20 03:41:08 +00:00
relax-mem [AVR] Fix the testsuite after '%' changed to '$' in MIR 2018-02-08 09:17:11 +00:00
PR31344.ll
PR31345.ll
PR37143.ll [AVR] Fix codegen bug in 16-bit loads 2019-01-20 03:41:08 +00:00
add.ll
alloca.ll
and.ll
avr-rust-issue-123.ll [AVR] Insert unconditional branch when inserting MBBs between blocks with fallthrough 2019-01-21 04:32:02 +00:00
branch-relaxation-long.ll
branch-relaxation.ll
brind.ll
call.ll [AVR] Fix the 'call.ll' CodeGen test 2018-10-10 03:21:42 +00:00
clear-bss.ll
cmp.ll
com.ll
copy-data-to-ram.ll
ctlz.ll
ctpop.ll
cttz.ll
directmem.ll [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00
div.ll [AVR] Lower i128 divisions to runtime library calls 2018-03-19 00:55:50 +00:00
dynalloca.ll
eor.ll
expand-integer-failure.ll
frame.ll
frmidx-iterator-bug.ll
hardware-mul.ll [AVR] Expand 8/16-bit multiplication to libcalls on MCUs that don't have hardware MUL 2019-01-18 06:10:41 +00:00
high-pressure-on-ptrregs.ll
icall-func-pointer-correct-addr-space.ll
impossible-reg-to-reg-copy.ll
interrupts.ll [AVR] Use the short form of 'clr <reg>' 2017-11-24 15:36:43 +00:00
io.ll
issue-cannot-select-bswap.ll
issue-regalloc-stackframe-folding-earlyclobber.ll [AVR] Remove the earlyclobber flag from LDDWRdYQ 2018-03-06 11:20:25 +00:00
large-return-size.ll
lit.local.cfg
load.ll [AVR] Fix codegen bug in 16-bit loads 2019-01-20 03:41:08 +00:00
lower-formal-args-struct-return.ll [AVR] Add a regression test for struct return lowering 2018-03-20 11:23:03 +00:00
lower-formal-arguments-assertion.ll
neg.ll
no-print-operand-twice.ll
or.ll
pre-schedule.ll [ScheduleDAGRRList] Do not preschedule the node has ADJCALLSTACKDOWN parent 2019-01-18 08:36:06 +00:00
progmem-extended.ll
progmem.ll
rem.ll
return.ll [AVR] Fix two CodeGen tests 2017-12-09 07:51:43 +00:00
rot.ll
runtime-trig.ll
rust-avr-bug-37.ll [AVR] Disallow the LDDWRdPtrQ instruction with Z as the destination 2018-11-05 05:00:44 +00:00
rust-avr-bug-95.ll [AVR] Disallow the LDDWRdPtrQ instruction with Z as the destination 2018-11-05 05:00:44 +00:00
rust-avr-bug-99.ll [AVR] Set trackLivenessAfterRegAlloc 2018-06-11 14:46:48 +00:00
rust-avr-bug-112.ll [AVR] Fix a backend bug that left extraneous operands after expansion 2018-11-05 05:49:04 +00:00
select-must-add-unconditional-jump.ll [CodeGen] Unify the syntax of MBB successors in MIR and -debug output 2018-02-09 00:10:31 +00:00
sext.ll
shift.ll
sign-extension.ll
smul-with-overflow.ll [AVR] Expand 8/16-bit multiplication to libcalls on MCUs that don't have hardware MUL 2019-01-18 06:10:41 +00:00
software-mul.ll [AVR] Expand 8/16-bit multiplication to libcalls on MCUs that don't have hardware MUL 2019-01-18 06:10:41 +00:00
std-ldd-immediate-overflow.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
store-undef.ll
store.ll
sub.ll
trunc.ll
umul-with-overflow.ll [AVR] Expand 8/16-bit multiplication to libcalls on MCUs that don't have hardware MUL 2019-01-18 06:10:41 +00:00
unaligned-atomic-loads.ll Relax unaligned access assertion when type is byte aligned 2017-12-09 06:45:36 +00:00
varargs.ll
xor.ll
zext.ll [AVR] Fix the test suite after r326500. 2018-03-05 20:56:25 +00:00