[llvm] r328687 - [ORC] Fix ORC on platforms without indirection support.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 28 07:44:22 PDT 2018


That's ok. I missed that too. I will revert now and add a fix it if it has
not already been reverted.

-- Lang.

On Tue, Mar 27, 2018 at 10:46 PM, Andres Freund <andres at anarazel.de> wrote:

> Hi,
>
> On 2018-03-28 03:41:45 -0000, Lang Hames via llvm-commits wrote:
> > Author: lhames
> > Date: Tue Mar 27 20:41:45 2018
> > New Revision: 328687
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=328687&view=rev
> > Log:
> > [ORC] Fix ORC on platforms without indirection support.
> >
> > Previously this crashed because a nullptr (returned by
> > createLocalIndirectStubsManagerBuilder() on platforms without
> > indirection support) functor was unconditionally invoked.
> >
> > Patch by Andres Freund. Thanks Andres!
> >  namespace llvm {
> > @@ -59,15 +61,20 @@ public:
> >        // If we found a TargetMachine, check that it's one that Orc
> supports.
> >        const Triple& TT = TM->getTargetTriple();
> >
> > -      if ((TT.getArch() != Triple::x86_64 && TT.getArch() !=
> Triple::x86) ||
> > -          TT.isOSWindows())
> > -        TM = nullptr;
> > +      // Target can JIT?
> > +      SupportsJIT = TM->getTarget().hasJIT();
> > +      // Use ability to create callback manager to detect whether Orc
> > +      // has indirection support on this platform. This way the test
> > +      // and Orc code do not get out of sync.
> > +      SupportsIndirection = !!orc::createLocalCompileCallbackManager(TT,
> 0);
> >      }
>
> It seems this was, for a reason unknown to me, overly aggressive. The
> windows check appears to have been critical:
> http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_
> 64-scei-ps4-windows10pro-fast/builds/16121/steps/test/logs/stdio
>
> Sorry for that.
>
> - Andres
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180328/435a1c2e/attachment.html>


More information about the llvm-commits mailing list