Page MenuHomePhabricator

ZarkoCA (Zarko Todorovski)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 11 2018, 9:51 AM (121 w, 4 d)

Recent Activity

Thu, Apr 8

ZarkoCA added a comment to D100050: [AIX] Remove unused vector registers from allocation order in the default AltiVec ABI.

Thanks.

  1. Applying the fix in getReservedRegs should work, however, removing from the allocation order is technically more correct since they are not actually reserved for any use. Instead they cannot be used at all.

I am not sure why it is *technically more correct* to change allocation order instead of *reservering reserved reg in designed API*.

I believe these regs are exactly what *Reserved Register* defines.

According to AIX ABI: https://www.ibm.com/docs/en/aix/7.2?topic=concepts-aix-vector-programming

VR20:31	Reserved (default mode)
Nonvolatile (extended ABI mode)

When the default Vector enabled mode is used, these registers are reserved and must not be used.
In the extended ABI vector enabled mode, these registers are nonvolatile and their values are preserved across function calls

And the getReservedRegs API is:

/// Returns a bitset indexed by physical register number indicating if a
/// register is a special register that has particular uses and should be
/// considered unavailable at all times, e.g. stack pointer, return address.
/// A reserved register:
/// - is not allocatable
/// - is considered always live
/// - is ignored by liveness tracking
/// It is often necessary to reserve the super registers of a reserved
/// register as well, to avoid them getting allocated indirectly. You may use
/// markSuperRegs() and checkAllSuperRegsMarked() in this case.
virtual BitVector getReservedRegs(const MachineFunction &MF) const = 0;

My understanding of has particular uses is that compiler will work well if there is some special (or unexpected) use of these regs,
but it does not mean that you *HAVE* to have some use in compiler...

Thu, Apr 8, 9:37 AM · Restricted Project
ZarkoCA added a comment to D100050: [AIX] Remove unused vector registers from allocation order in the default AltiVec ABI.

What is the fundamental reason of not fixing the bug in getReservedRegs but doing that by changing allocation order instead ?

Thu, Apr 8, 8:19 AM · Restricted Project

Wed, Apr 7

ZarkoCA updated the summary of D100050: [AIX] Remove unused vector registers from allocation order in the default AltiVec ABI.
Wed, Apr 7, 12:40 PM · Restricted Project
ZarkoCA added a comment to D97909: [AIX] Allow safe for 32bit P8 VSX pattern matching.

Ping

Wed, Apr 7, 10:31 AM · Restricted Project
ZarkoCA added a comment to D97503: [AIX] Allow safe for 32bit P9 VSX extract and insert pattern matches.

Ping

Wed, Apr 7, 10:31 AM · Restricted Project
ZarkoCA requested review of D100050: [AIX] Remove unused vector registers from allocation order in the default AltiVec ABI.
Wed, Apr 7, 10:27 AM · Restricted Project

Mon, Mar 29

ZarkoCA updated the diff for D97503: [AIX] Allow safe for 32bit P9 VSX extract and insert pattern matches.
  • Rebased and added more 32bit safe Big Endian pattern matches
  • Added test cases
Mon, Mar 29, 1:34 PM · Restricted Project

Thu, Mar 25

ZarkoCA added inline comments to D97909: [AIX] Allow safe for 32bit P8 VSX pattern matching.
Thu, Mar 25, 6:05 AM · Restricted Project
ZarkoCA updated the diff for D97909: [AIX] Allow safe for 32bit P8 VSX pattern matching.
  • Added variable float and double extraction for 32Bit
Thu, Mar 25, 5:54 AM · Restricted Project

Fri, Mar 12

ZarkoCA updated the diff for D97909: [AIX] Allow safe for 32bit P8 VSX pattern matching.

Previous version of the patch only legalized the EXTRACT_VECTOR_ELT node in 64Bit mode. Remove that condition so that we are using VSX instructions to extract vector elements in 32bit mode when we can

Fri, Mar 12, 12:00 PM · Restricted Project

Mar 10 2021

ZarkoCA added a reviewer for D97909: [AIX] Allow safe for 32bit P8 VSX pattern matching: masoud.ataei.
Mar 10 2021, 10:50 AM · Restricted Project
ZarkoCA added a reviewer for D97503: [AIX] Allow safe for 32bit P9 VSX extract and insert pattern matches: masoud.ataei.
Mar 10 2021, 10:49 AM · Restricted Project
ZarkoCA updated the diff for D97503: [AIX] Allow safe for 32bit P9 VSX extract and insert pattern matches.

