[llvm] r345442 - [Hexagon] Add missing assignment to Itinerary in Call_nr

Brendon Cahoon via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 26 17:50:29 PDT 2018


Author: bcahoon
Date: Fri Oct 26 17:50:29 2018
New Revision: 345442

URL: http://llvm.org/viewvc/llvm-project?rev=345442&view=rev
Log:
[Hexagon] Add missing assignment to Itinerary in Call_nr

The class definition for Call_nr has the itinerary as a
parameter, but the value is never assigned to the Itinerary
field for the instruction. This means the compiler is unable
to schedule and packetize the instruction correctly because
these instrution will not have any resource descritions.
I don't have a specific test case, but the ps_call_nr.ll
test failed with a proposed patch.

Modified:
    llvm/trunk/lib/Target/Hexagon/HexagonPseudo.td

Modified: llvm/trunk/lib/Target/Hexagon/HexagonPseudo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonPseudo.td?rev=345442&r1=345441&r2=345442&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Hexagon/HexagonPseudo.td (original)
+++ llvm/trunk/lib/Target/Hexagon/HexagonPseudo.td Fri Oct 26 17:50:29 2018
@@ -208,6 +208,7 @@ class Call_nr<bits<5> nbits, bit isPred,
     let isPredicable = 0;  // !if(isPred, 0, 1);
     let isPredicated = 0;  // isPred;
     let isPredicatedFalse = isFalse;
+    let Itinerary = itin;
 }
 
 def PS_call_nr : Call_nr<24, 0, 0, (ins s32_0Imm:$Ii), J2_call.Itinerary>;




More information about the llvm-commits mailing list