Changes

Summary

  1. Simplify some typedef struct (details)
  2. [NFC] AMD Zen 3: fix typo in a comment (details)
  3. [RISCV] Prevent formation of shXadd(.uw) and add.uw if it prevents the use of addi. (details)
  4. [llvm-profdata] Delete unneeded empty output filename check (details)
  5. [LLD] [MinGW] Print errors/warnings in lld-link with a "ld.lld" prefix (details)
  6. [LLD] [COFF] Avoid doing repeated fuzzy symbol lookup for each iteration. NFC. (details)
Commit 59d90fe817b5f1feae1a1406bd487e6552b9928d by i
Simplify some typedef struct
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCFastISel.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Commit 834aafa55bd175efce0575e6e596f19cdf317d91 by lebedev.ri
[NFC] AMD Zen 3: fix typo in a comment
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver3.td
Commit b663f30fa45ce86c8a3362624b87ccb372bd036a by craig.topper
[RISCV] Prevent formation of shXadd(.uw) and add.uw if it prevents the use of addi.

If the outer add has an simm12 immediate operand we should prefer
it instead of materializing it in a register. This would guarantee
and extra instruction and temporary register. Since we don't check
one use on the shl or zext we might generate more instructions if
there is an additional user.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/CodeGen/RISCV/rv64zba.ll
Commit 0f558db742fa52745f475d84336f88f04380e2fb by i
[llvm-profdata] Delete unneeded empty output filename check
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
Commit 1c8bb625b716b647206bcf5f51ac1c356ec2985e by martin
[LLD] [MinGW] Print errors/warnings in lld-link with a "ld.lld" prefix

Pass the original argv[0] to the coff linker, as the coff linker uses
the basename of argv[0] as the log prefix.

This makes error messages to be printed with a "ld.lld:" prefix
instead of "lld-link:". The current "lld-link:" prefix can be confusing
to users, as they're invoking the MinGW linker (and might not even have
a lld-link executable).

Keep the first argument as lld-link when printing the command line, to
make it an actually reproducible standalone command.

Differential Revision: https://reviews.llvm.org/D104526
The file was modifiedlld/test/MinGW/driver.test
The file was modifiedlld/MinGW/Driver.cpp
Commit e1adf90826a57b674eee79b071fb46c1f5683cd0 by martin
[LLD] [COFF] Avoid doing repeated fuzzy symbol lookup for each iteration. NFC.

This is run every time around in the main linker loop. Once a match
has been found, stop trying to rematch such a symbol.

Not sure if this has any actual measurable performance impact though
(SymbolTable::findMangle() iterates over the whole symbol table for
each call and does fuzzy matching on top of that) but this makes the
code more reassuring to read at least. (This is in practice run for def
files listing undecorated stdcall functions to be exported.)

Differential Revision: https://reviews.llvm.org/D104529
The file was modifiedlld/COFF/Driver.cpp