From 5ed5506f18fcc0a277c863f7a21b39f58e892ca5 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Fri, 11 Nov 2011 00:23:56 +0000 Subject: [PATCH] LLVMBuild: Add explicit information on whether targets define an assembly printer, assembly parser, or disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144344 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/LLVMBuild.html | 6 +++++ lib/Target/ARM/LLVMBuild.txt | 3 +++ lib/Target/CellSPU/LLVMBuild.txt | 1 + lib/Target/MBlaze/LLVMBuild.txt | 3 +++ lib/Target/MSP430/LLVMBuild.txt | 1 + lib/Target/Mips/LLVMBuild.txt | 1 + lib/Target/PTX/LLVMBuild.txt | 1 + lib/Target/PowerPC/LLVMBuild.txt | 1 + lib/Target/Sparc/LLVMBuild.txt | 1 + lib/Target/X86/LLVMBuild.txt | 3 +++ lib/Target/XCore/LLVMBuild.txt | 1 + utils/llvm-build/llvmbuild/componentinfo.py | 26 +++++++++++++++++---- 12 files changed, 44 insertions(+), 4 deletions(-) diff --git a/docs/LLVMBuild.html b/docs/LLVMBuild.html index 1616b2d4593..2f06e30bd0e 100644 --- a/docs/LLVMBuild.html +++ b/docs/LLVMBuild.html @@ -292,6 +292,12 @@ required_libraries = Archive BitReader Core Support TransformUtils

Components with this type use the LibraryGroup properties in addition to:

