Matt Arsenault c47701c0e9 AMDGPU: Use wider scalar spills for SGPR spilling
Since the spill is for the whole wave, these
don't have the swizzling problems that vector stores do
and a single 4-byte allocation is enough to spill a 64 element
register. This should reduce the number of spill instructions and
put all the spills for a register in the same cacheline.

This should save allocated private size, but for now it doesn't.
The extra slots are allocated for each component, but never used
because the frame layout is essentially finalized before frame
indices are replaced. For always using the scalar store path,
this should probably be moved into processFunctionBeforeFrameFinalized.

llvm-svn: 288445
2016-12-02 00:54:45 +00:00
..
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-05-05 20:07:37 +00:00
2016-02-08 19:06:01 +00:00
2016-11-10 16:02:37 +00:00
2016-11-17 03:49:01 +00:00
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-06-02 19:54:26 +00:00
2016-11-15 02:25:28 +00:00
2016-11-13 07:01:11 +00:00
2016-05-05 20:07:37 +00:00
2016-11-13 07:01:11 +00:00
2016-11-13 07:01:11 +00:00
2016-06-09 23:42:54 +00:00
2016-06-09 23:42:54 +00:00
2016-11-13 07:01:11 +00:00
2016-11-15 02:25:28 +00:00
2016-11-15 02:25:28 +00:00
2016-11-15 02:25:28 +00:00
2016-07-22 17:01:21 +00:00
2016-07-22 17:01:21 +00:00
2016-11-13 07:01:11 +00:00
2016-06-02 19:54:26 +00:00
2016-11-13 07:01:11 +00:00
2016-05-28 00:19:52 +00:00
2016-06-09 19:17:15 +00:00
2016-07-09 08:02:28 +00:00
2016-07-09 08:02:28 +00:00
2016-11-13 07:01:11 +00:00
2016-05-05 20:07:37 +00:00
2016-11-13 07:01:11 +00:00
2016-05-05 20:07:37 +00:00
2016-11-13 07:01:11 +00:00
2016-05-05 20:07:37 +00:00
2016-06-02 19:54:26 +00:00
2016-06-02 19:54:26 +00:00
2016-06-02 19:54:26 +00:00
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-06-02 19:54:26 +00:00
2016-06-02 19:54:26 +00:00
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-06-02 19:54:26 +00:00
2016-05-05 20:07:37 +00:00
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-06-15 00:11:01 +00:00
2016-05-05 20:07:37 +00:00
2016-05-05 20:07:37 +00:00
2016-08-02 22:25:04 +00:00
2016-11-01 10:26:48 +00:00
2016-11-16 03:16:26 +00:00
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-11-10 16:02:37 +00:00
2016-11-01 10:26:48 +00:00
2016-11-13 07:01:11 +00:00
2016-11-13 07:01:11 +00:00
2016-11-10 16:02:37 +00:00

+==============================================================================+
| How to organize the lit tests                                                |
+==============================================================================+

- If you write a test for matching a single DAG opcode or intrinsic, it should
  go in a file called {opcode_name,intrinsic_name}.ll (e.g. fadd.ll)

- If you write a test that matches several DAG opcodes and checks for a single
  ISA instruction, then that test should go in a file called {ISA_name}.ll (e.g.
  bfi_int.ll

- For all other tests, use your best judgement for organizing tests and naming
  the files.

+==============================================================================+
| Naming conventions                                                           |
+==============================================================================+

- Use dash '-' and not underscore '_' to separate words in file names, unless
  the file is named after a DAG opcode or ISA instruction that has an
  underscore '_' in its name.