[LLVMbugs] [Bug 20683] New: Create a Target description API which is able (and responsible) to parse all common options

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Aug 16 05:12:37 PDT 2014


            Bug ID: 20683
           Summary: Create a Target description API which is able (and
                    responsible) to parse all common options
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Target Description Classes
          Assignee: unassignedbugs at nondot.org
          Reporter: renato.golin at linaro.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Currently, code that parses assembly directives which have the exact same
syntax as command line options (ex. -mfpu and .fpu) are duplicated in LLVM and
Clang, because on both places the usage is restricted to a particular target
and it's hidden within target specific code. To avoid breaking tools when not
building certain backends, LLVM needs to keep everything else completely
independent of target specific classes.

Worse still, the classes that represent target specific options are also
duplicated in Clang, so this is not just two similar parsers, but the whole
arhc/subarch representation (features, options, behaviour) being duplicated.
But the target description in Clang is not tied up with target-specific
parsing, which is done at the driver level, on static local functions.

Duplicating the same code in clang and llvm, and worse still, other tools and
external third-party tools, is far from ideal and will generate conflicts,
bit-rot and other problems that we're already seeing. Therefore, we need a
target-specific API that both LLVM and tools can use, which mean the same thing
and can parse the same syntax (or be specific about different syntaxes meaning
the same thing).

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140816/3a6ec8df/attachment.html>

More information about the llvm-bugs mailing list