diff options
author | anoopkg6 <anoop.kumar6@ibm.com> | 2025-10-14 04:53:42 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-14 11:53:42 +0200 |
commit | 6712e20c5261376a6b0015fb3c8d15124757d47d (patch) | |
tree | d936b9a309e60980caf5dfd2db130d0798fde08a /llvm/unittests/Support/SourceMgrTest.cpp | |
parent | 3793e75b7af7e4908316e7869d8fc61517401865 (diff) | |
download | llvm-6712e20c5261376a6b0015fb3c8d15124757d47d.zip llvm-6712e20c5261376a6b0015fb3c8d15124757d47d.tar.gz llvm-6712e20c5261376a6b0015fb3c8d15124757d47d.tar.bz2 |
Add support for flag output operand "=@cc" for SystemZ. (#125970)
Added Support for flag output operand "=@cc", inline assembly constraint
for
SystemZ.
- Clang now accepts "=@cc" assembly operands, and sets 2-bits condition
code
for output operand for SyatemZ.
- Clang currently emits an assertion that flag output operands are
boolean
values, i.e. in the range [0, 2). Generalize this mechanism to allow
targets to specify arbitrary range assertions for any inline assembly
output operand. This will be used to assert that SystemZ two-bit
condition-code values are in the range [0, 4).
- SystemZ backend lowers "@cc" targets by using ipm sequence to extract
condition code from PSW.
- DAGCombine tries to optimize lowered ipm sequence by combining
CCReg and computing effective CCMask and CCValid in combineCCMask for
select_ccmask and br_ccmask.
- Cost computation is done for merging conditionals for branch
instruction
in SelectionDAG, as split may cause branches conditions evaluation goes
across basic block and difficult to combine.
---------
Co-authored-by: anoopkg6 <anoopkg6@github.com>
Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Diffstat (limited to 'llvm/unittests/Support/SourceMgrTest.cpp')
0 files changed, 0 insertions, 0 deletions