Files
revng-revng/lib/CliftTransforms/FieldAccessReplacement.h
2026-04-27 12:48:24 +03:00

17 lines
635 B
C

#pragma once
//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#include "BestTraversal.h"
#include "PointerArithmetic.h"
/// Perform the replacement of the pointer arithmetic access
/// (`PointerToReplace`), with operations equivalent to the `BestTraversal`.
/// Returns `true` if a type was propagated through an `indirection`, signaling
/// that a subsequent EFA pass may find new rewriting opportunities.
bool replaceFieldAccess(clift::ExpressionOpInterface PointerToReplace,
const PointerArithmetic &Arithmetic,
const Traversal &BestTraversal);