[LLVMdev] Question about circular dependency checker

Gordon Henriksen gordonhenriksen at mac.com
Thu Jun 5 04:30:56 PDT 2008


CodeGen, since it depends on MachineModuleInfo.

On 2008-06-05, at 04:06, Talin wrote:

> HyperQuantum wrote:
>> I'm not a LLVM developer, but I'll give it a try...
>>
>> On Wed, Jun 4, 2008 at 9:12 AM, Talin <viridia at gmail.com> wrote:
>>
>>
>>> I went and added a new file to the "Support"
>>> directory (in include and lib). However, when I try to compile it,  
>>> it
>>> complains of a circular dependency error between libCore and  
>>> libSupport:
>>>
>>>   find-cycles.pl: Circular dependency between *.a files:
>>>   find-cycles.pl:   libLLVMCore.a libLLVMSupport.a
>>>
>>> The odd part is, that no other file in LLVM even references my  
>>> header,
>>> so I'm not sure where the cycle is.
>>>
>>
>> The problem is not other code depending on your files directly. The
>> "Support" library consists (AFAIK) of utility code that is used
>> everywhere in other LLVM libraries. So you cannot add code to the
>> "Support" library that calls code in other LLVM libraries on a higher
>> level, like "VMCore", without introducing a circular dependency
>> between the libraries.
>>
>>
>>> The headers that I am including in my .cpp file are:
>>>
>>>   #include <llvm/DerivedTypes.h>
>>>   #include <llvm/Constants.h>
>>>   #include <llvm/GlobalVariable.h>
>>>   #include <llvm/Module.h>
>>>   #include <llvm/CodeGen/MachineModuleInfo.h>
>>>   #include <llvm/Support/Dwarf.h>
>>>   #include <llvm/System/Path.h>
>>>
>>
>> There's your problem.
>>
>>
>>> Any ideas? Am I going to have to put my .cpp file in some library  
>>> other
>>> than Support?
>>>
>>
>> If you need the includes, and you probably do, then you have no  
>> choice
>> but to put your code in another library.
>>
> All right, then, which library should it go in to? I wanted it to go
> into "Support" because logically it is a sibling of IRBuilder - it  
> does
> what IRBuilder does, only for source-level debugging info.
>> Regards,
>> Kevin André
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



— Gordon





More information about the llvm-dev mailing list