[all-commits] [llvm/llvm-project] 8202a3: [AVR] Support most address space casts

Ayke via All-commits all-commits at lists.llvm.org
Tue Jan 24 09:43:14 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8202a3da3c897fc663f55ae5c638ae56f11543c1
      https://github.com/llvm/llvm-project/commit/8202a3da3c897fc663f55ae5c638ae56f11543c1
  Author: Ayke van Laethem <aykevanlaethem at gmail.com>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M llvm/lib/Target/AVR/AVRTargetMachine.h
    A llvm/test/CodeGen/AVR/addrspacecast.ll

  Log Message:
  -----------
  [AVR] Support most address space casts

All hardware address spaces on AVR can be freely cast between (they keep
the same bit pattern). They just aren't dereferenceable when they're in
a different address space as they really do point to a separate address
space.

This is supported in avr-gcc: https://godbolt.org/z/9Gfvhnhv9

avr-gcc also supports the `__memx` address space which is 24 bits. We
don't support this address space yet but I've added a safeguard just in
case.

Differential Revison: https://reviews.llvm.org/D142107




More information about the All-commits mailing list