Since everything in libfpvm now uses unique strings, we can compare strings for equality simply by comparing pointers. --- software/libfpvm/fpvm.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/software/libfpvm/fpvm.c b/software/libfpvm/fpvm.c index 87e938e..10a2ba7 100644 --- a/software/libfpvm/fpvm.c +++ b/software/libfpvm/fpvm.c @@ -15,7 +15,6 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include <string.h> #include <stdio.h> #include <base/version.h> @@ -121,14 +120,14 @@ static int lookup(struct fpvm_fragment *fragment, const char *sym) int i; for(i=0;i<fragment->nrenamings;i++) - if(strcmp(sym, fragment->renamings[i].sym) == 0) + if(sym == fragment->renamings[i].sym) return fragment->renamings[i].reg; for(i=0;i<fragment->nbindings;i++) if(fragment->bindings[i].isvar && - (strcmp(sym, fragment->bindings[i].b.v) == 0)) + (sym == fragment->bindings[i].b.v)) return i; for(i=0;i<fragment->ntbindings;i++) - if(strcmp(sym, fragment->tbindings[i].sym) == 0) + if(sym == fragment->tbindings[i].sym) return fragment->tbindings[i].reg; return FPVM_INVALID_REG; } @@ -151,7 +150,7 @@ static int rename_reg(struct fpvm_fragment *fragment, const char *sym, int reg) int i; for(i=0;i<fragment->nrenamings;i++) - if(strcmp(sym, fragment->renamings[i].sym) == 0) { + if(sym == fragment->renamings[i].sym) { fragment->renamings[i].reg = reg; return 1; } @@ -573,10 +572,12 @@ int fpvm_assign(struct fpvm_fragment *fragment, const char *dest, fragment_backup(fragment, &backup); + dest = unique(dest); + /* do not rename output X and Y */ use_renaming = fragment->vector_mode - && (strcmp(dest, fragment->tbindings[0].sym) != 0) - && (strcmp(dest, fragment->tbindings[1].sym) != 0); + && (dest == fragment->tbindings[0].sym) + && (dest == fragment->tbindings[1].sym); if(use_renaming) { dest_reg = fragment->next_sur; fragment->next_sur--; -- 1.7.1 _______________________________________________ http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org IRC: #milkymist@Freenode