[patch] Remove cyclic dependency in AArch64 backend

Benjamin Kramer benny.kra at gmail.com
Tue Feb 5 05:10:46 PST 2013


On 04.02.2013, at 18:39, Tim Northover <t.p.northover at gmail.com> wrote:

> Hi there,
> 
> It's been pointed out that the AArch64 backend has a cyclic library
> dependency (AsmPrinter depends on Desc and vice-versa).
> 
> This is because Desc needs to know about AsmPrinter for the
> "createXXX" functions. On the other hand AsmPrinter currently uses
> architecture-aware bit-twiddling defined in Desc ("Does this string
> represent a system register?", "Is this floating-point immediate
> representable?", ...).
> 
> However, it causes build failures on OSX shared builds. This patch
> moves those utility functions into a separate "Utils" library (similar
> to X86), that has no dependency on any other part of AArch64.
> 
> Does the approach and code look right?

LGTM!

> Tim.
> 
> P.S. Apologies for any build failures caused by this issue. I would
> have preferred to revert the change than leave LLVM in this state, but
> the maintenance snuck up on me.

No worries, few people depend on the dependency graph by cycle-free currently ;)

- Ben





More information about the llvm-commits mailing list