Files
llvm/test/CodeGen/ARM
Jeremy Morse d20e6c67bc [DebugInfo] Remove some users of DBG_VALUEs IsIndirect field
This patch kills off a significant user of the "IsIndirect" field of
DBG_VALUE machine insts. Brought up in in PR41675, IsIndirect is
techncally redundant as it can be expressed by the DIExpression of a
DBG_VALUE inst, and it isn't helpful to have two ways of expressing
things.

Rather than setting IsIndirect, have DBG_VALUE creators add an extra deref
to the insts DIExpression. There should now be no appearences of
IsIndirect=True from isel down to LiveDebugVariables / VirtRegRewriter,
which is ensured by an assertion in LDVImpl::handleDebugValue. This means
we also get to delete the IsIndirect handling in LiveDebugVariables. Tests
can be upgraded by for example swapping the following IsIndirect=True
DBG_VALUE:

  DBG_VALUE $somereg, 0, !123, !DIExpression(DW_OP_foo)

With one where the indirection is in the DIExpression, by _appending_
a deref:

  DBG_VALUE $somereg, $noreg, !123, !DIExpression(DW_OP_foo, DW_OP_deref)

Which both mean the same thing. 

Most of the test changes in this patch are updates of that form; also some
changes in how the textual assembly printer handles these insts.

Differential Revision: https://reviews.llvm.org/D68945


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374877 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-15 10:46:24 +00:00
..
2019-09-30 07:52:10 +00:00
2019-05-15 12:41:58 +00:00
2016-01-26 00:03:25 +00:00
2017-08-01 22:20:49 +00:00
2014-04-03 17:35:22 +00:00
2017-08-28 20:20:47 +00:00
2017-04-07 22:01:23 +00:00
2017-04-07 22:01:23 +00:00
2019-08-01 11:12:10 +00:00
2016-06-16 16:09:53 +00:00
2016-01-28 18:59:04 +00:00
2018-10-14 16:49:04 +00:00
2014-08-26 12:47:26 +00:00
2014-01-29 11:50:56 +00:00
2015-10-26 20:49:49 +00:00
2016-06-20 17:45:33 +00:00
2019-05-26 11:34:30 +00:00
2018-07-04 13:28:39 +00:00
2019-10-08 08:25:42 +00:00
2016-12-27 18:35:19 +00:00
2016-01-26 00:03:25 +00:00
2014-04-25 17:51:25 +00:00
2019-01-07 12:21:13 +00:00
2019-02-26 12:02:12 +00:00
2014-04-03 17:35:22 +00:00
2012-09-29 21:43:49 +00:00
2014-12-04 19:34:50 +00:00
2016-06-16 16:09:53 +00:00
2019-06-11 11:09:25 +00:00
2017-12-11 12:13:45 +00:00
2017-12-11 12:13:45 +00:00
2017-12-11 12:13:45 +00:00
2018-09-26 10:56:00 +00:00
2019-04-17 16:51:09 +00:00
2014-04-03 17:35:22 +00:00
2014-04-03 17:35:22 +00:00
2019-10-08 16:16:26 +00:00
2019-07-29 09:48:07 +00:00
2015-01-19 15:16:06 +00:00
2017-08-28 20:20:47 +00:00
2014-04-23 01:09:29 +00:00
2017-08-01 22:20:49 +00:00
2017-08-01 22:20:49 +00:00
2016-12-27 18:35:19 +00:00
2019-05-15 12:41:58 +00:00
2019-07-27 18:44:15 +00:00
2019-03-29 17:35:56 +00:00
2019-10-08 08:25:42 +00:00
2015-08-13 17:28:16 +00:00
2019-10-08 08:25:42 +00:00