[llvm] r276872 - GlobalISel: remove variable_ops from output list.

Tim Northover via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 27 07:30:50 PDT 2016


Author: tnorthover
Date: Wed Jul 27 09:30:49 2016
New Revision: 276872

URL: http://llvm.org/viewvc/llvm-project?rev=276872&view=rev
Log:
GlobalISel: remove variable_ops from output list.

The instance in the input operand list allows both inputs and outputs,
but the one in (outs) is not treated specially which leads to the
MachineVerifier invoking UB (looking at an invalid MCInstrDesc field).

No functional change except in UBSan builds (maybe, who knows!), where
it fixes the legalize-add.mir test.

Modified:
    llvm/trunk/include/llvm/Target/GenericOpcodes.td

Modified: llvm/trunk/include/llvm/Target/GenericOpcodes.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/GenericOpcodes.td?rev=276872&r1=276871&r2=276872&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/GenericOpcodes.td (original)
+++ llvm/trunk/include/llvm/Target/GenericOpcodes.td Wed Jul 27 09:30:49 2016
@@ -104,7 +104,7 @@ def G_STORE : Instruction {
 // indexes. This will almost certainly be mapped to sub-register COPYs after
 // register banks have been selected.
 def G_EXTRACT : Instruction {
-  let OutOperandList = (outs variable_ops);
+  let OutOperandList = (outs);
   let InOperandList = (ins variable_ops);
   let hasSideEffects = 0;
 }




More information about the llvm-commits mailing list