Rebase

Mar 10 2021, 10:49 AM · Restricted Project

Mar 9 2021

ZarkoCA added a comment to D97909: [AIX] Allow safe for 32bit P8 VSX pattern matching.

I think we should have the ppc64 test in p8-scalar_vector_conversions.ll since it is essentially the same as the BE results in there but without the descriptive register names. Then rename this file staring with aix32.

Mar 9 2021, 3:26 PM · Restricted Project
ZarkoCA updated the diff for D97909: [AIX] Allow safe for 32bit P8 VSX pattern matching.

removed an unsafe for 32bit pattern match
reworked test cases per comments

Mar 9 2021, 3:23 PM · Restricted Project

Mar 5 2021

ZarkoCA committed rG2b50ce152417: [PowerPC][AIX] Enable the default AltiVec ABI on AIX (authored by ZarkoCA).
[PowerPC][AIX] Enable the default AltiVec ABI on AIX
Mar 5 2021, 9:47 AM
ZarkoCA closed D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.
Mar 5 2021, 9:46 AM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.

Use reduce register count.

Mar 5 2021, 9:23 AM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.

Correct switch case

Mar 5 2021, 8:44 AM · Restricted Project, Restricted Project

Mar 4 2021

ZarkoCA added inline comments to D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.
Mar 4 2021, 8:25 PM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.

Try to correct register pressure determination.

Mar 4 2021, 8:15 PM · Restricted Project, Restricted Project
ZarkoCA added inline comments to D97956: [PowePC][AIX] Handle variadic vector call operands..
Mar 4 2021, 3:03 PM · Restricted Project, Restricted Project

Mar 3 2021

ZarkoCA requested review of D97909: [AIX] Allow safe for 32bit P8 VSX pattern matching.
Mar 3 2021, 8:19 PM · Restricted Project
ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.

Update PPCRegisterInfo::getRegPressureLimit
Fixed comment typo missed previously

Mar 3 2021, 9:39 AM · Restricted Project, Restricted Project

Mar 2 2021

ZarkoCA added inline comments to D97485: [PowerPC][AIX] Handle variadic vector formal arguments..
Mar 2 2021, 9:24 AM · Restricted Project, Restricted Project

Mar 1 2021

ZarkoCA added inline comments to D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.
Mar 1 2021, 2:48 PM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.

Added CHECK-NOT in test cases.
changed "check-prefixes" to "check-prefix"
Reworded one comment

Mar 1 2021, 2:43 PM · Restricted Project, Restricted Project
ZarkoCA accepted D97474: [PowerPC][AIX] Enable passing vectors in variadic functions (front-end)..

It may be better to use __builtin_va_list and the like instead of the header inclusion but I don't want to make the test change too onerous if that turns out to be the case.

Mar 1 2021, 6:13 AM · Restricted Project, Restricted Project
ZarkoCA accepted D97574: [AIX][clang][driver] Restrict /usr/lib to internal library search paths.
Mar 1 2021, 3:54 AM · Restricted Project

Feb 26 2021

ZarkoCA added inline comments to D97485: [PowerPC][AIX] Handle variadic vector formal arguments..
Feb 26 2021, 1:20 PM · Restricted Project, Restricted Project

Feb 25 2021

ZarkoCA requested review of D97503: [AIX] Allow safe for 32bit P9 VSX extract and insert pattern matches.
Feb 25 2021, 2:36 PM · Restricted Project

Feb 24 2021

ZarkoCA added inline comments to D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.
Feb 24 2021, 8:17 PM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.
  • Remove test added in NFC commit
  • fix loop code so now it works
Feb 24 2021, 8:12 PM · Restricted Project, Restricted Project
ZarkoCA committed rG1c051b7b7042: [NFC][AIX] Rename aix-csr-vector.ll to aix-csr-vector-extabi.ll (authored by ZarkoCA).
[NFC][AIX] Rename aix-csr-vector.ll to aix-csr-vector-extabi.ll
Feb 24 2021, 7:15 PM
ZarkoCA added inline comments to D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.
Feb 24 2021, 6:47 AM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.

