Loop inversion

In computer science, loop inversion is a compiler optimization and loop transformation in which a while loop is replaced by an if block containing a do..while loop. When used correctly, it may improve performance due to instruction pipelining.

Example in C

  int i, a[100];
  i = 0;
  while (i < 100) {
    a[i] = 0;
    i++;
  }

is equivalent to:

  int i, a[100];
  i = 0;
  if (i < 100) {
    do {
      a[i] = 0;
      i++;
    } while (i < 100);
  }

Despite the seemingly greater complexity of the second example, it may actually run faster on modern CPUs because they use an instruction pipeline. By nature, any jump in the code causes a pipeline stall, which is a detriment to performance.

Additionally, loop inversion allows safe loop-invariant code motion.

Example in three-address code

      i := 0
 L1:  if i >= 100 goto L2
      a[i] := 0
      i := i + 1
      goto L1
 L2:  

If i had been initialized at 100, the instructions executed at runtime would have been:

  if i >= 100
  goto L2

Let us assume that i had been initialized to some value less than 100. Now let us look at the instructions executed at the moment after i has been incremented to 99 in the loop:

  goto L1
  if i < 100
  a[i] := 0
  i := i + 1
  goto L1
  if i >= 100
  goto L2
  <<at L2>>

Now, let's look at the optimized version:

      i := 0
      if i >= 100 goto L2
 L1:  a[i] := 0
      i := i + 1
      if i < 100 goto L1
 L2:

Again, let's look at the instructions executed if i is initialized to 100:

  if i >= 100
  goto L2

We didn't waste any cycles compared to the original version. Now consider the case where i has been incremented to 99:

  if i < 100
  goto L1
  a[i] := 0
  i := i + 1
  if i < 100
  <<at L2>>

As you can see, two gotos (and thus, two pipeline stalls) have been eliminated in the execution.

References

Read other articles:

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: 金剛頂経 – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2015年11月) 国宝『両界曼荼羅 金剛界曼荼羅』「金剛界曼荼

 

Обыкновенный гоголь Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:П

 

Обійми Дощу Основна інформаціяЖанр Рок, Прогресивний рокРоки 2004 — до сьогодніКраїна  УкраїнаМісто КиївМова українськаТематика лірична, елегійнаСклад Володимир АгафонкінОлексій КатрукМикола КривоносОлена НестеровськаЯрослав ГладілінЄвген ДубовикКолишніуча

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (مايو 2019) عنبسة عنبسة اللفظ عَنْبَسَةْ الجنس مذكر لغة الاسم العربية[1]  أصل الاسم الأصل اللغوي العربية النوع من حيث تشخيص المعنى اسم علم شخص من حيث الأصالة في الا...

 

Stasiun Sasaksaat B08C08 Stasiun Sasaksaat, Desember 2022LokasiSumurbandung, Cipatat, Bandung Barat, Jawa Barat 40554IndonesiaKetinggian+541 mOperatorKAI CommuterLetak dari pangkalkm 144+711 lintas Jakarta–Jatinegara–Cikampek–Purwakarta–Padalarang[1]Jumlah jalur2 (jalur 2: sepur lurus)Informasi lainKode stasiunSKT1413SASAK[2]KlasifikasiIII/kecil[2]Operasi layananCommuter Line Garut dan Commuter Line Bandung Raya (arah Purwakarta) Stasiun sebelumnya Stasiun beri...

 

2014 video gameRyū ga Gotoku Ishin!Developer(s)Ryu Ga Gotoku StudioPublisher(s)SegaDirector(s)Hiroyuki SakamotoProducer(s)Masayoshi YokoyamaArtist(s)Nobuaki MitakeWriter(s)Masayoshi YokoyamaComposer(s)Chihiro AokiHidenori ShojiSeriesLike a DragonPlatform(s)PlayStation 3PlayStation 4ReleaseJP: February 22, 2014Genre(s)Action-adventure, hack and slashMode(s)Single-player Ryū ga Gotoku Ishin![a] is an action-adventure video game developed by Ryu Ga Gotoku Studio and published by Sega f...

Mallatang Alfred TambunanAnggota Dewan Perwakilan RakyatMasa jabatan1 Oktober 1997 – 1 Oktober 1999PresidenSoehartoB.J. HabibieGrup parlemenFraksi GolkarDaerah pemilihanSumatera UtaraMasa jabatan1 Oktober 1987 – 1 Mei 1994PresidenSoehartoPenggantiBonard MaruhumGrup parlemenFraksi ABRI Informasi pribadiLahir(1936-09-15)15 September 1936Muara, Tapanuli Utara, Hindia BelandaMeninggal20 Juli 2002(2002-07-20) (umur 65)Partai politikGolkarKarier militerPihak Indonesi...

 

American actor Steve RailsbackRailsback in 2010BornStephen Hall Railsback (1945-11-16) November 16, 1945 (age 78)Dallas, Texas, U.S.OccupationActorYears active1967–presentSpouses Jacqueline Giroux ​ ​(m. 1980; div. 1988)​ Marcy Sobel ​(m. 1990)​Children3Websitesteverailsbackactor.com Steve Railsback (born November 16, 1945, in Dallas, Texas) is an American theatre, film, and television actor. He is best k...

 

