From: SourceForge.net <no...@so...> - 2008-07-13 09:36:12
|
Bugs item #1570701, was opened at 2006-10-04 16:01 Message generated for change (Comment added) made by spth You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1570701&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Icode generator Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: dfulab (dfulab) Assigned to: Nobody/Anonymous (nobody) Summary: peephole - not replacing code from multiline macros Initial Comment: Issue: If a code sequence tom be replaced is from a multi-line macro, peephole doesn't see it. Source: sdcc-src-2.6.0.tar.gz, Win32 VC++ 6.0. with the following "fixes" to compile. - fixing LF to CR/LF in VC++ project file: sdcc.dsw - replacing references to "afxres.h" with "winres.h" in support\scripts\resource.rc (VC++ issue when mfc not installed) How to reproduce it: - Replace src\z80\peeph.def with supplied peeph.def and Rebuild - compile with command: sdcc -mz80 test.c (ignore error messages as they are unrelated) Input: !ldahlsp macro (from src\z80\mappings.i) is used during code generation { "ldahlsp", "ld hl,#%d\n" "\tadd\thl,sp" }, - peeph.def has one rule that targets the expanded code replace { ld hl,%1 add hl,sp } by { ;fake test rule ldahlsp %1 } Output: test.asm, lines: 53-56 add ix,sp ld hl,#-2048 \ these are expanded macro add hl,sp / ld sp,hl The expanded macro should have been replaced by ldahlsp %-2048 (Note: ldahlsp is my made up instruction) ---------------------------------------------------------------------- >Comment By: Philipp Krause (spth) Date: 2008-07-13 11:36 Message: Logged In: YES user_id=564030 Originator: NO This is the same as RFE #1921731, which has some more details. ---------------------------------------------------------------------- Comment By: Borut Raem (borutr) Date: 2006-10-05 21:43 Message: Logged In: YES user_id=568035 Fixed the first two issues: - sdcc.dsw: changed property eol-style to CRLF - support/scripts/resource.rc: replaced references to "afxres.h" with "winres.h" Borut ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1570701&group_id=599 |