<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<blockquote type="cite">
  <pre wrap="">The patterns are identical since the types of operands
involved are the same.</pre>
</blockquote>
This looks like the case since the I32RC and P32RC are both based on
i32. Then, how can I make LLVM assign the pointer class to the register?<br>
<br>
I just saw that ScheduleDAGSDNodesEmit.cpp in getInstrOperandRegCLass()
where there's a check of the operand's flag. If the flag has the
LookupPtrRegClass bit set then it looks like the target gets to return
the pointer class to be used for the register. Is this the right way to
proceed and if so how do I set the flag for an instruction?<br>
<br>
Thanks,<br>
Javier<br>
<br>
On 7/6/2009 2:59 AM, Anton Korobeynikov wrote:
<blockquote
 cite="mid:b087fca00907060259s105e6019kd80600227df66d1e@mail.gmail.com"
 type="cite">
  <pre wrap="">Hello, Everyone

  </pre>
  <blockquote type="cite">
    <pre wrap="">TargetSelectoinDAG.td and then why the two versions are "identical" in
TableGen's mind.
    </pre>
  </blockquote>
  <pre wrap=""><!---->That's correct. The patterns are identical since the types of operands
involved are the same. DAG pattern matching is done before regalloc,
there are not regclasses actually at that point, thus both patterns
tries to select the same thing...

  </pre>
</blockquote>
</body>
</html>