1984 novel by John Brosnan Carnosaur Original 1984 paperback editionAuthorHarry Adam KnightCountryAustraliaLanguageEnglishGenreScience fiction & Horror novelPublisherStar BooksPublication date1984Media typePrint (paperback)Pages208 (first edition, paperback)ISBN0-352-31447-8 (first edition, paperback)OCLC12447251 Carnosaur (1984) is a horror novel written by Australian author John Brosnan, under the pseudonym of Harry Adam Knight. A film adaptation was made in 1993 by Adam Simon. The...

Articles détaillés : Histoire de la frontière sur le mont Blanc et Histoire de la Savoie. Armoiries de Chamonix-Mont-Blanc Les armoiries de la ville de Chamonix-Mont-Blanc, adoptées en 1930, se blasonnent ainsi : tiercé en barre, au premier d'azur à une crête de montagne d'argent chargé d'un épicéa de sinople, au deuxième aussi d'azur chargé de cinq edelweiss boutonnées d'or rangées en barre; au troisième de gueules à une tête de chamois d'or. L'histoire de Chamonix...

 

Остання осіньрос. Последняя осень Жанр детективРежисер Всеволод ПлоткінСценарист Едуард ХруцькийУ головних ролях Віктор ПроскурінВолодимир КонкінОператор Яків ПосельськийКомпозитор Борис ЖуравльовХудожник Віктор МонетовКінокомпанія «Союзтелефільм»Тривалість 160 ...

 

British not-for-profit member-owned financial co-operative Not to be confused with Royal London Mutual Insurance Society. London Mutual Credit UnionTypeCredit UnionIndustryFinancial servicesFounded1982HeadquartersLondon, SE15United KingdomKey peopleLakshman Chandrasekera, CEOTotal assets£30 million (Jun 2020)Websitecreditunion.co.uk London Mutual Credit Union Limited (LMCU) is a not-for-profit member-owned financial co-operative, based in Peckham and operating in the City of Westminster...

У слова «Израиль» есть и другие значения: см. Израиль (значения). Государство Израильивр. מְדִינַת יִשְׂרָאֵל‎араб. دَوْلَة إِسْرَائِيل‎ Флаг Герб Гимн: «Ха-Тиква» Светло-зеленым выделены территории, согласно СБ ООН оккупированные Израилем: Голанские высоты, Западн...

 

The purpose of service-oriented device architecture (SODA) is to enable devices to be connected to a service-oriented architecture (SOA). Currently, developers connect enterprise services to an enterprise service bus (ESB) using the various web service standards that have evolved since the advent of XML in 1998. With SODA, developers are able to connect devices to the ESB and users can access devices in exactly the same manner that they would access any other web service. External links Servi...

 

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (March 2012) (Learn how and when to remove this template message) The topic of this article may not meet Wikipedia's notability guideline for music. Please help...

You can help expand this article with text translated from the corresponding article in Spanish. (May 2014) Click [show] for important translation instructions. View a machine-translated version of the Spanish article. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wikipedi...

 

Missionary society founded in 1869 that operates in Africa For other uses, see List of Catholic missions in Africa. Society of White Sisters redirects here. For the nursing order, see Daughters of the Holy Spirit. Missionary Sisters of Our Lady of AfricaSœurs Missionnaires de Notre-Dame d'AfriqueMother Marie-SaloméAbbreviationS.M.N.D.A.Formation1869; 154 years ago (1869)FounderCardinal Charles LavigerieTypeMissionary SocietyRegion served AfricaWebsitewww.msolafrica.org The...

 

Josef Feistmantl Nazionalità  Austria Altezza 180 cm Peso 90 kg Slittino Specialità Singolo, doppio Squadra Rodelverein Halltal Termine carriera 1972 Hall of fame FIL Hall of Fame (2005) Palmarès Competizione Ori Argenti Bronzi Olimpiadi 1 0 0 Mondiali 1 2 3 Europei 1 1 0 Per maggiori dettagli vedi qui Statistiche aggiornate al 30 gennaio 2013 Modifica dati su Wikidata · Manuale Josef Feistmantl (Absam, 23 febbraio 1939 – 10 marzo 2019) è stato uno slittinista austri...

Shinto shrine in Japan Shimogamo Shrine下鴨神社Shimogamo ShrineReligionAffiliationShintoDeityTamakushi-hime (玉依姫命)Kamotaketsunumi no Mikoto (賀茂建角身命)FestivalAoi Matsuri (Kamo no Matsuri; May 15th)TypeShikinaisyaYamashiro no Kuni ichinomiyaTwenty-Two ShrinesFormer kanpeitaishaChokusaishaBeppyo jinjaLocationLocation59 Shimogamo Izumigawa-chō, Sakyō-ku, Kyoto, Kyoto PrefectureShown within JapanGeographic coordinates35°02′20″N 135°46′21″E / 35.03...

 

Public law school in Los Angeles, California, United States UCLA School of LawParent schoolUniversity of California, Los AngelesEstablished1949School typePublic law schoolParent endowment$3.6 billion (2019–20)[1]DeanMichael Waterstone [2]LocationLos Angeles, California, U.S.Enrollment1,086 (as of May 18, 2022)[3]Faculty104USNWR ranking14th (2024)[4]Bar pass rate92.47% (July 2022 1st time takers)[5]Websitelaw.ucla.eduABA profileStandard 509 Report The ...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!