[LLVMdev] Question about circular dependency checker
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,
>>> complains of a circular dependency error between libCore and
>>> 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
>>> 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
>>> than Support?
>> If you need the includes, and you probably do, then you have no
>> 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
> what IRBuilder does, only for source-level debugging info.
>> Kevin André
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev