<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    The documents John mentions are highly useful.  I'm actually doing
    this - and find the source in various other architecture subtrees to
    be invaluable - lib/Target/<target>.  Our machine is a 64-bit
    RISC machine, so reading the PPC/Mips/Sparc code is useful.  For
    some instructions, ARM has been useful (pre/post
    increment/decrement).<br>
    <br>
    If this is a commercial effort, Synopsys makes a tool called
    Processor Designer which can take you quite a ways to doing this.<br>
    <br>
    Best of Luck,<br>
    <br>
        Richard Gorton<br>
        <a class="moz-txt-link-abbreviated" href="http://www.cog-e.com">www.cog-e.com</a><br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 6/6/2014 10:53 AM, John Criswell
      wrote:<br>
    </div>
    <blockquote cite="mid:5391D5F7.3060908@illinois.edu" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">Dear Pratik,<br>
        <br>
        What I think you will want to do is to create a new assembler
        and a new code generator for your architecture.  This, I
        suspect, means that you'll need to understand how to describe
        your architecture's instruction set using TableGen, how to
        create an assembler using the MC interface, and how to build a
        code generator.<br>
        <br>
        My best suggestion is to start looking at the documentation
        "Writing an LLVM Backend" and "The LLVM Target-Dependent Code
        Generator" at <a moz-do-not-send="true"
          class="moz-txt-link-freetext" href="http://llvm.org/docs">http://llvm.org/docs</a>. 
        The "Tablegen" document may also help.  The links for these
        documents are at:<br>
        <br>
        <a moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://llvm.org/docs/WritingAnLLVMBackend.html">http://llvm.org/docs/WritingAnLLVMBackend.html</a><br>
        <a moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://llvm.org/docs/CodeGenerator.html">http://llvm.org/docs/CodeGenerator.html</a><br>
        <a moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://llvm.org/docs/TableGen/index.html">http://llvm.org/docs/TableGen/index.html</a><br>
        <br>
        As I have not written a new code generator from scratch myself,
        that's about all the help I can offer.  I suggest reading these
        documents (if you have not already) and then write the list with
        more specific questions as needed.<br>
        <br>
        Good luck,<br>
        <br>
        John Criswell<br>
        <br>
        <br>
        On 6/4/14, 3:37 AM, pratik dand wrote:<br>
      </div>
      <blockquote
cite="mid:CAJFa+mQgQ4iFAnd0DrYK99MTj3Xnirv0Md1iTvPfd6_P8AvuEQ@mail.gmail.com"
        type="cite">
        <meta http-equiv="Content-Type" content="text/html;
          charset=ISO-8859-1">
        <div dir="ltr">
          <div>
            <div>
              <div>
                <div>
                  <div>Dear,<br>
                    <br>
                  </div>
                  I am looking to build a compiler-assembler with a
                  custom architecture. <br>
                </div>
                I have a new Instruction set defined with me and I would
                like atleast my C programs to get converted to assembly
                language corresponding to the custom architecture.<br>
                <br>
              </div>
              I have been going through llvm and its resources on the
              web, Can any one of you offer guidance about the above
              problem.<br>
              <br>
            </div>
            All I want is to develop a tool which can take in a custom
            architecture and assemble all programs corresponding to the
            architecture.<br>
            <br>
          </div>
          Regards, <br>
          <div>
            <div>
              <div>
                <div>
                  <div>Pratik
                    <div><br>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a moz-do-not-send="true" 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>
      <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>