Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The ordering of operands can not be determined by looking at a rule. Especially if a match rule matches several different trees, several nodes are generated from one instruct specification with different operand orderings. In this case the adlc generated variables are the only way to access the ins and operands deterministically.

Example

Below

...

you

...

find

...

an

...

example

...

how

...

to

...

use

...

late

...

expand

...

for

...

the

...

sparc.ad

...

file.

...

Further

...

down

...

you

...

see

...

the

...

code

...

generated

...

by

...

adlc.

...

Perhaps

...

you

...

can

...

find

...

better

...

use

...

cases

...

for

...

this

...

feature.
               

...


---

...

a/src/cpu/sparc/vm/sparc.ad  

...

2012-11-21

...

12:27:04.591486000

...

+0100      

...


+++

...

b/src/cpu/sparc/vm/sparc.ad   

...

2012-11-19

...

14:45:15.059452000

...

+0100                         

...


@@

...

-1933,7

...

+1937,7

...

@@                                                                            

...


 }                                                                                               

 // Does the CPU require late expand (see block.cpp for description of late expand)?
-const bool Matcher::require_late_expand = false;
+const bool Matcher::require_late_expand = true;

...