X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=lib%2FTarget%2FX86%2FX86InstrInfo.cpp;h=aaeef465bf505c3181858abe4d1163340ed1e103;hp=c90e84926e36c334a4be744716bb66847cf6119e;hb=f13caceefcdd1efa2087787c78216f65ce73caf3;hpb=ebbca899acaf2fbe37b1ea7d8941fa495ef85d83 diff --git a/lib/Target/X86/X86InstrInfo.cpp b/lib/Target/X86/X86InstrInfo.cpp index c90e84926e3..aaeef465bf5 100644 --- a/lib/Target/X86/X86InstrInfo.cpp +++ b/lib/Target/X86/X86InstrInfo.cpp @@ -3517,11 +3517,14 @@ unsigned X86InstrInfo::getFMA3OpcodeToCommuteOperands(MachineInstr *MI, bool IsIntrinOpcode; isFMA3(Opc, &IsIntrinOpcode); - ArrayRef OpcodeGroups; + unsigned GroupsNum; + const unsigned (*OpcodeGroups)[3]; if (IsIntrinOpcode) { - OpcodeGroups = makeArrayRef(IntrinOpcodeGroups); + GroupsNum = sizeof(IntrinOpcodeGroups) / sizeof(IntrinOpcodeGroups[0]); + OpcodeGroups = IntrinOpcodeGroups; } else { - OpcodeGroups = makeArrayRef(RegularOpcodeGroups); + GroupsNum = sizeof(RegularOpcodeGroups) / sizeof(RegularOpcodeGroups[0]); + OpcodeGroups = RegularOpcodeGroups; } const unsigned *FoundOpcodesGroup = nullptr; @@ -3529,7 +3532,7 @@ unsigned X86InstrInfo::getFMA3OpcodeToCommuteOperands(MachineInstr *MI, // Look for the input opcode in the corresponding opcodes table. unsigned GroupIndex = 0; - for (; GroupIndex < OpcodeGroups.size() && !FoundOpcodesGroup; GroupIndex++) { + for (; GroupIndex < GroupsNum && !FoundOpcodesGroup; GroupIndex++) { for (FormIndex = 0; FormIndex < FormsNum; FormIndex++) { if (OpcodeGroups[GroupIndex][FormIndex] == Opc) { FoundOpcodesGroup = OpcodeGroups[GroupIndex];