5 Commits

Author SHA1 Message Date
Nikita Popov
a96f691985 [Hexagon] Convert some tests to opaque pointers (NFC) 2022-12-19 12:53:32 +01:00
Nikita Popov
884b919f2e Reapply [Hexagon] Use default attributes for intrinsics
The issue that caused the revert has been fixed in:
44bd80751274a81c870882968ecd478b03af292a

-----

This switches Hexagon intrinsics to use the default attributes
(nosync, nofree, nocallback and willreturn). Especially willreturn
is needed to prevent optimization regressions in the future.

The only intrinsics I've excluded here are the load/store locked
intrinsics, which presumably aren't nosync.

Differential Revision: https://reviews.llvm.org/D137623
2022-11-15 16:01:14 +01:00
Alina Sbirlea
57dbca20ea Revert "[Hexagon] Use default attributes for intrinsics"
This reverts commit 8a8983b279dd5e4dceabe1fadbb8980b6adb88f9.

Uncovers existing regalloc issue in Hexagon backend - blocking for Halide
Hexagon users. Reverting to unblock, to be recommitted when underlying issue is resolved.
Reproducer available shortly.
2022-11-11 15:10:05 -08:00
Nikita Popov
8a8983b279 [Hexagon] Use default attributes for intrinsics
This switches Hexagon intrinsics to use the default attributes
(nosync, nofree, nocallback and willreturn). Especially willreturn
is needed to prevent optimization regressions in the future.

The only intrinsics I've excluded here are the load/store locked
intrinsics, which presumably aren't nosync.

Differential Revision: https://reviews.llvm.org/D137623
2022-11-11 10:59:00 +01:00
Ikhlas Ajbar
2819e5de42 [Hexagon] Handle instruction selection for select(I1,Q,Q)
Lower select(I1,Q,Q) by converting vector predicate Q to vector register V,
doing select(I1,V,V), and then converting the resulting V back to Q. Also,
try to avoid creating such situations in the first place.
2022-01-05 14:50:12 -08:00