diff --git a/lib/Target/ARM/LLVMBuild.txt b/lib/Target/ARM/LLVMBuild.txt index 79cae91f5b9..9082539bf50 100644 --- a/lib/Target/ARM/LLVMBuild.txt +++ b/lib/Target/ARM/LLVMBuild.txt @@ -19,6 +19,9 @@ type = TargetGroup name = ARM parent = Target +has_asmparser = 1 +has_asmprinter = 1 +has_disassembler = 1 has_jit = 1 [component_1] diff --git a/lib/Target/CellSPU/LLVMBuild.txt b/lib/Target/CellSPU/LLVMBuild.txt index a2127dd1c00..4ae26b26b95 100644 --- a/lib/Target/CellSPU/LLVMBuild.txt +++ b/lib/Target/CellSPU/LLVMBuild.txt @@ -19,6 +19,7 @@ type = TargetGroup name = CellSPU parent = Target +has_asmprinter = 1 [component_1] type = Library diff --git a/lib/Target/MBlaze/LLVMBuild.txt b/lib/Target/MBlaze/LLVMBuild.txt index fa8955252d8..f1a3f5d4a28 100644 --- a/lib/Target/MBlaze/LLVMBuild.txt +++ b/lib/Target/MBlaze/LLVMBuild.txt @@ -19,6 +19,9 @@ type = TargetGroup name = MBlaze parent = Target +has_asmparser = 1 +has_asmprinter = 1 +has_disassembler = 1 [component_1] type = Library diff --git a/lib/Target/MSP430/LLVMBuild.txt b/lib/Target/MSP430/LLVMBuild.txt index 9ade1106688..024312b9e3c 100644 --- a/lib/Target/MSP430/LLVMBuild.txt +++ b/lib/Target/MSP430/LLVMBuild.txt @@ -19,6 +19,7 @@ type = TargetGroup name = MSP430 parent = Target +has_asmprinter = 1 [component_1] type = Library diff --git a/lib/Target/Mips/LLVMBuild.txt b/lib/Target/Mips/LLVMBuild.txt index 65c7d7fd2f0..e733b52fe38 100644 --- a/lib/Target/Mips/LLVMBuild.txt +++ b/lib/Target/Mips/LLVMBuild.txt @@ -19,6 +19,7 @@ type = TargetGroup name = Mips parent = Target +has_asmprinter = 1 has_jit = 1 [component_1] diff --git a/lib/Target/PTX/LLVMBuild.txt b/lib/Target/PTX/LLVMBuild.txt index 180e7ce82cc..27807e6930a 100644 --- a/lib/Target/PTX/LLVMBuild.txt +++ b/lib/Target/PTX/LLVMBuild.txt @@ -19,6 +19,7 @@ type = TargetGroup name = PTX parent = Target +has_asmprinter = 1 [component_1] type = Library diff --git a/lib/Target/PowerPC/LLVMBuild.txt b/lib/Target/PowerPC/LLVMBuild.txt index ce8b2e9196a..5baa9886bef 100644 --- a/lib/Target/PowerPC/LLVMBuild.txt +++ b/lib/Target/PowerPC/LLVMBuild.txt @@ -19,6 +19,7 @@ type = TargetGroup name = PowerPC parent = Target +has_asmprinter = 1 has_jit = 1 [component_1] diff --git a/lib/Target/Sparc/LLVMBuild.txt b/lib/Target/Sparc/LLVMBuild.txt index d99057f20b2..38c797f6b27 100644 --- a/lib/Target/Sparc/LLVMBuild.txt +++ b/lib/Target/Sparc/LLVMBuild.txt @@ -19,6 +19,7 @@ type = TargetGroup name = Sparc parent = Target +has_asmprinter = 1 [component_1] type = Library diff --git a/lib/Target/X86/LLVMBuild.txt b/lib/Target/X86/LLVMBuild.txt index 814e81b304b..514566c257e 100644 --- a/lib/Target/X86/LLVMBuild.txt +++ b/lib/Target/X86/LLVMBuild.txt @@ -19,6 +19,9 @@ type = TargetGroup name = X86 parent = Target +has_asmparser = 1 +has_asmprinter = 1 +has_disassembler = 1 has_jit = 1 [component_1] diff --git a/lib/Target/XCore/LLVMBuild.txt b/lib/Target/XCore/LLVMBuild.txt index f1b75740cbe..1f7e2d5d0a3 100644 --- a/lib/Target/XCore/LLVMBuild.txt +++ b/lib/Target/XCore/LLVMBuild.txt @@ -19,6 +19,7 @@ type = TargetGroup name = XCore parent = Target +has_asmprinter = 1 [component_1] type = Library diff --git a/utils/llvm-build/llvmbuild/componentinfo.py b/utils/llvm-build/llvmbuild/componentinfo.py index 6897d10f31a..b9a2d4f1dce 100644 --- a/utils/llvm-build/llvmbuild/componentinfo.py +++ b/utils/llvm-build/llvmbuild/componentinfo.py @@ -198,10 +198,18 @@ class TargetGroupComponentInfo(ComponentInfo): kwargs['add_to_library_groups'] = items.get_list( 'add_to_library_groups') kwargs['has_jit'] = items.get_optional_bool('has_jit', False) + kwargs['has_asmprinter'] = items.get_optional_bool('has_asmprinter', + False) + kwargs['has_asmparser'] = items.get_optional_bool('has_asmparser', + False) + kwargs['has_disassembler'] = items.get_optional_bool('has_disassembler', + False) return TargetGroupComponentInfo(subpath, **kwargs) def __init__(self, subpath, name, parent, required_libraries = [], - add_to_library_groups = [], has_jit = False): + add_to_library_groups = [], has_jit = False, + has_asmprinter = False, has_asmparser = False, + has_disassembler = False): ComponentInfo.__init__(self, subpath, name, [], parent) # The names of the library components which are required when linking @@ -215,6 +223,15 @@ class TargetGroupComponentInfo(ComponentInfo): # Whether or not this target supports the JIT. self.has_jit = bool(has_jit) + # Whether or not this target defines an assembly printer. + self.has_asmprinter = bool(has_asmprinter) + + # Whether or not this target defines an assembly parser. + self.has_asmparser = bool(has_asmparser) + + # Whether or not this target defines an disassembler. + self.has_disassembler = bool(has_disassembler) + # Whether or not this target is enabled. This is set in response to # configuration parameters. self.enabled = False @@ -238,9 +255,10 @@ class TargetGroupComponentInfo(ComponentInfo): if self.add_to_library_groups: print >>result, 'add_to_library_groups = %s' % ' '.join( self.add_to_library_groups) - if self.has_jit: - print >>result, 'has_jit = %s' % ' '.join( - int(self.has_jit)) + for bool_key in ('has_asmparser', 'has_asmprinter', 'has_disassembler', + 'has_jit'): + if getattr(self, bool_key): + print >>result, '%s = 1' % (bool_key,) return result.getvalue() def get_llvmconfig_component_name(self):