Add a test case for the warning message and add a FIXME to implement the warning in the front end.

Feb 24 2021, 6:46 AM · Restricted Project, Restricted Project

Feb 23 2021

ZarkoCA added a comment to D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.

Furthermore, I think you should have a test case where you clobber all FPR's and VSR's except the ones in the vr20 - vr31 range in functions that perform FP/vector computations with checks that show the affected registers are not allocated.

Feb 23 2021, 7:30 PM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.

Address comments:

  • split extended and default Altivec ABI tests in different files
  • add a test case to check that reserved vector registers are not used even when all fprs and vector regs are clobbered
Feb 23 2021, 7:04 PM · Restricted Project, Restricted Project

Feb 22 2021

ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.
  • Add warning when using reserved vector registers in the default AltiVec ABI
Feb 22 2021, 2:57 PM · Restricted Project, Restricted Project

Feb 17 2021

ZarkoCA added inline comments to D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.
Feb 17 2021, 12:04 PM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.

Address comments:

  1. Remove trailing whitespaces
  2. Use a range based loop
  3. Clean up if use
Feb 17 2021, 12:02 PM · Restricted Project, Restricted Project

Feb 11 2021

ZarkoCA accepted D96415: [PowerPC][AIX] Support passing vector arguments on the stack..

Thanks. LGTM.

Feb 11 2021, 2:15 PM · Restricted Project, Restricted Project

Feb 10 2021

ZarkoCA accepted D91629: [PowerPC] Handle FP physical register in inline asm constraint..

LGTM, only some question about a comment.

Feb 10 2021, 1:19 PM · Restricted Project, Restricted Project
ZarkoCA added inline comments to D96415: [PowerPC][AIX] Support passing vector arguments on the stack..
Feb 10 2021, 7:05 AM · Restricted Project, Restricted Project

Feb 9 2021

ZarkoCA requested review of D96351: [PowerPC][AIX] Enable the default AltiVec ABI on AIX.
Feb 9 2021, 9:09 AM · Restricted Project, Restricted Project

Feb 2 2021

ZarkoCA committed rGeb3426a528d5: [AIX] Improve option processing for mabi=vec-extabi and mabi=vec=defaul (authored by ZarkoCA).
[AIX] Improve option processing for mabi=vec-extabi and mabi=vec=defaul
Feb 2 2021, 8:00 AM
ZarkoCA closed D95702: [AIX] Improve option processing for mabi=vec-extabi and mabi=vec=defaul.
Feb 2 2021, 7:59 AM · Restricted Project, Restricted Project

Jan 29 2021

ZarkoCA requested review of D95702: [AIX] Improve option processing for mabi=vec-extabi and mabi=vec=defaul.
Jan 29 2021, 2:41 PM · Restricted Project, Restricted Project
ZarkoCA committed rGcaaaebcde462: [AIX] Actually push back "-mabi=vec-extabi" when option is on. (authored by ZarkoCA).
[AIX] Actually push back "-mabi=vec-extabi" when option is on.
Jan 29 2021, 11:13 AM

Jan 26 2021

ZarkoCA committed rG028d7a36681f: Remove requirement for -maltivec to be used when using -mabi=vec-extabi or… (authored by ZarkoCA).
Remove requirement for -maltivec to be used when using -mabi=vec-extabi or…
Jan 26 2021, 4:58 AM
ZarkoCA closed D94986: Remove requirement for -maltivec to be used when using -mabi=vec-extabi or -mabi=vec-default when not using vector code.
Jan 26 2021, 4:58 AM · Restricted Project

Jan 25 2021

ZarkoCA updated the diff for D94986: Remove requirement for -maltivec to be used when using -mabi=vec-extabi or -mabi=vec-default when not using vector code.
  • Emit error message only when option is active
  • Changed description of patch
Jan 25 2021, 5:23 AM · Restricted Project

Jan 20 2021

ZarkoCA added inline comments to D94986: Remove requirement for -maltivec to be used when using -mabi=vec-extabi or -mabi=vec-default when not using vector code.
Jan 20 2021, 10:48 AM · Restricted Project
ZarkoCA updated the diff for D94986: Remove requirement for -maltivec to be used when using -mabi=vec-extabi or -mabi=vec-default when not using vector code.

