<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 3/12/14 2:21 PM, Paul Vario wrote:<br>
    </div>
    <blockquote
cite="mid:CALdmFiV7v2F5Nodu9HWZsWxUYS=k5BXND6ttZzOzhriiQF-W8A@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>Hi Fellows,<br>
                <br>
              </div>
                  I tried to build and execute the poolalloc
              transformation on a simple C program, but I got the
              following error. My poolalloc is git-cloned from <a
                moz-do-not-send="true"
                href="https://github.com/llvm-mirror/poolalloc">https://github.com/llvm-mirror/poolalloc</a>
              (a LLVM 3.3 compatible repo). Any thoughts on how to fix
              it?<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    First, I'm not sure if we ever completed the port of poolalloc to
    LLVM 3.3.  You might want to try the release_32 branch of poolalloc
    and see if that works better.<br>
    <br>
    Second, the poolalloc transform has probably experienced some
    bit-rot over the past few years as we don't actively use it in the
    SAFECode compiler by default, so I'm not sure how robust it is
    anymore.<br>
    <br>
    You might want to take a look at Daniel Huang's paper (if you have
    online access to Springer papers); he might have used the poolalloc
    code for his project:<br>
    <br>
    <a class="moz-txt-link-freetext" href="http://link.springer.com/chapter/10.1007/978-3-319-03545-1_14">http://link.springer.com/chapter/10.1007/978-3-319-03545-1_14</a><br>
    <br>
    John Criswell<br>
    <br>
    <blockquote
cite="mid:CALdmFiV7v2F5Nodu9HWZsWxUYS=k5BXND6ttZzOzhriiQF-W8A@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <br>
              <br>
              <a class="moz-txt-link-abbreviated" href="mailto:PV@PV-h8-1280t:~/LLVM/llvm-3.3.src/projects/poolalloc$">PV@PV-h8-1280t:~/LLVM/llvm-3.3.src/projects/poolalloc$</a> opt
              -S -load ./Debug+Asserts/lib/LLVMDataStructure.so -load
              ./Debug+Asserts/lib/poolalloc.so -poolalloc < test.ll <br>
              Pool allocating 0 global nodes!<br>
              0  opt             0x00000000017381de
              llvm::sys::PrintStackTrace(_IO_FILE*) + 46<br>
              1  opt             0x000000000173849b<br>
              2  opt             0x000000000173870e<br>
              3  libpthread.so.0 0x00007f6f5d570cb0<br>
              4  poolalloc.so    0x00007f6f5bf73cbf
              llvm::PA::Heuristic::getLocalPoolNodes(llvm::Function
              const&, std::vector<llvm::DSNode const*,
              std::allocator<llvm::DSNode const*> >&) + 31<br>
              5  poolalloc.so    0x00007f6f5bfb8279
              llvm::PoolAllocate::ProcessFunctionBody(llvm::Function&,
              llvm::Function&) + 633<br>
              6  poolalloc.so    0x00007f6f5bfb5b80
              llvm::PoolAllocate::runOnModule(llvm::Module&) + 1312<br>
              7  opt             0x00000000016ad00a
              llvm::MPPassManager::runOnModule(llvm::Module&) + 634<br>
              8  opt             0x00000000016ad7be
              llvm::PassManagerImpl::run(llvm::Module&) + 302<br>
              9  opt             0x00000000016ada11
              llvm::PassManager::run(llvm::Module&) + 33<br>
              10 opt             0x000000000063e5c1 main + 6609<br>
              11 libc.so.6       0x00007f6f5c5a076d __libc_start_main +
              237<br>
              12 opt             0x000000000062fb75<br>
              Stack dump:<br>
              0.    Program arguments: opt -S -load
              ./Debug+Asserts/lib/LLVMDataStructure.so -load
              ./Debug+Asserts/lib/poolalloc.so -poolalloc <br>
              1.    Running pass 'Pool allocate disjoint data
              structures' on module '<stdin>'.<br>
              drive_all.sh: line 3:  5947 Segmentation fault      (core
              dumped) opt -S -load
              ./Debug+Asserts/lib/LLVMDataStructure.so -load
              ./Debug+Asserts/lib/poolalloc.so -poolalloc < test.ll<br>
              <br>
               <br>
              <br>
            </div>
            P.S. The input C program is the program listed in Figure 1
            of Chris Lattner's PLDI 2005 paper.<br>
            <br>
            <br>
          </div>
          Best,<br>
        </div>
        Paul<br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>