mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 23:17:16 +00:00
Make the InsertBefore argument to FindInsertedValue optional, so you can find an inserted value without modifying the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52319 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -805,6 +805,7 @@ Value *BuildSubAggregate(Value *From, Value* To, const Type *IndexedType,
|
||||
// Any inserted instructions are inserted before InsertBefore
|
||||
Value *BuildSubAggregate(Value *From, const unsigned *idx_begin,
|
||||
const unsigned *idx_end, Instruction *InsertBefore) {
|
||||
assert(InsertBefore && "Must have someplace to insert!");
|
||||
const Type *IndexedType = ExtractValueInst::getIndexedType(From->getType(),
|
||||
idx_begin,
|
||||
idx_end);
|
||||
@@ -851,9 +852,13 @@ Value *llvm::FindInsertedValue(Value *V, const unsigned *idx_begin,
|
||||
for (const unsigned *i = I->idx_begin(), *e = I->idx_end();
|
||||
i != e; ++i, ++req_idx) {
|
||||
if (req_idx == idx_end)
|
||||
// The requested index is a part of a nested aggregate. Handle this
|
||||
// specially.
|
||||
return BuildSubAggregate(V, idx_begin, req_idx, InsertBefore);
|
||||
if (InsertBefore)
|
||||
// The requested index is a part of a nested aggregate. Handle this
|
||||
// specially.
|
||||
return BuildSubAggregate(V, idx_begin, req_idx, InsertBefore);
|
||||
else
|
||||
// We can't handle this without inserting insertvalues
|
||||
return 0;
|
||||
|
||||
// This insert value inserts something else than what we are looking for.
|
||||
// See if the (aggregrate) value inserted into has the value we are
|
||||
|
||||
Reference in New Issue
Block a user