PATypeHolder, refineAbstractTypeTo(), addTypeName not found

I am following the code of the project https://llvm.org/svn/llvm-project/java/trunk/lib/Compiler/Resolver.cpp,

But some class/function of it is not present in my source code due to replacement of this function in newer llvm verion. Can someone please suggest me the alternative approach of these function in latest llvm version. Here are those classes and functions :

  1. PATypeHolder

  2. refineAbstractTypeTo()

  3. addTypeName()

  4. getLayoutType()

  5. getInterfaceIndex()

  6. OpaqueType::get()

Many thanks in advance.

With Regards,
Ratnesh Tiwari

I am following the code of the project https://llvm.org/svn/llvm-project/java/trunk/lib/Compiler/Resolver.cpp,

But some class/function of it is not present in my source code due to replacement of this function in newer llvm verion. Can someone please suggest me the alternative approach of these function in latest llvm version. Here are those classes and functions :

  1. PATypeHolder

  2. refineAbstractTypeTo()

  3. addTypeName()

  4. getLayoutType()

  5. getInterfaceIndex()

  6. OpaqueType::get()

  7. UShortTy

Please reply soon. Many thanks in advance.

With Regards,
Ratnesh Tiwari

Hi Ratnesh,

I am following the code of the project https://llvm.org/svn/llvm-project/java/trunk/lib/Compiler/Resolver.cpp,

But some class/function of it is not present in my source code due to replacement of this function in newer llvm verion. Can someone please suggest me the alternative approach of these function in latest llvm version. Here are those classes and functions :

I think you need to take a step back here and reconsider your
approach. Some of these are interfaces no-one has used in over a
decade, even the (relatively small) pool of people who were around in
the LLVM community back then won't remember the details.

If there were a few of these changes, people might be willing to do
some git archaeology to help you out, but you're going to hit hundreds
of these trying to update that project to work with a modern LLVM.
That's going to quickly burn through any goodwill the community has.

So I think you need to get comfortable digging through llvm's history
yourself: track down which revision removed or changed the interface
you're looking at and see how the rest of LLVM (and Clang) changed at
the time so that it still worked.

1) PATypeHolder

For example, just searching the "git log" here for PATypeHolder
quickly leads to Chris's change where he removed it: r134829. Looking
at the diff it's pretty clear it was mostly replaced with just "Type
*".

None of that's to say you shouldn't ask for help here. We'll do what
we can, but you're likely to get a more positive response if you've
clearly tried yourself and hit a stumbling block that we might know
about. Maybe when you've found the old and new interfaces, but don't
understand some aspect of how they differ; and I'm sure many other
cases I'm not thinking of.

Please reply soon. Many thanks in advance.

It's OK to ping questions like this in case people missed them first
time, but generally only after a week with no response.

Cheers.

Tim.

I remember that history, but reiterate Tim’s point. It is better to start over than to try to bring this codebase forward.

-Chris