summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lang/cpp/dynamic-value/TestCppValueCast.py
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2019-05-01 12:37:30 +0000
committerTim Northover <tnorthover@apple.com>2019-05-01 12:37:30 +0000
commitee2474df9f82591b6221662a3658bee027fb2003 (patch)
tree04c16f8636a0ff6a66160565cbaa0412b1cf5969 /lldb/packages/Python/lldbsuite/test/lang/cpp/dynamic-value/TestCppValueCast.py
parent101bf520d1b54e7daea2f868a5774e231a249974 (diff)
downloadbcm5719-llvm-ee2474df9f82591b6221662a3658bee027fb2003.tar.gz
bcm5719-llvm-ee2474df9f82591b6221662a3658bee027fb2003.zip
DAG: allow DAG pointer size different from memory representation.
In preparation for supporting ILP32 on AArch64, this modifies the SelectionDAG builder code so that pointers are allowed to have a larger type when "live" in the DAG compared to memory. Pointers get zero-extended whenever they are loaded, and truncated prior to stores. In addition, a few not quite so obvious locations need updating: * A GEP that has not been marked inbounds needs to enforce the IR-documented 2s-complement wrapping at the memory pointer size. Inbounds GEPs are undefined if they overflow the address space, so no additional operations are needed. * Signed comparisons would give incorrect results if performed on the zero-extended values. This shouldn't affect CodeGen for now, but will become active when the AArch64 ILP32 support is committed. llvm-svn: 359676
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/cpp/dynamic-value/TestCppValueCast.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud