[PATCH] D61259: AArch64: support arm64_32, an ILP32 slice for watchOS.

Tim Northover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 8 05:29:41 PDT 2019


t.p.northover marked an inline comment as done.
t.p.northover added inline comments.


================
Comment at: llvm/test/CodeGen/AArch64/win64_vararg.ll:271
+; CHECK: mov     x1, [[REG2]]
+; CHECK: mov     x3, [[REG3]]
 ; CHECK: str     x30, [sp, #16]
----------------
t.p.northover wrote:
> efriedma wrote:
> > There isn't any obvious reason for this test to change?
> I think it's because of the `std::map` change you called out above. It implicitly sorts the list of registers that get copied, perturbing the DAG and scheduling.
> 
> I think I'll switch it back to `SmallVector` and use `std::find_if` to handle the (rare) ARM compatibility instead. It ought to be faster in the common case and won't have this side-effect.
Well, as you can see that accounted for a lot of the differences, but the `fmov`s still get reordered w.r.t. the store. I have no idea why this is: the DAG is identical and I'm reasonably sure it's harmless so I blame gremlins.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61259/new/

https://reviews.llvm.org/D61259





More information about the llvm-commits mailing list