[all-commits] [llvm/llvm-project] 339b34: [AVR] Respect the 'interrupt' function attribute
Dylan McKay via All-commits
all-commits at lists.llvm.org
Mon Mar 30 23:03:58 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 339b34266c1b54a9b5ff2f83cfb1da9cd8c9d90a
https://github.com/llvm/llvm-project/commit/339b34266c1b54a9b5ff2f83cfb1da9cd8c9d90a
Author: Dylan McKay <me at dylanmckay.io>
Date: 2020-03-31 (Tue, 31 Mar 2020)
Changed paths:
M llvm/lib/Target/AVR/AVRFrameLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/AVR/AVRMachineFunctionInfo.h
M llvm/lib/Target/AVR/AVRRegisterInfo.cpp
M llvm/test/CodeGen/AVR/interrupts.ll
Log Message:
-----------
[AVR] Respect the 'interrupt' function attribute
In the past, AVR functions were only lowered with interrupt-specific
machine code if the function was defined with the "avr-interrupt" or
"avr-signal" calling conventions.
This patch modifies the backend so that if the function does not have a
special calling convention, but does have an "interrupt" attribute,
that function is interpreted as a function with interrupts.
This also extracts the "is this function an interrupt" logic from
several disparate places in the backend into one AVRMachineFunctionInfo
attribute.
Bug found by Wilhelm Meier.
More information about the All-commits
mailing list