fixed bug: Wrong opcode range was requested in be
[libfirm] / ir / be / beraextern.c
index 5a75d9f..36305a6 100644 (file)
  */
 
 /**
- * Author:      Daniel Grund
- * Date:               17.01.2006
- * Copyright:   (c) Universitaet Karlsruhe
- * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
- *
- * Implementation of the RA-Interface for an external, (non-SSA) register allocator.
+ * @file
+ * @brief       Implementation of the RA-Interface for an external, (non-SSA) register allocator.
+ * @author      Daniel Grund
+ * @date        17.01.2006
+ * @version     $Id$
  *
  * The external register allocator is a program:
  *    PROG -i INPUTFILE -o OUTPUTFILE
@@ -70,8 +69,7 @@ allocs                ::= 'allocs' alloc* .
 
 alloc          ::= node-nr reg-nr .
 
-
-******** End of file format docu ********/
+*/
 #ifdef NOT_PORTED
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -99,7 +97,6 @@ alloc         ::= node-nr reg-nr .
 #include "phiclass.h"
 
 #include "bemodule.h"
-#include "beraextern.h"
 #include "beabi.h"
 #include "bearch_t.h"
 #include "benode_t.h"
@@ -432,7 +429,7 @@ static void dump_affinities_walker(ir_node *irn, void *env) {
                req = arch_get_register_req(raenv->aenv, irn, pos);
 
                if (arch_register_req_is(req, should_be_same)) {
-                       ir_node *other = get_irn_n(irn, req->other_same);
+                       ir_node *other = get_irn_n(skip_Proj(irn), req->other_same);
                        if(arch_irn_is(raenv->aenv, other, ignore)) {
                                vi2 = be_get_var_info(other);
 
@@ -832,4 +829,4 @@ void be_init_raextern(void) {
 }
 BE_REGISTER_MODULE_CONSTRUCTOR(be_init_raextern);
 
-#endif
+#endif /* NOT_PORTED */