diff options
author | Florian Hahn <flo@fhahn.com> | 2020-09-19 16:08:19 +0100 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2020-09-19 17:19:53 +0100 |
commit | 1d8f2e52925b3a3ab52726c745169f273239329d (patch) | |
tree | fe89cfce1a4d6da0932c149d07a7c30f009671ed /llvm/lib/CodeGen/MachineFunction.cpp | |
parent | d716f1608cf3bcb4bece20b81ab9204a64a1d67f (diff) | |
download | llvm-1d8f2e52925b3a3ab52726c745169f273239329d.zip llvm-1d8f2e52925b3a3ab52726c745169f273239329d.tar.gz llvm-1d8f2e52925b3a3ab52726c745169f273239329d.tar.bz2 |
[SCEVExpander] Support expanding nonintegral pointers with constant base.
Currently SCEVExpander creates inttoptr for non-integral pointers if the
base is a null constant for example. This results in invalid IR.
This patch changes InsertNoopCastOfTo to emit a GEP & bitcast to convert
to a non-integral pointer. First, a GEP of i8* null is generated and the
integral value is used as index. The GEP is then bitcasted to the target
type.
This was exposed by D71539.
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D87827
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions