[llvm-commits] [llvm] r89841 - in /llvm/trunk: Makefile Makefile.rules cmake/modules/LLVMConfig.cmake include/llvm/Target/TargetSelect.h tools/llvm-config/llvm-config.in.in

Nick Lewycky nlewycky at google.com
Tue Jan 26 15:33:11 PST 2010


Dan, this is causing "llvm-config --libs native jit" to emit
-lLLVMX86Disassembler, which we don't want.

It's not clear to me why we have this case in the first place (I realize you
merely extended existing logic) and the FIXME comment isn't sufficiently
clarifying for me. It's low priority, but this is one of the many things
blocking unladen-swallow integration with mainline python.

Nick

On 24 November 2009 20:46, Daniel Dunbar <daniel at zuster.org> wrote:

> Author: ddunbar
> Date: Tue Nov 24 22:46:58 2009
> New Revision: 89841
>
> URL: http://llvm.org/viewvc/llvm-project?rev=89841&view=rev
> Log:
> Add the rest of the build system logic for optional target disassemblers
>
> Modified:
>    llvm/trunk/Makefile
>    llvm/trunk/Makefile.rules
>    llvm/trunk/cmake/modules/LLVMConfig.cmake
>    llvm/trunk/include/llvm/Target/TargetSelect.h
>    llvm/trunk/tools/llvm-config/llvm-config.in.in
>
> Modified: llvm/trunk/Makefile
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile?rev=89841&r1=89840&r2=89841&view=diff
>
>
> ==============================================================================
> --- llvm/trunk/Makefile (original)
> +++ llvm/trunk/Makefile Tue Nov 24 22:46:58 2009
> @@ -155,9 +155,11 @@
>  FilesToConfig := \
>   include/llvm/Config/config.h \
>   include/llvm/Config/Targets.def \
> -       include/llvm/Config/AsmPrinters.def \
> +  include/llvm/Config/AsmPrinters.def \
> +  include/llvm/Config/AsmParsers.def \
> +  include/llvm/Config/Disassemblers.def \
>   include/llvm/System/DataTypes.h \
> -       tools/llvmc/plugins/Base/Base.td
> +  tools/llvmc/plugins/Base/Base.td
>  FilesToConfigPATH  := $(addprefix $(LLVM_OBJ_ROOT)/,$(FilesToConfig))
>
>  all-local:: $(FilesToConfigPATH)
>
> Modified: llvm/trunk/Makefile.rules
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.rules?rev=89841&r1=89840&r2=89841&view=diff
>
>
> ==============================================================================
> --- llvm/trunk/Makefile.rules (original)
> +++ llvm/trunk/Makefile.rules Tue Nov 24 22:46:58 2009
> @@ -1565,6 +1565,11 @@
>        $(Echo) "Building $(<F) DAG instruction selector implementation with
> tblgen"
>        $(Verb) $(TableGen) -gen-dag-isel -o $(call SYSPATH, $@) $<
>
> +$(TARGET:%=$(ObjDir)/%GenDisassemblerTables.inc.tmp): \
> +$(ObjDir)/%GenDisassemblerTables.inc.tmp : %.td $(ObjDir)/.dir
> +       $(Echo) "Building $(<F) disassembly tables with tblgen"
> +       $(Verb) $(TableGen) -gen-disassembler -o $(call SYSPATH, $@) $<
> +
>  $(TARGET:%=$(ObjDir)/%GenFastISel.inc.tmp): \
>  $(ObjDir)/%GenFastISel.inc.tmp : %.td $(ObjDir)/.dir
>        $(Echo) "Building $(<F) \"fast\" instruction selector implementation
> with tblgen"
>
> Modified: llvm/trunk/cmake/modules/LLVMConfig.cmake
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/LLVMConfig.cmake?rev=89841&r1=89840&r2=89841&view=diff
>
>
> ==============================================================================
> --- llvm/trunk/cmake/modules/LLVMConfig.cmake (original)
> +++ llvm/trunk/cmake/modules/LLVMConfig.cmake Tue Nov 24 22:46:58 2009
> @@ -32,7 +32,7 @@
>  function(explicit_map_components_to_libraries out_libs)
>   set( link_components ${ARGN} )
>   foreach(c ${link_components})
> -    # add codegen, asmprinter, asmparser
> +    # add codegen, asmprinter, asmparser, disassembler
>     list(FIND LLVM_TARGETS_TO_BUILD ${c} idx)
>     if( NOT idx LESS 0 )
>       list(FIND llvm_libs "LLVM${c}CodeGen" idx)
> @@ -58,6 +58,10 @@
>       if( NOT asmidx LESS 0 )
>         list(APPEND expanded_components "LLVM${c}Info")
>       endif()
> +      list(FIND llvm_libs "LLVM${c}Disassembler" asmidx)
> +      if( NOT asmidx LESS 0 )
> +        list(APPEND expanded_components "LLVM${c}Disassembler")
> +      endif()
>     elseif( c STREQUAL "native" )
>       list(APPEND expanded_components "LLVM${LLVM_NATIVE_ARCH}CodeGen")
>     elseif( c STREQUAL "nativecodegen" )
>
> Modified: llvm/trunk/include/llvm/Target/TargetSelect.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetSelect.h?rev=89841&r1=89840&r2=89841&view=diff
>
>
> ==============================================================================
> --- llvm/trunk/include/llvm/Target/TargetSelect.h (original)
> +++ llvm/trunk/include/llvm/Target/TargetSelect.h Tue Nov 24 22:46:58 2009
> @@ -33,6 +33,10 @@
>   // Declare all of the available assembly parser initialization functions.
>  #define LLVM_ASM_PARSER(TargetName) void
> LLVMInitialize##TargetName##AsmParser();
>  #include "llvm/Config/AsmParsers.def"
> +
> +  // Declare all of the available disassembler initialization functions.
> +#define LLVM_DISASSEMBLER(TargetName) void
> LLVMInitialize##TargetName##Disassembler();
> +#include "llvm/Config/Disassemblers.def"
>  }
>
>  namespace llvm {
> @@ -79,6 +83,16 @@
>  #include "llvm/Config/AsmParsers.def"
>   }
>
> +  /// InitializeAllDisassemblers - The main program should call this
> function if
> +  /// it wants all disassemblers that LLVM is configured to support, to
> make
> +  /// them available via the TargetRegistry.
> +  ///
> +  /// It is legal for a client to make multiple calls to this function.
> +  inline void InitializeAllDisassemblers() {
> +#define LLVM_DISASSEMBLER(TargetName)
> LLVMInitialize##TargetName##Disassembler();
> +#include "llvm/Config/Disassemblers.def"
> +  }
> +
>   /// InitializeNativeTarget - The main program should call this function
> to
>   /// initialize the native target corresponding to the host.  This is
> useful
>   /// for JIT applications to ensure that the target gets linked in
> correctly.
>
> Modified: llvm/trunk/tools/llvm-config/llvm-config.in.in
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-config/llvm-config.in.in?rev=89841&r1=89840&r2=89841&view=diff
>
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-config/llvm-config.in.in (original)
> +++ llvm/trunk/tools/llvm-config/llvm-config.in.in Tue Nov 24 22:46:58
> 2009
> @@ -333,6 +333,10 @@
>         if (defined $NAME_MAP{$target.'asmparser'}) {
>             push @{$NAME_MAP{$target}},$target.'asmparser'
>         }
> +
> +        if (defined $NAME_MAP{$target.'disassembler'}) {
> +            push @{$NAME_MAP{$target}},$target.'disassembler'
> +        }
>     }
>
>     # Add virtual entries.
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100126/92aa407a/attachment.html>


More information about the llvm-commits mailing list