Readd test for mabi=vec-default.
Add -mcpu=pwr8 to AIX specific test case invocations.

Jan 20 2021, 10:46 AM · Restricted Project

Jan 19 2021

ZarkoCA requested review of D94986: Remove requirement for -maltivec to be used when using -mabi=vec-extabi or -mabi=vec-default when not using vector code.
Jan 19 2021, 10:47 AM · Restricted Project

Dec 12 2020

ZarkoCA committed rGce4040a43d54: [PPC] Check for PPC64 when emitting 64bit specific VSX nodes when pattern… (authored by ZarkoCA).
[PPC] Check for PPC64 when emitting 64bit specific VSX nodes when pattern…
Dec 12 2020, 12:29 PM
ZarkoCA closed D92789: [PPC] Check for PPC64 when emitting 64bit specific VSX nodes when pattern matching built vectors.
Dec 12 2020, 12:28 PM · Restricted Project

Dec 11 2020

ZarkoCA updated the diff for D92789: [PPC] Check for PPC64 when emitting 64bit specific VSX nodes when pattern matching built vectors.

Added further IsPPC64 checks for Big Endian VSX
removed function attributes from test case.

Dec 11 2020, 8:33 AM · Restricted Project
ZarkoCA added inline comments to D92789: [PPC] Check for PPC64 when emitting 64bit specific VSX nodes when pattern matching built vectors.
Dec 11 2020, 8:04 AM · Restricted Project
ZarkoCA updated the diff for D92789: [PPC] Check for PPC64 when emitting 64bit specific VSX nodes when pattern matching built vectors.

Addressed comments:

  • simplified and modified test case per suggestion
  • added comment
Dec 11 2020, 6:13 AM · Restricted Project
ZarkoCA added inline comments to D92789: [PPC] Check for PPC64 when emitting 64bit specific VSX nodes when pattern matching built vectors.
Dec 11 2020, 6:11 AM · Restricted Project

Dec 10 2020

ZarkoCA added a comment to D92789: [PPC] Check for PPC64 when emitting 64bit specific VSX nodes when pattern matching built vectors.

Ping.

Dec 10 2020, 5:50 AM · Restricted Project

Dec 7 2020

ZarkoCA requested review of D92789: [PPC] Check for PPC64 when emitting 64bit specific VSX nodes when pattern matching built vectors.
Dec 7 2020, 2:38 PM · Restricted Project

Nov 30 2020

ZarkoCA committed rGbc7b2688d676: Add -fintegrated-as to second invocation of clang in test case. (authored by ZarkoCA).
Add -fintegrated-as to second invocation of clang in test case.
Nov 30 2020, 9:16 AM

Nov 27 2020

ZarkoCA added inline comments to D78903: [Driver] Add option -fproc-stat-report.
Nov 27 2020, 2:57 PM · Restricted Project
ZarkoCA committed rG979bcbd3a6f7: Add -fintegrated-as to clang invocation (authored by ZarkoCA).
Add -fintegrated-as to clang invocation
Nov 27 2020, 12:57 PM
ZarkoCA committed rGff8e8c1b14ea: [AIX] Enabling vector type arguments and return for AIX (authored by ZarkoCA).
[AIX] Enabling vector type arguments and return for AIX
Nov 27 2020, 6:56 AM
ZarkoCA closed D92117: [AIX] Enabling vector type arguments and return for AIX.
Nov 27 2020, 6:56 AM · Restricted Project

Nov 26 2020

ZarkoCA added inline comments to D78903: [Driver] Add option -fproc-stat-report.
Nov 26 2020, 10:29 AM · Restricted Project
ZarkoCA committed rG6d648e69c094: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX (authored by ZarkoCA).
[AIX] Add support for non var_arg extended vector ABI calling convention on AIX
Nov 26 2020, 9:04 AM
ZarkoCA closed D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX.
Nov 26 2020, 9:04 AM · Restricted Project
ZarkoCA updated the diff for D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX.

Updated regex in test cases to check register correct usage.

Nov 26 2020, 7:26 AM · Restricted Project

Nov 25 2020

