[all-commits] [llvm/llvm-project] 3fd9a3: [AVR] Fix incorrect calling convention for varargs...

Ben Shi via All-commits all-commits at lists.llvm.org
Tue Mar 22 19:00:39 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3fd9a320da8adbefa47071f70667d641f7dd26f2
      https://github.com/llvm/llvm-project/commit/3fd9a320da8adbefa47071f70667d641f7dd26f2
  Author: Ben Shi <ben.shi at streamcomputing.com>
  Date:   2022-03-23 (Wed, 23 Mar 2022)

  Changed paths:
    M llvm/lib/Target/AVR/AVRCallingConv.td
    M llvm/test/CodeGen/AVR/calling-conv/c/basic.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/basic_aggr.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/stack.ll

  Log Message:
  -----------
  [AVR] Fix incorrect calling convention for varargs functions

An i8 argument should only cost 1 byte on the stack. This is
compatible with avr-gcc.

There are also more test cases (of calling convention) are added.

Reviewed By: aykevl, dylanmckay

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


  Commit: 6edfe45a63125a8938a5bea13534a118b0e31023
      https://github.com/llvm/llvm-project/commit/6edfe45a63125a8938a5bea13534a118b0e31023
  Author: Ben Shi <ben.shi at streamcomputing.com>
  Date:   2022-03-23 (Wed, 23 Mar 2022)

  Changed paths:
    M clang/lib/Basic/Targets/AVR.cpp
    M clang/lib/Driver/ToolChains/AVR.cpp
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/lib/Target/AVR/AVRDevices.td

  Log Message:
  -----------
  [AVR] Add more devices

Synchronize AVR device lists with gcc-avr-5.4.0 and avr-libc-2.0.0.

Reviewed By: dylanmckay, aykevl

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


  Commit: 45638931fb7c7a1b9c850e47601541b398868538
      https://github.com/llvm/llvm-project/commit/45638931fb7c7a1b9c850e47601541b398868538
  Author: Ben Shi <ben.shi at streamcomputing.com>
  Date:   2022-03-23 (Wed, 23 Mar 2022)

  Changed paths:
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/test/CodeGen/AVR/call.ll

  Log Message:
  -----------
  [AVR] Generate 'rcall' instead of 'call' on avr2 and avr25

The 'call' (long call) instruction is available on avr3 and above,
and devices in avr2 and avr25 should use the 'rcall' (short call)
instruction for function calls.

Reviewed By: aykevl, dylanmckay

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


Compare: https://github.com/llvm/llvm-project/compare/f014303e2ce4...45638931fb7c


More information about the All-commits mailing list