Confusion regarding ExtractValueInst

ExtractValueInst class has a member function called getIndices(). This function returns an object named Indices of type ArrayRef . What information does the Indices object provide if the Operand 0 (Aggregate type operand) of extractvalue instruction is an array? What if it’s a struct?

Please take a look at the documentation here: LLVM Language Reference Manual — LLVM 17.0.0git documentation

That should explain how the indices are used.