ZarkoCA retitled D92117: [AIX] Enabling vector type arguments and return for AIX from [AIX] Enabling vector types for AIX to [AIX] Enabling vector type arguments and return for AIX.
Nov 25 2020, 7:33 PM · Restricted Project
ZarkoCA updated the diff for D92117: [AIX] Enabling vector type arguments and return for AIX.

Added regex and variable for function attribute

Nov 25 2020, 7:29 PM · Restricted Project
ZarkoCA updated the summary of D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX.
Nov 25 2020, 3:12 PM · Restricted Project
ZarkoCA updated the diff for D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX.

Removed passing vector parameters to the stack portion of patch, fixed test case and added test cases for errors.

Nov 25 2020, 3:11 PM · Restricted Project
ZarkoCA retitled D92117: [AIX] Enabling vector type arguments and return for AIX from [AIX] Enabling vectory types for AIX to [AIX] Enabling vector types for AIX.
Nov 25 2020, 11:53 AM · Restricted Project
ZarkoCA requested review of D92117: [AIX] Enabling vector type arguments and return for AIX.
Nov 25 2020, 10:50 AM · Restricted Project
ZarkoCA added inline comments to D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX.
Nov 25 2020, 7:37 AM · Restricted Project
ZarkoCA updated the diff for D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX.

Removed vector long error

Nov 25 2020, 7:35 AM · Restricted Project

Nov 24 2020

ZarkoCA committed rGbe7d425edc64: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI (authored by ZarkoCA).
[PPC][AIX] Add vector callee saved registers for AIX extended vector ABI
Nov 24 2020, 8:02 PM
ZarkoCA closed D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.
Nov 24 2020, 8:02 PM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.

Seems a few test cases require mattr=-altivec to pass with this patch.

Nov 24 2020, 7:33 PM · Restricted Project, Restricted Project
ZarkoCA committed rGc92f29b05e68: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector… (authored by ZarkoCA).
[AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector…
Nov 24 2020, 3:18 PM
ZarkoCA closed D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .
Nov 24 2020, 3:18 PM · Restricted Project, Restricted Project
ZarkoCA added inline comments to D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .
Nov 24 2020, 2:06 PM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .

Simplified option logic as per suggestion.
Removed stray isXCOFF reference.

Nov 24 2020, 2:04 PM · Restricted Project, Restricted Project
ZarkoCA added inline comments to D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .
Nov 24 2020, 10:33 AM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .

Went back to old option selection logic as updated version did not emit an error when selecting 'maltivec` but not mabi=vec-extabi.

Nov 24 2020, 10:24 AM · Restricted Project, Restricted Project

Nov 23 2020

ZarkoCA updated the diff for D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .

Addressed some of the comments.

Nov 23 2020, 1:46 PM · Restricted Project, Restricted Project

Nov 20 2020

ZarkoCA updated the diff for D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .

Addressed comments and added a test to check whether the driver passes these options.

Nov 20 2020, 8:09 AM · Restricted Project, Restricted Project
ZarkoCA added inline comments to D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .
Nov 20 2020, 8:03 AM · Restricted Project, Restricted Project

Nov 19 2020

ZarkoCA updated the diff for D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.

Fixed failing test cases.

Nov 19 2020, 3:17 PM · Restricted Project, Restricted Project
ZarkoCA added inline comments to D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.
Nov 19 2020, 1:10 PM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.

Rebase and remove regmask altivec change.

Nov 19 2020, 1:08 PM · Restricted Project, Restricted Project
ZarkoCA added inline comments to D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .
Nov 19 2020, 12:51 PM · Restricted Project, Restricted Project
ZarkoCA updated the diff for D89684: [AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs. .

Addressed comments:
Added and fixed test cases and changed option selection logic.

Nov 19 2020, 12:45 PM · Restricted Project, Restricted Project

Nov 18 2020

ZarkoCA added inline comments to D88676: [PPC][AIX] Add vector callee saved registers for AIX extended vector ABI.
Nov 18 2020, 12:36 PM · Restricted Project, Restricted Project
ZarkoCA accepted D91265: [PowerPC] Don't reuse the address of an illegal typed load for int_to_fp..
Nov 18 2020, 6:38 AM · Restricted Project, Restricted Project

Nov 13 2020

ZarkoCA updated the diff for D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX.

Rebase to reflect changes in parent revisions.

Nov 13 2020, 9:54 AM · Restricted Project