[all-commits] [llvm/llvm-project] d15052: [AArch64] Use correct calling convention for each ...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Wed Apr 6 22:46:27 PDT 2022


  Branch: refs/heads/release/14.x
  Home:   https://github.com/llvm/llvm-project
  Commit: d150523f0776da96a1a6b694f800f15365318e20
      https://github.com/llvm/llvm-project/commit/d150523f0776da96a1a6b694f800f15365318e20
  Author: Philippe Valembois <lephilousophe at users.noreply.github.com>
  Date:   2022-04-06 (Wed, 06 Apr 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    A llvm/test/CodeGen/AArch64/darwinpcs-tail.ll

  Log Message:
  -----------
  [AArch64] Use correct calling convention for each vararg

While checking is tail call optimization is possible, the calling
convention applied to fixed arguments is not the correct one.
This implies for DarwinPCS that all arguments of a vararg function will
go to the stack although fixed ones can go in registers.

This prevents non-virtual thunks to be tail optimized although they are
marked as musttail.

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

(cherry picked from commit 26cd258420c774254cc48330b1f4d23d353baf05)


  Commit: aaf0c921a54ac9f9d9bc0e74566f3153d25e0c00
      https://github.com/llvm/llvm-project/commit/aaf0c921a54ac9f9d9bc0e74566f3153d25e0c00
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2022-04-06 (Wed, 06 Apr 2022)

  Changed paths:
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/IncrementalExecutor.h
    M clang/lib/Interpreter/Interpreter.cpp

  Log Message:
  -----------
  [clang-repl] Add an accessor to our underlying execution engine

This patch will allow better incremental adoption of these changes in downstream
cling and other users which want to experiment by customizing the execution
engine.

(cherry picked from commit 788e0f7f3e96a9d61c2412e452c4589e2693b79a)


  Commit: ec13fed5867f674bb96ab5502629ec209ef5a73a
      https://github.com/llvm/llvm-project/commit/ec13fed5867f674bb96ab5502629ec209ef5a73a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-04-06 (Wed, 06 Apr 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] lowerV8I16Shuffle - use explicit SmallVector<SDValue, 4> width to avoid MSVC AVX alignment bug

As discussed on Issue #54645 - building llc with /AVX can result in incorrectly aligned structs

(cherry picked from commit cb5c4a5917889bd12c5662c8b550cde11924d570)


Compare: https://github.com/llvm/llvm-project/compare/fd98b0f1a6a1...ec13fed5867f


More information about the All-commits mailing list