Tim Northover
32c7e441d6
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359676 91177308-0d34-0410-b5e6-96231b3b80d8
2019-05-01 12:37:30 +00:00
..
2019-04-29 18:45:59 +00:00
2019-03-14 22:54:43 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-05-01 12:37:30 +00:00
2019-04-30 09:14:02 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-12 09:48:02 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-13 15:58:48 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-15 04:53:46 +00:00
2019-01-19 08:50:56 +00:00
2019-04-10 11:28:28 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-19 13:16:28 +00:00
2019-03-19 13:16:28 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-02-11 19:23:30 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-02-01 02:28:03 +00:00
2019-03-11 20:22:13 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-26 21:27:15 +00:00
2019-02-22 19:03:31 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-01 14:42:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-02 09:46:52 +00:00
2019-04-24 23:02:48 +00:00
2019-01-19 08:50:56 +00:00
2019-04-24 23:02:48 +00:00
2019-04-05 08:40:57 +00:00
2019-04-25 20:09:00 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-17 22:21:05 +00:00
2019-03-14 22:54:43 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-06 15:20:13 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-23 03:26:10 +00:00
2019-02-06 08:02:46 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-29 08:33:05 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-12 20:42:14 +00:00
2019-03-14 22:54:43 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-02-06 08:02:46 +00:00
2019-01-19 08:50:56 +00:00
2019-04-26 05:56:23 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-02-22 19:16:52 +00:00
2019-01-19 08:50:56 +00:00
2019-01-20 21:19:56 +00:00
2019-02-25 20:29:04 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-17 15:05:29 +00:00
2019-03-29 08:33:05 +00:00
2019-01-19 08:50:56 +00:00
2019-02-06 08:02:46 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-05-01 12:37:30 +00:00
2019-03-27 14:14:46 +00:00
2019-03-10 05:21:52 +00:00
2019-04-28 13:19:29 +00:00
2019-01-19 08:50:56 +00:00
2019-01-20 21:19:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-15 12:03:54 +00:00
2019-02-01 21:41:33 +00:00
2019-04-19 09:08:38 +00:00
2019-05-01 12:37:30 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-15 04:53:46 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-05 18:54:38 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-17 22:56:38 +00:00
2019-01-19 08:50:56 +00:00
2019-03-03 22:35:56 +00:00
2019-01-19 08:50:56 +00:00