Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:43:10

0001 //===- Local.h - Functions to perform local transformations -----*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 // This family of functions perform various local transformations to the
0010 // program.
0011 //
0012 //===----------------------------------------------------------------------===//
0013 
0014 #ifndef LLVM_ANALYSIS_UTILS_LOCAL_H
0015 #define LLVM_ANALYSIS_UTILS_LOCAL_H
0016 
0017 namespace llvm {
0018 
0019 class DataLayout;
0020 class IRBuilderBase;
0021 class User;
0022 class Value;
0023 
0024 /// Given a getelementptr instruction/constantexpr, emit the code necessary to
0025 /// compute the offset from the base pointer (without adding in the base
0026 /// pointer). Return the result as a signed integer of intptr size.
0027 /// When NoAssumptions is true, no assumptions about index computation not
0028 /// overflowing is made.
0029 Value *emitGEPOffset(IRBuilderBase *Builder, const DataLayout &DL, User *GEP,
0030                      bool NoAssumptions = false);
0031 
0032 } // namespace llvm
0033 
0034 #endif // LLVM_ANALYSIS_UTILS_LOCAL_H