Nick Desaulniers
b3cb8ab451
[AsmPrinter] refactor to support %c w/ GlobalAddress'
...
Summary:
Targets like ARM, MSP430, PPC, and SystemZ have complex behavior when
printing the address of a MachineOperand::MO_GlobalAddress. Move that
handling into a new overriden method in each base class. A virtual
method was added to the base class for handling the generic case.
Refactors a few subclasses to support the target independent %a, %c, and
%n.
The patch also contains small cleanups for AVRAsmPrinter and
SystemZAsmPrinter.
It seems that NVPTXTargetLowering is possibly missing some logic to
transform GlobalAddressSDNodes for
TargetLowering::LowerAsmOperandForConstraint to handle with "i" extended
inline assembly asm constraints.
Fixes:
- https://bugs.llvm.org/show_bug.cgi?id=41402
- https://github.com/ClangBuiltLinux/linux/issues/449
Reviewers: echristo, void
Reviewed By: void
Subscribers: void, craig.topper, jholewinski, dschuff, jyknight, dylanmckay, sdardis, nemanjai, javed.absar, sbc100, jgravelle-google, eraman, kristof.beyls, hiraditya, aheejin, kbarton, fedor.sergeev, jrtc27, atanasyan, jsji, llvm-commits, kees, tpimh, nathanchance, peter.smith, srhines
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60887
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359337 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-26 18:45:04 +00:00
..
2018-02-28 23:57:48 +00:00
2017-02-24 17:17:33 +00:00
2015-04-28 17:18:30 +00:00
2018-05-09 23:46:19 +00:00
2014-01-28 18:35:29 +00:00
2017-02-21 22:56:05 +00:00
2016-01-23 21:12:20 +00:00
2016-12-14 22:32:55 +00:00
2014-06-27 18:35:44 +00:00
2014-07-17 18:10:09 +00:00
2016-01-22 19:47:26 +00:00
2017-11-07 22:10:54 +00:00
2016-09-28 17:25:38 +00:00
2014-07-21 22:54:44 +00:00
2017-09-21 18:44:49 +00:00
2014-06-27 18:35:27 +00:00
2015-07-29 18:59:09 +00:00
2017-05-15 17:17:44 +00:00
2016-07-20 21:44:07 +00:00
2015-01-26 19:52:20 +00:00
2018-08-12 19:09:12 +00:00
2016-05-02 18:12:02 +00:00
2016-04-05 12:38:01 +00:00
2015-08-11 22:16:34 +00:00
2016-07-26 18:28:33 +00:00
2013-11-15 12:30:04 +00:00
2014-12-15 19:07:53 +00:00
2018-12-26 19:12:31 +00:00
2017-01-18 00:09:01 +00:00
2014-07-16 16:26:58 +00:00
2013-09-19 13:14:44 +00:00
2016-03-01 19:24:03 +00:00
2017-01-15 16:55:54 +00:00
2014-07-16 16:26:58 +00:00
2018-07-04 13:28:39 +00:00
2017-05-12 19:56:43 +00:00
2017-05-12 19:56:43 +00:00
2016-02-04 04:15:36 +00:00
2014-01-21 14:40:05 +00:00
2016-10-28 21:44:00 +00:00
2014-06-27 18:35:21 +00:00
2015-07-01 21:32:42 +00:00
2019-04-01 16:10:26 +00:00
2019-04-01 16:10:26 +00:00
2017-02-03 15:13:50 +00:00
2017-01-13 18:48:13 +00:00
2017-01-31 14:35:37 +00:00
2017-05-15 17:17:44 +00:00
2017-12-06 17:50:05 +00:00
2015-02-27 21:17:42 +00:00
2014-07-17 18:10:09 +00:00
2014-07-17 18:10:09 +00:00
2017-01-13 18:48:13 +00:00
2015-03-12 01:50:30 +00:00
2018-05-09 02:40:45 +00:00
2018-02-28 23:57:48 +00:00
2015-08-22 05:40:26 +00:00
2016-01-30 01:07:38 +00:00
2016-01-30 01:07:38 +00:00
2016-01-30 01:07:38 +00:00
2012-11-16 21:03:51 +00:00
2017-01-18 00:29:53 +00:00
2016-01-15 23:57:53 +00:00
2015-06-09 16:29:34 +00:00
2015-06-30 17:18:00 +00:00
2014-06-27 18:36:01 +00:00
2018-04-06 22:25:08 +00:00
2015-02-27 21:17:42 +00:00
2013-08-06 14:13:34 +00:00
2014-12-15 19:07:53 +00:00
2017-05-15 17:17:44 +00:00
2017-07-20 21:16:03 +00:00
2017-07-20 21:16:03 +00:00
2017-07-20 21:16:03 +00:00
2018-12-01 00:21:52 +00:00
2017-01-18 00:08:44 +00:00
2014-06-27 18:35:37 +00:00
2014-06-27 18:36:06 +00:00
2019-04-26 18:45:04 +00:00
2015-06-16 20:24:25 +00:00
2018-07-11 20:25:49 +00:00
2019-01-26 00:28:32 +00:00
2014-06-27 18:35:24 +00:00
2018-05-09 23:46:19 +00:00
2015-02-27 21:17:42 +00:00
2019-01-03 14:11:33 +00:00
2018-04-06 21:10:24 +00:00
2017-02-21 22:56:05 +00:00
2014-08-29 15:30:20 +00:00
2014-08-29 15:30:20 +00:00
2015-02-27 19:29:02 +00:00
2018-12-26 19:12:31 +00:00
2018-12-26 19:12:31 +00:00
2018-12-26 19:12:31 +00:00
2014-06-09 22:42:55 +00:00
2015-02-27 21:17:42 +00:00
2018-08-09 07:45:49 +00:00
2015-08-05 23:11:57 +00:00
2017-02-23 22:38:24 +00:00
2015-07-01 20:08:06 +00:00
2015-07-10 04:31:56 +00:00
2018-01-19 17:13:12 +00:00
2017-01-31 01:10:58 +00:00
2016-07-20 18:39:47 +00:00
2015-02-27 21:17:42 +00:00
2016-02-17 17:46:50 +00:00
2016-07-06 20:02:45 +00:00
2014-12-15 19:07:53 +00:00
2017-09-26 17:07:23 +00:00
2019-04-01 16:10:26 +00:00
2017-10-27 20:53:41 +00:00
2017-03-07 20:33:38 +00:00
2013-07-01 13:00:14 +00:00
2014-07-23 20:23:49 +00:00
2017-01-28 16:38:15 +00:00
2016-07-06 20:02:45 +00:00
2018-12-12 18:31:04 +00:00
2015-02-27 21:17:42 +00:00
2014-12-17 17:59:04 +00:00
2018-08-03 18:05:24 +00:00
2016-04-01 01:09:07 +00:00
2017-01-15 16:54:35 +00:00
2016-07-18 21:58:48 +00:00
2019-03-02 08:03:59 +00:00
2015-06-04 21:28:26 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 19:29:02 +00:00
2018-12-26 19:12:31 +00:00
2018-12-26 19:12:31 +00:00
2018-02-28 23:58:05 +00:00
2015-02-27 21:17:42 +00:00
2015-08-01 18:02:12 +00:00
2016-08-12 22:02:19 +00:00
2014-06-27 18:35:33 +00:00
2017-05-17 20:18:13 +00:00
2017-05-17 20:18:13 +00:00
2013-07-13 20:38:47 +00:00
2013-07-01 12:58:58 +00:00
2017-09-20 21:23:07 +00:00
2016-10-31 21:51:42 +00:00
2015-02-27 21:17:42 +00:00
2017-05-15 17:17:44 +00:00
2015-03-30 19:30:55 +00:00
2015-03-30 19:30:55 +00:00
2015-03-30 19:30:55 +00:00
2015-03-30 19:30:55 +00:00
2015-03-30 19:30:55 +00:00
2015-03-30 19:30:55 +00:00
2015-03-30 19:30:55 +00:00
2016-07-06 21:06:10 +00:00
2016-07-06 21:06:10 +00:00
2016-07-06 21:06:10 +00:00
2017-09-07 18:14:32 +00:00
2016-04-15 01:20:52 +00:00
2017-01-31 23:08:57 +00:00
2018-05-09 23:46:19 +00:00
2014-07-16 16:26:58 +00:00
2015-06-04 21:28:26 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2017-12-04 14:19:33 +00:00
2016-07-06 20:02:45 +00:00
2015-06-04 21:28:26 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2017-01-06 00:11:46 +00:00
2013-03-30 14:29:30 +00:00
2017-05-18 18:50:05 +00:00
2017-02-21 22:56:05 +00:00
2013-06-28 17:57:55 +00:00
2017-05-15 17:17:44 +00:00
2015-02-27 21:17:42 +00:00
2014-12-17 17:59:04 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2013-07-26 13:28:29 +00:00
2018-08-27 17:29:43 +00:00
2017-09-21 18:44:49 +00:00
2015-02-27 21:17:42 +00:00
2014-12-01 21:16:17 +00:00
2019-04-25 22:27:57 +00:00
2017-05-15 17:17:44 +00:00