This addresses bug https://github.com/llvm/llvm-project/issues/54022. For now this means that defined functions will have two .functype directives emitted. Given discussion in that bug has suggested interest
in moving towards using something other than .functype to mark the beginning of a function (which would, as a side-effect, solve this issue), this patch doesn't attempt to avoid that duplication.
Some test cases that used CHECK-LABEL: foo rather than CHECK-LABEL: foo: are broken by this change. This patch updates those test cases to always have a colon at the end of the CHECK-LABEL string.
Can you just change this to byval_arg: instead? (i.e. add a colon)