From stuckey@mrcnext.cso.uiuc.edu Sun Nov 8 21:24:33 1992 Received: from calvin.sfasu.edu by umaxc.weeg.uiowa.edu (5.61.jnf/920629) on Sun, 8 Nov 92 21:24:30 -0600 id AA25491 with SMTP Received: from garcon.cso.uiuc.edu by calvin.sfasu.EDU with SMTP (5.59/25-eef) id AA12419; Tue, 27 Oct 92 22:49:56 CST Return-Path: Received: from mrcnext.cso.uiuc.edu by garcon.cso.uiuc.edu with SMTP id AA25624 (5.67a8+/IDA-1.5 for ); Tue, 27 Oct 1992 22:47:29 -0600 Received: by mrcnext.cso.uiuc.edu (NeXT-1.0 (From Sendmail 5.52)/NeXT-1.0) id AA04026; Tue, 27 Oct 92 22:45:46 CST Date: Tue, 27 Oct 92 22:45:46 CST From: stuckey@mrcnext.cso.uiuc.edu (Anthony J. Stuckey) Message-Id: <9210280445.AA04026@mrcnext.cso.uiuc.edu> To: hyperc-l@calvin.sfasu.edu Subject: Little thing I hacked up ... Status: R Notes on Jump.c By Anthony J. Stuckey, 10-27-92. Jump.c addresses one of the problem cases of HyperC's CP-code generation. It looks for cases where two consecutive instructions are jumps, and tries to combine them in such a way as to make one instruction out of them. This problem occurs at the end of some switch() statements, in for loops and some other places that use break, and potentially where goto's are used. This program is intended to be added to your "cc" script, just before either asmcp or mac. This program will run on any machine that will run HyperC. There's no charge for it, but comments are welcome at my address in the source. FiLeStArTfIlEsTaRt ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789() HJUMP.SHK AERUAAAACA(4KIAgAAAAAAAAAAAAAERUAQl( GVvTlzW6BQr1AAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAARBAAAAQEAAAAAAAA GVvTVwN2BAAPAMAABAAAA8CAAAw4AQAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAwAAAAAGAAAAAAAAAAIAAAABAAAAAAAAAAAAgMACAAAAIAA AAAAfgKANDAAAAwDNVlSD5CUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAJ4EAAsNAvEAEoBIVgKEAtpjmYgL4FJ6AhBxC4BI3Od4ApZjmRSJ9ML8A054G BQJ0hDTcpBBHJLCJjf2ADBBEYQLoMb48vlDyZgs6FY8UUFYQ5QK0NcSegYzGhSox NYwMjAJih68UnH5EmdTyEJJIjfKCvN6mhQp7MJ0ASgoHhi76MZY6vtoGhRI3rN38 kRrQpRZ5OaUEnhIn9JkRwcj2pMZnRzb6lfiOjYTGsqySrTympNDYdyE5knFaLuz0 (MSJpZSGwdLXVKS5lIAzzRZH0aq6OH5s4ABWZJ6nkunqslbmUSoWMO)kkh40pA(y OZ6MWwtac40jjw50tIOHJDb5gM749qMieb2O2kBLqBhWOJa2ue3EtiTXh98B8ptf bT44Eq96MtJbQAz6p00eowdiOazgJhBxaCzr7sqGQzYg7w4qpqu(uBqrNAtGiByx Py44jKk3UOfDF(qmoxd(aLCzDPhWgmYu3kmAaJUiKXgiptEdA9ej22I2aEpD)6Ij LynUNRRvBB9OsgHE2ojSNLrhUobjss(Q0AI520YrjDnyEjIM1mOyqZIkKUU8IqY) cPrjMNIe458NgQIEjQEvUOrrEGAcoieK1w4YjisykmSNEEAiA7dIYQ4AhipaibSt NKvGLpV(WnogBCJbqphBqMHkNHwP2g4AQoidWozDFmswwLtOxW40pjv6aYQhlGCG oidMQYywKiJeQfBDWHI8waEgCMbCiCSQqGCCFKEOtsYWRi94iiKnQGSiKKECFaRK GYYAhKgAOFLwBJjqIidrQww6OziuknaqKBL4gk9Ofe4QyAmEARhhFEKgQ4ei5Yry wBG46bKp2AtYM7RzZQwFIWK(J0lpN4iZKRJzmEWrXD(ZpM0X5gg2Cqt0c6Aajhkx mvdqvg)KGjRxak0lIWP(mXzI)MOkQoO3njzgJphUb5iLNizCKKppRyKqhgJb00dq dFyAOtBORQo4tw32K3Ys2qOmrJMlu0w4oTYveLTNMCJ4(YIPuQgGjbZxyArSBLvP VEcWTyMizCr5BpnjN4OuQIcMlu7Yiuyzeai2nkqY8R)FjZltBbwgUeSiKaBs2Nvf TSY7tTj2sRj1wukWD6V3eQYABDgeYCCiIIKmHOCykJnligSlW0iCazVnwVpyejgo 9BfZUChWKIIYwcm3mgnHBeghxduB6LyPfgqGjkYSBfglRyuhE2x1PA8GQggvfhCc yBRe8)PUN6LGtjv9h(43X4Of(5VLYtK4mb4P39Q7fvX)oKA99aWvGs3Dz6FRoCLq Q1y7Y3UCIzAX6e7lrFK5BLQl0ptG8AxBuDnZfNUs4aGVEFkrh0xLK0hz6YJRuECw As2dShjw41bHLuQa2a5wFAtpHzlFpyOQ0xxwe0CaLsqbAh2Oz7tYYvZB9zgZTIWW Hi2gh7cIKTxCalnYMn7dJCXTLmaAY5JZ2jihpwzxcJdMbKnMskNB7olK2EYiuSp8 mFdphACIDDFlYpbnatYEXANBkMuyrxJpEmGYOd04wM5d8kMcDq6QCqQh6FztQRwB d4AZVksCrBPFqMgDOf2labAkeRASMrl8igcskRpJ11S5p9UMTKjYGSkmJhyKlSS0 ZdLa1EuJTmueUBJHAUsGoakiRN(uUICilWMp52KDQSE2iWctrgcAVmvawqBr6lSS oEiMRMAmFLyWQANFhUgakW8ZEQMuBEK7mDaCUdIOgiDoqRAQcMEKCAC9TDrFgRHn Q3cA4BQmipu1WrkxlopscRwzmFzJ(cOyJn6(yL3MB4gNmnQQ3UAwEMN)Sw(NwKVH 0FBxm1SywgOeGIeduROF9Zydk)Ba2YQWWeAznhKIJlfM5LQ0lD6EBRC5QB2UKrNh VtADOOrFICN8immeqTg(oGdR0dY0hMK9XmaHSroZMylt0dWpFyUKZW4pmSrHphbC JkuTSt3r01AlApGCQrVizY8httUqPMFq6UlCNUFSDVtcKNTVm1olsQaFOlKESjFc 0Y6ktdArhFTazyrqBMjvrVmaCLLVqj7U0JzEUoaHUr3iUpCvtxgWjPl64WdFwGol jw03q2jY6bMWeRahKxejWvzJvZiyVjGex1Erdmt2nWtvMzg(5sNaesL0KVLFT1SV XpeHWKw1twsovSBrbHlyxWrbsUoubuHW(qMAY6HlxlWpZr(2zJO59PXuL11Zk21C rYjpr0e1bELRMPD20ubl4pSxVv8FKa9xlI2t5qnZ069t4evtuV1nLleR2Fo2JQL7 (5anapd(UKVi2LwnDLmbuu9mlelkrZyC7eITqPeWxLMdBOUVcxOLYQmFevxrvu2K pK(C2Smjw4CJ72hbuK)2CjLGEG3cfzwYBLNuFLgx1FVsqfFrHjtet3wraDT2SMc3 GsKWK(iFkx4EYLz3gRlshpl87ZF7yghUqZiU7Oqj3zyY)8LuQymFgzTv5q471MOy Rr4soLGzzmZszboTzMAjWL95c8bG11qXlxb9mRQNGAGxP0G9CROf3e)nC5SD83to rZkXCp8NkGXvjvcp1)vS221vLZq6TYOPri)IvYEoXlLTicva6X9FquJ)cv)65vtK O3hypw6cNxmSMTyNzZSnsVhr2DOaZ28bwGTfsxeZ69aO1dvyh5ZNv9d7Wn590ae0 c2YiGmsYZ2sO2S)Qmz)m46snO4oDR21tXleLZf78068wNtGk)(EZ8y721zpzh3if 8(wJ2cB2zXZrAm(Sivznt5K0OFBovgHaOEIv(SzXQqZKYP2ReR(3pXqdcicGLGHZ DTY46FRUntEUvQwVuI(JwCw5HaJbGP94JCX9OD1emTtP56sWS5uGDgG8B4QmMrEI GJe4TsABIr(YGPVkU0ZDkoxOHgNmRMIRkmcDxMSM6MUAg2tCEINUOSsC(RSfCnID lMRyeqUVyCJTwsZQGSUaCMcG7gBRkrRKzNOpqQETQBbRCFaAI(cxIZfCmMIHQwBj WXiRnMTc3kRzghcZVrXr20ZTGiKLmOXcIyJz0Q1LCqAY0opDuC7cmGSB1iNzSXcb iMQelOZimjYYQMae3sx6mqhdmiTaQsAjQGUhCyXe8kBaMqMcTrXI56ZTy6vKztdd 0gdrDmhi6vEa6OcDA2dVjGFk58lxUm(OXOZkXjZYDOhuZyFeQoWBcu(iTyOiyEXj 8BUe2whr2gILE2e2HPVYbnxrEoJIFKTwXQhiI9FqEKJNmGRSACuZ8EL6U4Gtiotf Y5ihOEEEiaWE87zzhBJ4My6PE4wEY3OACYgQDgbR2gaQnAnmYjHEJiaLIoJpGmjD FMgMYqeE2y4IBBAd0PbjMm8ywiNNG)CLxgL6GcxRmimKM5EBMXUcDDnkc97RJG(A ErnO58a0MCG06HbDMGsAghtO4QwADPkEaDTjFsMcsbjgYPD6hBIUSQJy1uGUDiPv zqSAQjn2OloTOOMLbiBNYswYwjnug5CBHGGO6LOB1woLNII)qeCBJKIYQS1yUg0j RJVHGnChNuMWQ7MnZ2cArgr7RlwxHMKGAZs2U8bIhAgUa5PBEHGiqrDq9XNsUvD( 2NRjiUX5kGqIU4gSBCnTmgKWhimSYjuhC9sAUV0gS4Y0NELmg4LOhzwoOOvRJH3P LMepAF(bFGSAoJHG2QAyFEgQdMsdhTzVBqOxMJ5PEEsM8rPFvA9Mjhg7pVnjBWLp YIRbIqCQhh1BbnTBhvue4eOiqazAIbGCRYB4hjpVCO4bJCImgAyE8nD1IKqUQTLK CMeYyii5Lc3UFTrBAUtAu8wSIDB6neHoLiWd4obGCIeC44jeZXY4JAVfQr4JnKqI Zq74aZoLOkJgFjkOx)SzrPPy(OTDnnNF(cahv6QGjN0UtbCONMCeKIvMtu8QUNgR 7C1twsIrVePdUW4GAiyE0GsrhqE9inISzca0DIHcZeqvp9ukbxYMWu(YZ44Xvp56 Tnpz2lnHgC1Ojh4ynLK6arFOltKeGnu25Yyo)rq7rnVnvE0mRH944YVXoaiZp1PQ 00Y15cfor5GgPMqda3puesZpXrWHZcTfUCBerJCO)s47kPuffbSYbcuPn53hnGc6 1QgXjDqzzqt(7d3hvlX3jWies2oGmTod09SodsCyHwc(pz5P0XHjbP98GYMgNER) Dj0e2dfHK0z981kSXwfB3b48uWQOlH4jN75aBdhnw1UFTZPZ274Q)vzZA2QKgPxN ob07RMvvqU4DMH(U)ihWOY7F7(Dhyg1HN8Ly79q)fz6OmVOAlwaNiiH0yH6S1cIy wJ0IcCTdizuHbQM431iJawnU4X0DNvaLqvILXI2G8AclPpMM8SmgOv1X08L2ACjd hzOVl9)GuljPt7YkRM2sEjI8QaFGwT3jzRxIebEuNKdDkEj(5CRFaqDwiF5zMIKT JhTLRGq2kpzgJYyY3jEWIKTdkzvWo8gItjuylZYk2TKoBnOLyprN0)zkXcBJqkSW (JH3Dxau5H1HeV1RyMo84LOrIJHYR6cWsWHdTNCVlh89X(o5jTFOpt1LV9XxEDY4 MTGVNlt0S44F7(qkOd5HeFcqQOlkbSoS21qJqVHz2i508YG9jk5lyJQccjZl9VzJ 7PBC9RJAJuSMyJez2llwdZm7qx14YAE3HgHsrJmcJM0GOeTOMYqaDhgZQHUPI)hA tuF6YNYcXCu7LyQzzlAKoHOih3p98VItBkTJwAU9YL8BShK1bggcuOisInEHSMlL IPWzGnLsKUW0MkaO6xGCQutgv5QQcMAg2YryVlktdRzOtrlDPSlZkFQ0cNHjAZua US8hOwUoalU66cy0FAOEl4BBE5sS0E5sp6KEIBGIQqOHYZoBe6WlKl1anaAKBSZi bDTD4QMmpv66QpaDBLwtA5bCxWPrfCAjo9VrtWZbV2MRIXQZzjyzCM4INFROem5B LtyBtVf2PWGtVtycGMLRnGaLAcCtA9NbybAsoGCkuvCk75IGwuqn9xQI6ze0ZIB6 ITr4yIeMF2l66c1oyEOzCgAIC1aW6UcLUhQI6FIccBsh3zHEjqCNrm1St3xm24gW sWARAA(GKTeJjZS4VV9IcBTCXD1vBguucGaLyY4WvECwsngdw5di0CuBpuboYNYM TQ58BmMmxzGby(VCjb46nEisKJCTwt8XMyphrVsa2F7EGIodGJzotzlDJfI8tiNt saE4xwPzcqBblpYUqMrdt1ySbTWjElgAsJ)tI4e0BsN4MGH5yPc95G)EAEwuyw58 (GloWWh0g3Q0Angsg65k1MRRMYbaRrC3VwHRRvnAg8V2IMBchYDBsROvoV2JSZT1 ODAMAwmsDrZjQKtGkDRYlhD6sVxSmIA3Kamr0i)swml14URhPxwWzbJcUFeZd1Z5 5SQWzgcLRUQqY2oRCTFPIKMtwOmEAXJsUK8SoAppUezaYwCQXt0coY(7J2Zceus1 Sx0wMiq0dtJBDjhLwFwkAAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AQOh