LLVM  14.0.0git
Functions | Variables
lib/Target/ARM/README.txt File Reference
#include <algorithm>
Include dependency graph for README.txt:

Functions

Reimplement select in terms of SEL *We would really like to support but we need to prove that the add doesn t need to overflow between the two bit chunks *Implement pre post increment support (e.g. PR935) *Implement smarter const ant generation for binops with large immediates. A few ARMv6T2 ops should be pattern matched
 
void cpy (struct foo *a, struct foo *b)
 
llvm code (-O2) ldrb r3
 
llvm ldr ldrb ldrh str strh strb strb gcc and possibly speed as well (we don 't have a good way to measure on ARM). *Consider this silly example
 
void foo (struct s S)
 
S is passed via registers r2 But gcc stores them to the and then reload them to and r3 before issuing the call (r0 contains the address of the format string)
 
mov r0 ldr L5 sub r0 lr needed for prologue ldmia ip add bx lr r0 (and later ip) is the hidden parameter from caller to store the value in. The first ldmia loads the const ants into r0
 
<%struct.s * > cast struct s *S to sbyte *< sbyte * > sbyte * cast ({ double, int } *%C.0.904 to sbyte *)
 
<%struct.s * > cast struct s *S to sbyte *< sbyte * > sbyte uint cast struct s *agg result to sbyte *< sbyte * > sbyte uint cast struct s *memtmp to sbyte *< sbyte * > sbyte uint ret void llc ends up issuing two memcpy s (the first memcpy becomes 3 loads from constantpool). Perhaps we should 1) fix llvm-gcc so the memcpy is translated into a number of load and stores
 
<%struct.s * > cast struct s *S to sbyte *< sbyte * > sbyte uint cast struct s *agg result to sbyte *< sbyte * > sbyte uint cast struct s *memtmp to sbyte *< sbyte * > sbyte uint ret void llc ends up issuing two memcpy or custom lower memcpy (of small size) to be ldmia/stmia. I think option 2 is better but the current register allocator cannot allocate a chunk of registers at a time. A feasible temporary solution is to use specific physical registers at the lowering time for small(<
 
return() int (acc >> 32)
 
Should compile to use SMLAL (Signed Multiply Accumulate Long) which multiplies two signed 32-bit values to produce a 64-bit value
 
Should compile to use and accumulates this with a bit value We currently get this with both v4 and r0 smull r2 adds r1 adc r0 bx lr bool full_add (unsigned a, unsigned b)
 
bool no_overflow (unsigned a, unsigned b)
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For and absolute value operations are well defined and standard both for vector and scalar types The current NEON specific intrinsics for count leading zeros and count one bits could perhaps be replaced by the target independent ctlz and ctpop intrinsics It may also make sense to add a target independent ctls intrinsic for count leading sign bits the backend could use the target independent SDNodes for these operations ARMv6 has scalar saturating and halving adds and subtracts The same intrinsics could possibly be used for both NEON s vector implementations of those operations and the ARMv6 scalar versions Split out LDR(literal) from normal ARM LDR instruction. Also consider spliting LDR into imm12 and so_reg forms. This allows us to clean up some code. e.g. ARMLoadStoreOptimizer does not need to look at LDR(literal) and LDR(so_reg) while ARMConstantIslandPass only need to worry about LDR(literal). Constant island pass should make use of full range SoImm values for LEApcrel. Be careful though as the last attempt caused infinite looping on lencod. Predication issue. This function int foo (int x)
 
We currently LCPI0_0 and r2 ldr LCPI0_1 and r2 orr r0 bx lr We should be able to replace the second ldr and with a bic (i.e. reuse the constant which was already loaded). Not sure what 's necessary to do that. The code generated for bswap on armv4/5(CPUs without rev) is less than ideal
 
a mov and lsr and lsl orr lsr orr lsl orr r1 bx lr Something like the following would be better (fewer instructions/registers)
 
currently llvm gcc generates something like this (nice branchless code I 'd say)
 

Variables

Reimplement select in terms of SEL *We would really like to support UXTAB16
 
__Z6slow4bii __pad1__
 
__Z6slow4bii r1 movgt r1
 
__Z6slow4bii r1 movgt r0 mov r0
 
__Z6slow4bii r1 movgt r0 mov r1 bx lr
 
llvm ldr r2
 
llvm ldr ldrb r12
 
llvm ldr ldrb ldrh str strh strb r3
 
_bar __pad2__
 
_bar sp
 
_bar mov r4
 
_bar mov r0 mov r5
 
_bar mov r0 mov r1 fldd d0
 
_bar mov r0 mov r1 fldd LCPI1_0 fmrrd d0 bl _foo fmdrr r5 fmsr s2
 
_bar mov r0 mov r1 fldd LCPI1_0 fmrrd d0 bl _foo fmdrr r5 fmsr r0 fsitod d1
 
_bar mov r0 mov r1 fldd LCPI1_0 fmrrd d0 bl _foo fmdrr r5 fmsr r0 fsitod s2 faddd d0 fmrrd d0 ldmfd r0 mov r1 the copys to callee save registers and the fact they are only being used by the fmdrr instruction It would have been better had the fmdrr been scheduled before the call and place the result in a callee save DPR register The two mov ops would not have been necessary Calling convention related stuff
 
int s1
 
S is passed via registers r2 But gcc stores them to the stack
 
add r7
 
add sub stmia L5 ldr L2
 
add sub stmia L5 ldr pc
 
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a stmia
 
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a ldmia
 
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a ldr
 
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even worse
 
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
 
mov ip
 
mov r0 ldr L5 sub r0 lr needed for prologue ldmia ip add bx lr r2 The last stmia stores r2 into the address passed in However
 
mov r0 ldr L5 sub r0 lr needed for prologue ldmia ip add bx lr r2 The last stmia stores r2 into the address passed in there is one additional stmia that stores and r2 to some stack location The store is dead The llvm gcc generated code looks like this
 
mov r0 ldr L5 sub r0 lr needed for prologue ldmia ip add bx lr r2 The last stmia stores r2 into the address passed in there is one additional stmia that stores and r2 to some stack location The store is dead The llvm gcc generated code looks like align = load <16 x i8>* %b
 
<%struct.s * > memtmp = alloca %struct.s
 
<%struct.s * > cast struct s *S to sbyte *< sbyte * > sbyte uint
 
the resulting code requires compare and branches when * p<=2 or *p==5, the same number if *p==4or *p >
 
the resulting code requires compare and branches when and ifp
 
the resulting code requires compare and branches when and if the revised code is larger
 
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More seriously
 
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each comparison
 
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only one
 
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements possible
 
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical This
 
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int b
 
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int int c
 
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int int int d
 
 acc = (long long)c * (long long)d
 
Should compile to use and accumulates this with a bit value We currently get this with both v4 and v6
 
Should compile to
 
Should compile r2 movcc movcs str strb mov lr _Z11no_overflowjj
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr not
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr __Z11no_overflowjj
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general use
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent SDNodes
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For example
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For maximum
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For minimum
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For and absolute value operations are well defined and standard operations
 
Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For and absolute value operations are well defined and standard both for vector and scalar types The current NEON specific intrinsics for count leading zeros and count one bits could perhaps be replaced by the target independent ctlz and ctpop intrinsics It may also make sense to add a target independent ctls intrinsic for count leading sign bits Likewise
 
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional move
 
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing list
 
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning at
 
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning while CMP sets them like a subtract Therefore to be able to use CMN for comparisons other than the Z bit
 
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning while CMP sets them like a subtract Therefore to be able to use CMN for comparisons other than the Z we ll need additional logic to reverse the conditionals associated with the comparison Perhaps a pseudo instruction for the with a post codegen pass to clean up and handle the condition codes See PR5694 for testcase Given the following on armv5
 
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning while CMP sets them like a subtract Therefore to be able to use CMN for comparisons other than the Z we ll need additional logic to reverse the conditionals associated with the comparison Perhaps a pseudo instruction for the with a post codegen pass to clean up and handle the condition codes See PR5694 for testcase Given the following on int B
 
We currently generate
 
a __pad3__
 
should just be implemented with a CLZ instruction Since there are other targets
 
should just be implemented with a CLZ instruction Since there are other e g
 
should just be implemented with a CLZ instruction Since there are other e PPC
 
should just be implemented with a CLZ instruction Since there are other e that share this behavior
 
should just be implemented with a CLZ instruction Since there are other e that share this it would be best to implement this in a target independent way
 
should just be implemented with a CLZ instruction Since there are other e that share this it would be best to implement this in a target independent as zero is the default value for the binary encoder e add r0 add r5 Register operands should be distinct That is
 
should just be implemented with a CLZ instruction Since there are other e that share this it would be best to implement this in a target independent as zero is the default value for the binary encoder e add r0 add r5 Register operands should be distinct That when the encoding does not require two syntactical operands to refer to the same register
 

Function Documentation

◆ better()

a mov and lsr and lsl orr lsr orr lsl orr r1 bx lr Something like the following would be better ( fewer instructions registers)

Definition at line 623 of file README.txt.

◆ bic()

We currently LCPI0_0 and r2 ldr LCPI0_1 and r2 orr r0 bx lr We should be able to replace the second ldr and with a bic ( i.e. reuse the constant which was already  loaded)

Definition at line 604 of file README.txt.

◆ call()

S is passed via registers r2 But gcc stores them to the and then reload them to and r3 before issuing the call ( r0 contains the address of the format  string)

◆ cast()

<%struct.s*> cast struct s* S to sbyte*<sbyte*> sbyte* cast ( { double, int } *%C.0.904 to sbyte *  )

◆ code()

llvm code ( O2)

◆ cpy()

void cpy ( struct foo a,
struct foo b 
)

Definition at line 122 of file README.txt.

References b.

◆ foo() [1/2]

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For and absolute value operations are well defined and standard both for vector and scalar types The current NEON specific intrinsics for count leading zeros and count one bits could perhaps be replaced by the target independent ctlz and ctpop intrinsics It may also make sense to add a target independent ctls intrinsic for count leading sign bits the backend could use the target independent SDNodes for these operations ARMv6 has scalar saturating and halving adds and subtracts The same intrinsics could possibly be used for both NEON s vector implementations of those operations and the ARMv6 scalar versions Split out LDR (literal) from normal ARM LDR instruction. Also consider spliting LDR into imm12 and so_reg forms. This allows us to clean up some code. e.g. ARMLoadStoreOptimizer does not need to look at LDR (literal) and LDR (so_reg) while ARMConstantIslandPass only need to worry about LDR (literal). Constant island pass should make use of full range SoImm values for LEApcrel. Be careful though as the last attempt caused infinite looping on lencod. Predication issue. This function int foo ( int  x)

Definition at line 519 of file README.txt.

◆ foo() [2/2]

void foo ( struct s  S)

Definition at line 185 of file README.txt.

References S.

◆ full_add()

Should compile to use and accumulates this with a bit value We currently get this with both v4 and r0 smull r2 adds r1 adc r0 bx lr bool full_add ( unsigned  a,
unsigned  b 
)

Definition at line 441 of file README.txt.

References b.

Referenced by no_overflow().

◆ int()

return() int ( acc >>  32)

◆ memcpy()

<%struct.s*> cast struct s* S to sbyte*<sbyte*> sbyte uint cast struct s* agg result to sbyte*<sbyte*> sbyte uint cast struct s* memtmp to sbyte*<sbyte*> sbyte uint ret void llc ends up issuing two memcpy or custom lower memcpy ( of small  size)

Referenced by llvm::msgpack::Document::addString(), llvm::StringMapEntryBase::allocateWithKey(), llvm::APInt::APInt(), llvm::object::append(), llvm::bit_cast(), llvm::BitsToDouble(), llvm::BitsToFloat(), llvm::CachedHashString::CachedHashString(), llvm::MemoryOpRemark::canHandle(), checkThreadCommand(), llvm::MemIntrinsic::classof(), llvm::MemTransferInst::classof(), llvm::MemCpyInst::classof(), llvm::AnyMemIntrinsic::classof(), llvm::AnyMemTransferInst::classof(), llvm::AnyMemCpyInst::classof(), llvm::object::coffnamecpy(), llvm::hashing::detail::hash_combine_recursive_helper::combine_data(), llvm::pdb::PDBFileBuilder::commit(), llvm::detail::IEEEFloat::convertToHexString(), llvm::ConvertUTF8toWide(), copyBytesForDefRange(), llvm::orc::shared::WrapperFunctionResult::copyFrom(), llvm::DenseMapBase< SmallDenseMap< llvm::Value *, int, 4, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >, llvm::Value *, int, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >::copyFrom(), llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD::copyString(), CopyStringRef(), llvm::jitlink::createLinkGraphFromMachOObject(), llvm::IRBuilderBase::CreateMemCpy(), llvm::DoubleToBits(), dumpUUID(), llvm::RuntimeDyldImpl::emitSection(), llvm::gsym::GsymCreator::encode(), llvm::hashing::detail::fetch32(), llvm::hashing::detail::fetch64(), llvm::pdb::GSIHashStreamBuilder::finalizeBuckets(), llvm::FloatToBits(), llvm::InstCombinerImpl::foldAllocaCmp(), llvm::msf::MSFBuilder::generateLayout(), getAccessType(), getAsSigned(), llvm::GCOVOptions::getDefault(), llvm::MemoryLocation::getForArgument(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getIntrinsicInstrCost(), getMemBufferCopyImpl(), llvm::ARMTTIImpl::getNumMemOps(), llvm::MemSDNode::getRawSubclassData(), getStruct(), getStructOrErr(), getUniversalBinaryStruct(), llvm::SystemZTTIImpl::getUnrollingPreferences(), llvm::codeview::GloballyHashedType::GloballyHashedType(), llvm::SmallVectorBase< SmallVectorSizeType< T > >::grow_pod(), hasAnalyzableMemoryWrite(), llvm::SHA1::hash(), llvm::SHA256::hash(), llvm::ExecutionEngine::InitializeMemory(), llvm::yaml::ScalarTraits< char_16 >::input(), llvm::APInt::insertBits(), isAddressUse(), isAllocSiteRemovable(), isCallPromotable(), isRemovable(), isShortenableAtTheEnd(), isUseOnlyIntrinsic(), lle_X_memcpy(), lle_X_sprintf(), LLVMCreateMCJITCompilerForModule(), LLVMDisasmInstruction(), LLVMInitializeMCJITCompilerOptions(), llvm::LoadIntFromMemory(), llvm::ExecutionEngine::LoadValueFromMemory(), llvm::IntrinsicLowering::LowerIntrinsicCall(), makeUstarHeader(), llvm::codeview::CodeViewRecordIO::mapGuid(), llvm::ARMTTIImpl::maybeLoweredToCall(), llvm::raw_ostream::operator<<(), llvm::TargetLibraryInfoImpl::operator=(), llvm::APInt::operator=(), llvm::LibCallSimplifier::optimizeCall(), llvm::performOptimizedStructLayout(), llvm::SmallVectorTemplateBase< T, true >::push_back(), llvm::support::endian::read(), llvm::orc::shared::SPSInputBuffer::read(), llvm::msgpack::Reader::read(), llvm::support::endian::readAtBitAlignment(), llvm::xray::readBinaryFormatHeader(), readFloat32(), readFloat64(), llvm::returnTypeIsEligibleForTailCall(), llvm::reverseBits(), llvm::rustDemangle(), llvm::StringSaver::save(), serializePublic(), llvm::APInt::sext(), stabilize(), llvm::hashing::detail::store_and_advance(), llvm::StoreIntToMemory(), llvm::ExecutionEngine::StoreValueToMemory(), supportedAddressingMode(), llvm::TargetLibraryInfoImpl::TargetLibraryInfoImpl(), llvm::CodeViewYAML::detail::UnknownSymbolRecord::toCodeViewSymbol(), llvm::codeview::TypeServer2Record::TypeServer2Record(), llvm::SmallVectorTemplateBase< T, true >::uninitialized_copy(), llvm::detail::UniqueFunctionBase< R, P... >::UniqueFunctionBase(), llvm::MD5::update(), llvm::AArch64RegisterInfo::UpdateCustomCallPreservedMask(), UpgradeIntrinsicFunction1(), llvm::InstCombinerImpl::visitCallInst(), llvm::codeview::SymbolSerializer::visitSymbolEnd(), llvm::orc::shared::SPSOutputBuffer::write(), llvm::StringTableBuilder::write(), llvm::support::endian::write(), llvm::object::CodeSignatureSection::write(), llvm::support::endian::writeAtBitAlignment(), llvm::orc::rt_bootstrap::writeBuffersWrapper(), llvm::MutableBinaryByteStream::writeBytes(), llvm::AppendingBinaryByteStream::writeBytes(), llvm::ifs::writeELFBinaryToFile(), llvm::writeModule(), llvm::orc::OrcAArch64::writeResolverCode(), llvm::orc::OrcX86_64_SysV::writeResolverCode(), llvm::orc::OrcX86_64_Win32::writeResolverCode(), llvm::orc::OrcI386::writeResolverCode(), llvm::orc::OrcMips32_Base::writeResolverCode(), llvm::orc::OrcMips64::writeResolverCode(), llvm::orc::OrcAArch64::writeTrampolines(), llvm::orc::OrcX86_64_Base::writeTrampolines(), writeUint8(), writeUstarHeader(), and llvm::APInt::zext().

◆ no_overflow()

bool no_overflow ( unsigned  a,
unsigned  b 
)

Definition at line 443 of file README.txt.

References b, and full_add().

◆ r0()

mov r0 ldr L5 sub r0 lr needed for prologue ldmia ip add bx lr r0 ( and later  ip) const

◆ s()

<%struct.s*> cast struct s* S to sbyte*<sbyte*> sbyte uint cast struct s* agg result to sbyte*<sbyte*> sbyte uint cast struct s* memtmp to sbyte*<sbyte*> sbyte uint ret void llc ends up issuing two memcpy s ( the first memcpy becomes 3 loads from  constantpool)

◆ SMLAL()

Should compile to use SMLAL ( Signed Multiply Accumulate  Long)

◆ support()

Reimplement select in terms of SEL* We would really like to support but we need to prove that the add doesn t need to overflow between the two bit chunks* Implement pre post increment support ( e.g.  PR935) const

◆ this()

currently llvm gcc generates something like this ( nice branchless code I 'd  say)

Definition at line 641 of file README.txt.

References int, and x.

◆ well()

llvm ldr ldrb ldrh str strh strb strb gcc and possibly speed as well ( we don 't have a good way to measure on  ARM)

Definition at line 138 of file README.txt.

Variable Documentation

◆ __pad1__

__Z6slow4bii __pad1__

Definition at line 61 of file README.txt.

◆ __pad2__

_bar __pad2__

Definition at line 151 of file README.txt.

◆ __pad3__

a __pad3__

Definition at line 614 of file README.txt.

◆ __Z11no_overflowjj

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr __Z11no_overflowjj

Definition at line 474 of file README.txt.

◆ _Z11no_overflowjj

Should compile r2 movcc movcs str strb mov lr _Z11no_overflowjj

Definition at line 457 of file README.txt.

◆ acc

acc = (long long)c * (long long)d

Definition at line 420 of file README.txt.

◆ align

Clang compiles this i1 i64 store i64 i64 store i64 i64 store i64 align = load <16 x i8>* %b

◆ armv5

compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning while CMP sets them like a subtract Therefore to be able to use CMN for comparisons other than the Z we ll need additional logic to reverse the conditionals associated with the comparison Perhaps a pseudo instruction for the with a post codegen pass to clean up and handle the condition codes See PR5694 for testcase Given the following on armv5

Definition at line 592 of file README.txt.

◆ at

compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning at

Definition at line 582 of file README.txt.

Referenced by llvm::RegionBase< RegionTraits< Function > >::getBBNode().

◆ b

< i32 > ret i32 conv5 And the following x86 edi dil sete al movzbl eax ret A cmpb instead of the xorl testb would be one instruction shorter Given the following C int b
Initial value:
{
int aa = 0

Definition at line 418 of file README.txt.

Referenced by abort_gzip(), llvm::SpillPlacement::Node::addLink(), llvm::IntervalMapInfo< T >::adjacent(), llvm::IntervalMapHalfOpenInfo< SlotIndex >::adjacent(), llvm::sys::path::append(), ARM64EmitUnwindCode(), llvm::SwitchCG::SwitchLowering::buildBitTests(), NoAutoPaddingScope::changeAndComment(), checkHVXPipes(), llvm::detail::combineHashValue(), CompareSSIOffset(), llvm::CompareVars(), llvm::TargetRegisterInfo::composeSubRegIndices(), llvm::safestack::StackLayout::computeLayout(), cpy(), decodeFIOBIT(), findPartitions(), full_add(), llvm::GCOVBlock::getCyclesCount(), llvm::AArch64InstrInfo::getOutliningCandidateInfo(), llvm::object::MachOObjectFile::guessLibraryShortName(), llvm::hashing::detail::hash_16_bytes(), llvm::hashing::detail::hash_17to32_bytes(), llvm::hashing::detail::hash_1to3_bytes(), llvm::hashing::detail::hash_33to64_bytes(), llvm::hashing::detail::hash_9to16_bytes(), llvm::IntervalMap< IndexT, char >::insert(), llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::insert(), llvm::IntervalMapImpl::LeafNode< KeyT, ValT, N, Traits >::insertFrom(), llvm::DenseMapInfo< IRPosition >::isEqual(), llvm::IntEqClasses::join(), KnuthDiv(), llvm::hashing::detail::hash_state::mix_32_bytes(), no_overflow(), llvm::IntervalMapInfo< T >::nonEmpty(), llvm::IntervalMapHalfOpenInfo< SlotIndex >::nonEmpty(), llvm::object::operator!=(), llvm::operator&(), llvm::operator*(), llvm::operator+(), llvm::operator-(), llvm::object::operator<(), llvm::object::operator==(), llvm::operator^(), llvm::COFF::operator|(), llvm::operator|(), outliningCandidatesSigningKeyConsensus(), outliningCandidatesSigningScopeConsensus(), outliningCandidatesV8_3OpsConsensus(), llvm::IntervalMap< IndexT, char >::overlaps(), llvm::DWARFUnitIndex::parse(), llvm::BitVector::reference::reference(), rescheduleLexographically(), llvm::sys::path::root_directory(), llvm::sys::path::root_name(), llvm::sys::path::root_path(), llvm::SIScheduler::scheduleVariant(), llvm::SDNodeFlags::setAllowContract(), llvm::SDNodeFlags::setAllowReassociation(), llvm::SDNodeFlags::setAllowReciprocal(), llvm::SDNodeFlags::setApproximateFuncs(), llvm::object::Elf_Sym_Impl< ELFT >::setBinding(), llvm::ELF::Elf32_Sym::setBinding(), llvm::ELF::Elf64_Sym::setBinding(), llvm::object::Elf_Sym_Impl< ELFT >::setBindingAndType(), llvm::ELF::Elf32_Sym::setBindingAndType(), llvm::ELF::Elf64_Sym::setBindingAndType(), llvm::wholeprogramdevirt::AccumBitVector::setBit(), llvm::MachineFunction::setCallsEHReturn(), llvm::MachineFunction::setCallsUnwindInit(), llvm::SDNodeFlags::setExact(), llvm::SDNode::setHasDebugValue(), llvm::Instruction::setHasNoSignedWrap(), llvm::MachineModuleInfo::setHasNosplitStack(), llvm::Instruction::setHasNoUnsignedWrap(), llvm::MachineModuleInfo::setHasSplitStack(), llvm::Instruction::setIsExact(), llvm::SDNodeFlags::setNoFPExcept(), llvm::SDNodeFlags::setNoInfs(), llvm::SDNodeFlags::setNoNaNs(), llvm::SDNodeFlags::setNoSignedWrap(), llvm::SDNodeFlags::setNoSignedZeros(), llvm::SDNodeFlags::setNoUnsignedWrap(), llvm::GCNSubtarget::setScalarizeGlobalBehavior(), llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStop(), llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::setStopUnchecked(), llvm::MachineModuleInfo::setUsesMorestackAddr(), llvm::MachineModuleInfo::setUsesMSVCFloatingPoint(), llvm::SwitchCG::sortAndRangeify(), llvm::IntervalMapOverlaps< MapA, MapB >::start(), llvm::IntervalMapOverlaps< MapA, MapB >::stop(), llvm::IntervalMapInfo< T >::stopLess(), llvm::IntervalMapHalfOpenInfo< SlotIndex >::stopLess(), llvm::opt::StrCmpOptionNameIgnoreCase(), test(), llvm::UnrollAndJamLoop(), llvm::msgpack::Writer::write(), x(), and zero().

◆ B

compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning while CMP sets them like a subtract Therefore to be able to use CMN for comparisons other than the Z we ll need additional logic to reverse the conditionals associated with the comparison Perhaps a pseudo instruction for the with a post codegen pass to clean up and handle the condition codes See PR5694 for testcase Given the following on int B
Initial value:
{
return (A&-8388481)|(B&8388480)

Definition at line 592 of file README.txt.

Referenced by llvm::MachineInstrSpan::begin(), llvm::MatrixBuilder< IRBuilderTy >::CreateAdd(), llvm::FixedPointBuilder< IRBuilderTy >::CreateAdd(), llvm::MatrixBuilder< IRBuilderTy >::CreateColumnMajorLoad(), llvm::MatrixBuilder< IRBuilderTy >::CreateColumnMajorStore(), llvm::FixedPointBuilder< IRBuilderTy >::CreateDiv(), llvm::FixedPointBuilder< IRBuilderTy >::CreateEQ(), llvm::MatrixBuilder< IRBuilderTy >::CreateExtractElement(), llvm::FixedPointBuilder< IRBuilderTy >::CreateFixedToFloating(), llvm::FixedPointBuilder< IRBuilderTy >::CreateFloatingToFixed(), llvm::FixedPointBuilder< IRBuilderTy >::CreateGE(), llvm::FixedPointBuilder< IRBuilderTy >::CreateGT(), llvm::FixedPointBuilder< IRBuilderTy >::CreateLE(), llvm::FixedPointBuilder< IRBuilderTy >::CreateLT(), llvm::MatrixBuilder< IRBuilderTy >::CreateMatrixInsert(), llvm::MatrixBuilder< IRBuilderTy >::CreateMatrixMultiply(), llvm::MatrixBuilder< IRBuilderTy >::CreateMatrixTranspose(), llvm::FixedPointBuilder< IRBuilderTy >::CreateMul(), llvm::FixedPointBuilder< IRBuilderTy >::CreateNE(), llvm::MatrixBuilder< IRBuilderTy >::CreateScalarDiv(), llvm::MatrixBuilder< IRBuilderTy >::CreateScalarMultiply(), llvm::FixedPointBuilder< IRBuilderTy >::CreateShl(), llvm::FixedPointBuilder< IRBuilderTy >::CreateShr(), llvm::MatrixBuilder< IRBuilderTy >::CreateSub(), llvm::FixedPointBuilder< IRBuilderTy >::CreateSub(), llvm::FixedPointBuilder< IRBuilderTy >::FixedPointBuilder(), llvm::object::Slice::getBinary(), llvm::MachineInstrSpan::MachineInstrSpan(), and llvm::MatrixBuilder< IRBuilderTy >::MatrixBuilder().

◆ behavior

should just be implemented with a CLZ instruction Since there are other e that share this behavior

Definition at line 709 of file README.txt.

◆ bit

compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning while CMP sets them like a subtract Therefore to be able to use CMN for comparisons other than the Z bit

◆ c

the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int int c

◆ comparison

compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning while CMP sets them like a subtract Therefore to be able to use CMN for comparisons other than the Z we ll need additional logic to reverse the conditionals associated with the comparison Perhaps a pseudo instruction for the comparison

Definition at line 401 of file README.txt.

◆ d

the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int int int d

◆ d0

_bar mov r0 mov r1 fldd LCPI1_0 fmrrd d0 bl _foo fmdrr r5 fmsr r0 fsitod s2 faddd d0

Definition at line 155 of file README.txt.

Referenced by FloatLiteralImpl< Float >::printLeft().

◆ d1

_bar mov r0 mov r1 fldd LCPI1_0 fmrrd d0 bl _foo fmdrr r5 fmsr r0 fsitod s2 faddd d1

Definition at line 160 of file README.txt.

Referenced by copy_if_else(), and FloatLiteralImpl< Float >::printLeft().

◆ example

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For example

Definition at line 489 of file README.txt.

◆ g

should just be implemented with a CLZ instruction Since there are other e that share this it would be best to implement this in a target independent as zero is the default value for the binary encoder e add r0 add r5 Register operands should be distinct That when the encoding does not require two syntactical operands to refer to the same two different registers should be used in the test so as to catch errors where the operands are swapped in the encoding e g

◆ generate

We currently generate

Definition at line 597 of file README.txt.

◆ However

mov r0 ldr L5 sub r0 lr needed for prologue ldmia ip add bx lr r2 The last stmia stores r2 into the address passed in However

Definition at line 229 of file README.txt.

◆ ip

mov ip

Definition at line 214 of file README.txt.

◆ is

should just be implemented with a CLZ instruction Since there are other e that share this it would be best to implement this in a target independent as zero is the default value for the binary encoder e add r0 add r5 Register operands should be distinct That is

◆ L2

mov r0 ldr L5 sub L2

◆ larger

the resulting code requires compare and branches when and if the revised code is larger

Definition at line 397 of file README.txt.

◆ ldmia

add sub stmia L5 ldr r0 bl L_printf $stub Instead of a ldmia

Definition at line 204 of file README.txt.

◆ ldr

add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a ldr

Definition at line 204 of file README.txt.

◆ Likewise

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For and absolute value operations are well defined and standard both for vector and scalar types The current NEON specific intrinsics for count leading zeros and count one bits could perhaps be replaced by the target independent ctlz and ctpop intrinsics It may also make sense to add a target independent ctls intrinsic for count leading sign bits Likewise

Definition at line 495 of file README.txt.

◆ list

compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing list

Definition at line 568 of file README.txt.

◆ lr

__Z6slow4bii r1 movgt r0 mov r1 bx lr

Definition at line 65 of file README.txt.

◆ maximum

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For maximum

◆ memtmp

<%struct.s*> memtmp = alloca %struct.s

Definition at line 237 of file README.txt.

◆ minimum

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For minimum

◆ move

compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional move

Definition at line 546 of file README.txt.

Referenced by llvm::orc::absoluteSymbols(), llvm::opt::Option::accept(), llvm::OverlapStats::accumulateCounts(), llvm::orc::IRLayer::add(), llvm::orc::ObjectLinkingLayer::add(), llvm::orc::ObjectLayer::add(), llvm::orc::SymbolLookupSet::add(), llvm::ConstantRange::add(), llvm::DwarfCompileUnit::addAddress(), llvm::orc::addAliases(), llvm::SCCPSolver::addAnalysis(), llvm::SCCPInstVisitor::addAnalysis(), addAnnotationRemarksPass(), llvm::MCJIT::addArchive(), llvm::AsmPrinter::addAsmPrinterHandler(), llvm::orc::shared::MultiThreadedRPCEndpoint< ChannelT, FunctionIdT, SequenceNumberT >::addAsyncHandler(), llvm::orc::shared::SingleThreadedRPCEndpoint< shared::RawByteChannel >::addAsyncHandler(), llvm::orc::shared::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< ChannelT, uint32_t, uint32_t >, ChannelT, uint32_t, uint32_t >::addAsyncHandlerImpl(), llvm::xray::Profile::addBlock(), llvm::MachineFunction::addCallArgsForwardingRegs(), llvm::SelectionDAG::addCallSiteInfo(), llvm::pdb::UDTLayoutBase::addChildToLayout(), llvm::RecordKeeper::addClass(), llvm::DwarfCompileUnit::addComplexAddress(), llvm::PBQPRAConstraintList::addConstraint(), llvm::vfs::RedirectingFileSystem::DirectoryEntry::addContent(), llvm::jitlink::MachOLinkGraphBuilder::addCustomSectionParser(), llvm::RecordKeeper::addDef(), llvm::DwarfDebug::addDwarfTypeUnitType(), llvm::CFGMST< Edge, BBInfo >::addEdge(), llvm::PBQP::Graph< RegAllocSolverImpl >::addEdge(), llvm::SetTheory::addExpander(), llvm::DwarfExpression::addExpression(), llvm::PassManagerBuilder::addExtension(), llvm::vfs::InMemoryFileSystem::addFile(), llvm::vfs::InMemoryFileSystem::addFileNoOwn(), llvm::gsym::GsymCreator::addFunctionInfo(), llvm::orc::JITDylib::addGenerator(), llvm::PassManagerBuilder::addGlobalExtension(), llvm::DwarfCompileUnit::addGlobalNameForTypeUnit(), llvm::DwarfCompileUnit::addGlobalTypeUnitType(), llvm::ModuleSummaryIndex::addGlobalValueSummary(), llvm::orc::shared::MultiThreadedRPCEndpoint< ChannelT, FunctionIdT, SequenceNumberT >::addHandler(), llvm::orc::shared::SingleThreadedRPCEndpoint< shared::RawByteChannel >::addHandler(), llvm::orc::shared::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< ChannelT, uint32_t, uint32_t >, ChannelT, uint32_t, uint32_t >::addHandlerImpl(), llvm::mca::Context::addHardwareUnit(), llvm::MultiHazardRecognizer::AddHazardRecognizer(), llvm::SourceMgr::AddIncludeFile(), llvm::pdb::PDBFileBuilder::addInjectedSource(), llvm::orc::LLJIT::addIRModule(), llvm::orc::LLLazyJIT::addLazyIRModule(), llvm::ThinLTOCodeGenerator::addModule(), llvm::ExecutionEngine::addModule(), llvm::MCJIT::addModule(), llvm::ModuleInlinerWrapperPass::addModulePass(), llvm::DefaultVLIWScheduler::addMutation(), llvm::VLIWPacketizerList::addMutation(), llvm::SwingSchedulerDAG::addMutation(), llvm::ScheduleDAGMI::addMutation(), llvm::SourceMgr::AddNewSourceBuffer(), llvm::PBQP::Graph< RegAllocSolverImpl >::addNode(), llvm::orc::LLJIT::addObjectFile(), llvm::MCJIT::addObjectFile(), llvm::SetTheory::addOperator(), llvm::PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >::addPass(), llvm::PassManager< LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >::addPass(), llvm::LLVMTargetMachine::addPassesToEmitMC(), llvm::orc::ObjectLinkingLayer::addPlugin(), llvm::pdb::GSIStreamBuilder::addPublicSymbols(), llvm::DwarfFile::addRange(), llvm::InstrProfWriter::addRecord(), llvm::DwarfCompileUnit::addScopeRangeList(), llvm::WebAssemblyAsmPrinter::addSignature(), llvm::msf::MSFBuilder::addStream(), llvm::WebAssemblyException::addSubException(), llvm::RegionBase< RegionTraits< Function > >::addSubRegion(), llvm::WebAssemblyExceptionInfo::addTopLevelException(), llvm::DwarfFile::addUnit(), llvm::DWARFUnitVector::addUnit(), addVCallToSet(), llvm::jitlink::InProcessMemoryManager::allocate(), llvm::orc::OrcRPCEPCJITLinkMemoryManager< OrcRPCEPCImplT >::allocate(), llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::allUsesReplacedWith(), llvm::BitcodeAnalyzer::analyze(), llvm::object::ELFFile< ELFT >::android_relas(), annotateAllFunctions(), llvm::any_cast(), llvm::orc::SymbolLookupSet::append(), llvm::orc::shared::TrivialSPSSequenceDeserialization< SPSElementTagT, std::vector< T > >::append(), llvm::orc::shared::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< ChannelT, uint32_t, uint32_t >, ChannelT, uint32_t, uint32_t >::appendCallAsync(), llvm::appendReversedLoopsToWorklist(), llvm::mca::Pipeline::appendStage(), llvm::orc::shared::detail::WrapperFunctionHandlerHelper< RetT(ArgTs...), ResultSerializer, SPSTagTs... >::apply(), llvm::ErrorHandlerTraits< Error(&)(std::unique_ptr< ErrT >)>::apply(), llvm::ErrorHandlerTraits< void(&)(std::unique_ptr< ErrT >)>::apply(), llvm::orc::shared::detail::WrapperFunctionAsyncHandlerHelper< RetT(SendResultT, ArgTs...), ResultSerializer, SPSTagTs... >::applyAsync(), llvm::json::Array::Array(), llvm::ConstantRange::ashr(), llvm::ThreadPool::async(), llvm::TaskQueue::async(), llvm::DwarfCompileUnit::attachRangesOrLowHighPC(), llvm::TimeTraceProfiler::begin(), llvm::BTFDebug::beginFunctionImpl(), llvm::ConstantRange::binaryAnd(), llvm::BinaryOperation::BinaryOperation(), llvm::ConstantRange::binaryOr(), llvm::remarks::BitstreamRemarkSerializer::BitstreamRemarkSerializer(), llvm::cflaa::StratifiedSetsBuilder< T >::build(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::SwitchCG::SwitchLowering::buildJumpTable(), llvm::PassBuilder::buildLTODefaultPipeline(), llvm::PassBuilder::buildModuleOptimizationPipeline(), llvm::PassBuilder::buildModuleSimplificationPipeline(), llvm::buildModuleSummaryIndex(), llvm::PassBuilder::buildO0DefaultPipeline(), llvm::orc::buildSimpleReexportsAliasMap(), llvm::cacheAnnotationFromMD(), llvm::orc::shared::ParallelCallGroup::call(), llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>::callAsync(), llvm::orc::shared::WrapperFunction< void(SPSTagTs...)>::callAsync(), llvm::orc::ExecutorProcessControl::callSPSWrapperAsync(), llvm::orc::ExecutorProcessControl::callWrapper(), llvm::orc::SimpleRemoteEPC::callWrapperAsync(), llvm::orc::OrcRPCExecutorProcessControlBase< RPCEndpointT >::callWrapperAsync(), llvm::orc::ExecutionSession::callWrapperAsync(), llvm::cantFail(), llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::CaseLower(), llvm::cast_or_null(), llvm::ConstantRange::castOp(), llvm::CFGMST< Edge, BBInfo >::CFGMST(), llvm::pdb::ClassLayout::ClassLayout(), cleanup(), llvm::orc::cloneToNewContext(), llvm::orc::OrcRPCExecutorProcessControlBase< RPCEndpointT >::closeConnection(), llvm::collectPGOFuncNameStrings(), collectPromotionCandidates(), combineExtractWithShuffle(), combineX86ShuffleChain(), combineX86ShufflesRecursively(), llvm::pdb::PDBFileBuilder::commit(), llvm::msf::MSFBuilder::commit(), llvm::LTOCodeGenerator::compileOptimized(), llvm::orc::CompileOnDemandLayer::compileRequested(), llvm::orc::InProgressLookupFlagsState::complete(), llvm::orc::InProgressFullLookupState::complete(), computeAliasSummary(), computeForAddCarry(), computeFunctionSummary(), computeImportForFunction(), llvm::DivergencePropagator::computeJoinPoints(), computeStringTable(), llvm::codeview::computeTypeName(), computeVariableSummary(), llvm::DwarfCompileUnit::constructScopeDIE(), llvm::xray::LogBuilder::consume(), llvm::xray::LogBuilderConsumer::consume(), llvm::xray::PipelineConsumer::consume(), llvm::APFloat::convert(), llvm::object::MinidumpFile::create(), llvm::symbolize::SymbolizableObjectFile::create(), llvm::MinidumpYAML::Stream::create(), llvm::object::Slice::create(), llvm::sampleprof::SampleProfileWriter::create(), llvm::object::IRObjectFile::create(), llvm::pdb::PDBSymbol::create(), llvm::AllocationOrder::create(), llvm::orc::FDSimpleRemoteEPCTransport::Create(), llvm::lto::InputFile::create(), llvm::InstrProfReader::create(), llvm::orc::BasicObjectLayerMaterializationUnit::Create(), llvm::coverage::BinaryCoverageReader::create(), llvm::MinidumpYAML::Object::create(), llvm::gsym::GsymReader::create(), llvm::sampleprof::SampleProfileReaderItaniumRemapper::create(), llvm::orc::LocalIndirectStubsInfo< ORCABI >::create(), llvm::orc::SelfExecutorProcessControl::Create(), llvm::dwarf::UnwindTable::create(), llvm::DWARFContext::create(), llvm::object::ELFObjectFile< ELFT >::create(), llvm::sampleprof::SampleProfileReader::create(), llvm::IndexedInstrProfReader::create(), llvm::EngineBuilder::create(), llvm::object::COFFObjectFile::create(), llvm::sys::fs::TempFile::create(), llvm::createAArch64ELFStreamer(), createAArch64ExternalSymbolizer(), llvm::createAArch64WinCOFFStreamer(), createAMDGPUAsmPrinterPass(), llvm::createAMDGPUELFStreamer(), createAMDGPUSymbolizer(), llvm::DwarfCompileUnit::createAndAddScopeChildren(), llvm::createARMELFStreamer(), createARMMachOStreamer(), llvm::createARMWinCOFFStreamer(), llvm::DIBuilder::createArtificialSubprogram(), llvm::pdb::PDBSymbol::createAs(), llvm::Target::createAsmPrinter(), llvm::createAsmStreamer(), llvm::Target::createAsmStreamer(), llvm::createAVRELFStreamer(), llvm::orc::ExecutionSession::createBareJITDylib(), llvm::object::createBinary(), llvm::remarks::createBitstreamParserFromMeta(), createBPFMCStreamer(), llvm::createCFGSimplificationPass(), llvm::FileCollector::createCollectorVFS(), llvm::orc::LLJIT::createCompileFunction(), llvm::coverage::BinaryCoverageReader::createCoverageReaderFromBuffer(), llvm::mca::Context::createDefaultPipeline(), llvm::MCAsmBackend::createDwoObjectWriter(), llvm::jitlink::createEHFrameRecorderPass(), llvm::createELFDwoObjectWriter(), llvm::createELFObjectWriter(), llvm::createELFStreamer(), createELFStreamer(), createError(), llvm::createFileError(), llvm::pdb::NativeSession::createFromExe(), llvm::LTOModule::createFromFile(), llvm::LTOModule::createFromOpenFileSlice(), llvm::pdb::NativeSession::createFromPdb(), llvm::pdb::NativeSession::createFromPdbPath(), llvm::createFunctionToLoopPassAdaptor(), llvm::createFunctionToLoopPassAdaptor< LoopPassManager >(), llvm::createHexagonELFStreamer(), llvm::createIfConverter(), llvm::LTOModule::createInLocalContext(), llvm::mca::InstrBuilder::createInstruction(), llvm::createInternalizePass(), llvm::MCJIT::createJIT(), llvm::orc::LLJIT::createJITDylib(), llvm::jitlink::createLookupContinuation(), llvm::createMachObjectWriter(), llvm::createMachOStreamer(), createMachOStreamer(), llvm::Target::createMCObjectStreamer(), createMCStreamer(), llvm::LLVMTargetMachine::createMCStreamer(), llvm::createMCSymbolizer(), llvm::Target::createMCSymbolizer(), llvm::createMipsELFStreamer(), llvm::createMipsNaClELFStreamer(), llvm::createMIRParser(), llvm::createMIRParserFromFile(), llvm::object::ObjectFile::createObjectFile(), llvm::orc::LLJIT::createObjectLinkingLayer(), llvm::MCAsmBackend::createObjectWriter(), createOnDiskBuffer(), llvm::OpenMPIRBuilder::createParallel(), createPPCAsmPrinterPass(), llvm::createPPCELFStreamer(), createPPCELFStreamer(), llvm::createPPCXCOFFStreamer(), createPPCXCOFFStreamer(), createPtr(), llvm::createR600AsmPrinterPass(), llvm::remarks::createRemarkParser(), llvm::remarks::createRemarkParserFromMeta(), llvm::remarks::createRemarkSerializer(), llvm::orc::shared::detail::createResponseHandler(), llvm::createRISCVELFStreamer(), llvm::createRuntimeDyldCOFF(), llvm::createRuntimeDyldELF(), llvm::createRuntimeDyldMachO(), llvm::jitlink::LinkGraph::createSection(), llvm::pdb::SymbolCache::createSymbol(), llvm::orc::JITTargetMachineBuilder::createTargetMachine(), llvm::createTargetTransformInfoWrapperPass(), llvm::createThumb2SizeReductionPass(), llvm::pdb::SymbolCache::createTypeEnumerator(), createTypeWithFlags(), llvm::createUnpackMachineBundles(), llvm::createWasmDwoObjectWriter(), llvm::createWasmObjectWriter(), llvm::createWasmStreamer(), createWebAssemblyDisassembler(), llvm::createWinCOFFObjectWriter(), createWinCOFFStreamer(), llvm::object::WindowsResource::createWindowsResource(), createX86Disassembler(), llvm::createX86WinCOFFStreamer(), llvm::createXCOFFObjectWriter(), llvm::createXCOFFStreamer(), llvm::remarks::createYAMLParserFromMeta(), llvm::pdb::DataMemberLayoutItem::DataMemberLayoutItem(), llvm::gsym::FunctionInfo::decode(), decode(), llvm::RuntimeDyldMachOAArch64::decodeAddend(), llvm::object::ELFFile< ELFT >::decodeBBAddrMap(), llvm::TypeSwitch< T, ResultT >::Default(), llvm::StringSwitch< T, R >::Default(), llvm::WithColor::defaultWarningHandler(), llvm::MCContext::defineMacro(), llvm::orc::MaterializationResponsibility::defineMaterializing(), llvm::DependenceInfo::depends(), llvm::orc::shared::SPSSerializationTraits< SPSSequence< SPSElementTagT >, SequenceT, std::enable_if_t< TrivialSPSSequenceSerialization< SPSElementTagT, SequenceT >::available > >::deserialize(), llvm::orc::shared::detail::ResultDeserializer< SPSExpected< SPSTagT >, Expected< T > >::deserialize(), llvm::codeview::SymbolDeserializer::deserializeAs(), llvm::codeview::TypeDeserializer::deserializeAs(), llvm::orc::ExecutionSession::dispatchTask(), llvm::orc::MaterializationUnit::doDiscard(), doImportingForModule(), llvm::MIRProfileLoader::doInitialization(), doList(), llvm::detail::DoubleAPFloat::DoubleAPFloat(), llvm::DWARFContext::dump(), llvm::coverage::CounterMappingContext::dump(), llvm::DWARFLocationTable::dumpLocationList(), dumpLoclistsSection(), llvm::orc::ObjectTransformLayer::emit(), llvm::orc::IRTransformLayer::emit(), llvm::orc::IRCompileLayer::emit(), llvm::orc::RTDyldObjectLinkingLayer::emit(), llvm::orc::ObjectLinkingLayer::emit(), llvm::orc::IRSpeculationLayer::emit(), llvm::BCGenericRecordLayout< BCLiteral< RecordCode >, Fields... >::emitAbbrev(), llvm::BitstreamWriter::EmitAbbrev(), llvm::BitstreamWriter::EmitBlockInfoAbbrev(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::DwarfDebug::emitDebugLocValue(), llvm::WebAssemblyAsmPrinter::emitExternalDecls(), llvm::WebAssemblyAsmPrinter::emitFunctionBodyStart(), llvm::TargetLoweringObjectFileMachO::emitModuleMetadata(), llvm::MCJIT::emitObject(), llvm::orc::LocalCXXRuntimeOverrides::enable(), llvm::gsym::FunctionInfo::encode(), llvm::fallible_iterator< Underlying >::end(), llvm::BTFDebug::endModule(), llvm::orc::ExecutionSession::endSession(), llvm::StringSwitch< T, R >::EndsWith(), llvm::detail::PtrUseVisitorBase::enqueueUsers(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::erase(), error(), llvm::InstrProfReader::error(), llvm::Error::Error(), llvm::ErrorOr< T >::ErrorOr(), llvm::errorOrToExpected(), llvm::orc::JITCompileCallbackManager::executeCompileCallback(), llvm::ExecutionEngine::ExecutionEngine(), llvm::BitstreamWriter::ExitBlock(), llvm::xray::Profile::expandPath(), llvm::cl::ExpandResponseFiles(), llvm::Expected< ExpressionValue >::Expected(), llvm::expectedToErrorOrAndEmitErrors(), llvm::expectedToOptional(), llvm::DWARFAbbreviationDeclarationSet::extract(), llvm::DWARFDebugNames::Header::extract(), llvm::DWARFDebugNames::NameIndex::extract(), llvm::DWARFDebugNames::extract(), llvm::TGLocalVarScope::extractParent(), fatalOpenError(), llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::finalize(), llvm::orc::EPCGenericJITLinkMemoryManager::Alloc::finalizeAsync(), llvm::RuntimeDyldImpl::finalizeAsync(), llvm::pdb::PDBSymbol::findAllChildren(), llvm::DenseMapBase< SmallDenseMap< llvm::Value *, int, 4, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >, llvm::Value *, int, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >::FindAndConstruct(), llvm::pdb::ModuleDebugStreamRef::findChecksumsSubsection(), llvm::pdb::NativeTypeFunctionSig::findChildren(), findInlineeByTypeIndex(), llvm::pdb::NativeInlineSiteSymbol::findInlineeLinesByVA(), llvm::pdb::SymbolCache::findLineNumbersByVA(), llvm::DWARFListTableBase< DWARFDebugRnglist >::findList(), llvm::DWARFUnit::findLoclistFromOffset(), llvm::pdb::GlobalsStream::findRecordsByName(), llvm::DWARFUnit::findRnglistFromOffset(), findSrcDirMap(), llvm::MCJIT::findSymbol(), llvm::pdb::DIASession::findSymbolByAddress(), llvm::pdb::DIASession::findSymbolByRVA(), llvm::pdb::DIASession::findSymbolBySectOffset(), llvm::R600InstrInfo::fitsReadPortLimitations(), llvm::xray::BlockIndexer::flush(), llvm::fmt_consume(), llvm::SmallVectorTemplateBase< T, bool >::forward_value_param(), llvm::detail::frexp(), fromCodeViewRecordImpl(), llvm::CodeViewYAML::YAMLDebugSubsection::fromCodeViewSubection(), fromCodeViewSymbolImpl(), llvm::json::fromJSON(), llvm::orc::shared::detail::fromSPSSerializable(), llvm::FunctionSummary::FunctionSummary(), gcd(), llvm::MCJIT::generateCodeForModule(), llvm::msf::MSFBuilder::generateLayout(), llvm::generateParamAccessSummary(), llvm::MachO::TextAPIReader::get(), llvm::GISelCSEAnalysisWrapper::get(), llvm::gvn::AvailableValueInBlock::get(), llvm::ImmutableGraphBuilder< GraphT >::get(), getAccelTable(), llvm::PBQP::RegAlloc::GraphMetadata::getAllowedRegs(), llvm::object::Archive::Child::getAsBinary(), getBaseValues(), llvm::RegionBase< RegionTraits< Function > >::getBBNode(), llvm::codegen::getBBSectionsMode(), llvm::getBitcodeModuleList(), llvm::pdb::PDBFile::getBlockData(), llvm::object::Archive::Child::getBuffer(), llvm::orc::LazyCallThroughManager::getCallThroughTrampoline(), llvm::pdb::DIAEnumSymbols::getChildAtIndex(), llvm::pdb::DIASectionContrib::getCompiland(), llvm::pdb::DIASourceFile::getCompilands(), llvm::orc::JITCompileCallbackManager::getCompileCallback(), llvm::DWARFContext::getDebugFrame(), llvm::DWARFContext::getDebugLoc(), llvm::DependenceGraphInfo< NodeType >::getDependencies(), llvm::LLVMContext::getDiagnosticHandler(), llvm::DWARFContext::getDWOContext(), getEdgeValueLocal(), llvm::DWARFContext::getEHFrame(), llvm::orc::getELFObjectFileSymbolInfo(), llvm::DWARFDebugNames::NameIndex::getEntry(), llvm::GraphTraits< ModuleSummaryIndex * >::getEntryNode(), llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), llvm::NewArchiveMember::getFile(), llvm::pdb::DbiModuleList::getFileName(), llvm::codeview::LazyRandomTypeCollection::getFirst(), getFirstReloc(), llvm::orc::DynamicLibrarySearchGenerator::GetForCurrentProcess(), llvm::orc::EPCDynamicLibrarySearchGenerator::GetForTargetProcess(), llvm::ProfileSummary::getFromMD(), llvm::IndexedInstrProfReader::getFunctionCounts(), llvm::GCModuleInfo::getGCStrategy(), llvm::orc::getGenericObjectFileSymbolInfo(), llvm::pdb::DIASession::getGlobalScope(), getHashForUdt(), llvm::object::XCOFFObjectFile::getImportFileTable(), llvm::pdb::PDBFile::getInjectedSourceStream(), llvm::coverage::CoverageMapping::getInstantiationGroups(), llvm::SyncDependenceAnalysis::getJoinBlocks(), llvm::BitcodeModule::getLTOInfo(), llvm::orc::getMachOObjectFileSymbolInfo(), llvm::PBQP::PoolCostAllocator< VectorT, MatrixT >::getMatrix(), llvm::MemoryBuffer::getMemBufferCopy(), getMemBufferCopyImpl(), llvm::pdb::NativeSession::getModuleDebugStream(), llvm::pdb::DIAEnumSymbols::getNext(), llvm::codeview::LazyRandomTypeCollection::getNext(), llvm::ConstantRange::getNonEmpty(), getNumberOfRelocations(), llvm::object::getObject(), llvm::NewArchiveMember::getOldMember(), getOpenFileImpl(), llvm::pdb::SymbolCache::getOrCreateGlobalSymbolByOffset(), llvm::pdb::SymbolCache::getOrCreateSourceFile(), llvm::WebAssemblyAsmPrinter::getOrCreateWasmSymbol(), llvm::getOwningLazyBitcodeModule(), llvm::internal::NfaTranscriber::getPaths(), llvm::pdb::PDBFile::getPDBDbiStream(), llvm::pdb::PDBFile::getPDBGlobalsStream(), llvm::pdb::PDBFile::getPDBInfoStream(), llvm::pdb::PDBFile::getPDBIpiStream(), getPdbPathFromExe(), llvm::pdb::PDBFile::getPDBPublicsStream(), llvm::pdb::PDBFile::getPDBSymbolStream(), llvm::pdb::PDBFile::getPDBTpiStream(), getProcCpuinfoContent(), llvm::sampleprof::SampleProfileReaderExtBinaryBase::getProfileSymbolList(), llvm::ValueLatticeElement::getRange(), getRangeForAffineARHelper(), getReadWriteFile(), llvm::InstrProfReaderItaniumRemapper< HashTableImpl >::getRecords(), llvm::SelectionDAG::getSDCallSiteInfo(), llvm::object::ELFObjectFile< ELFT >::getSectionContents(), llvm::object::XCOFFObjectFile::getSectionContents(), llvm::object::ELFObjectFile< ELFT >::getSectionIndex(), getSourceLineHash(), llvm::codeview::DebugStringTableSubsectionRef::getString(), llvm::pdb::PDBFile::getStringTable(), llvm::object::ELFFile< ELFT >::getStringTable(), llvm::BitcodeModule::getSummary(), llvm::pdb::DIASession::getSymbolById(), getSymbols(), llvm::IndexedInstrProfReader::getSymtab(), getTagRecordHashForUdt(), llvm::codeview::LazyRandomTypeCollection::getType(), llvm::codeview::LazyRandomTypeCollection::getTypeName(), getUdtOptions(), llvm::DWARFUnitVector::getUnitForIndexEntry(), llvm::PBQP::ValuePool< AllowedRegVector >::getValue(), llvm::SparseSolver< LatticeKey, LatticeVal, KeyInfo >::getValueState(), llvm::PBQP::PoolCostAllocator< VectorT, MatrixT >::getVector(), llvm::object::ELFFile< ELFT >::getVersionDependencies(), llvm::pdb::DIARawSymbol::getVirtualBaseTableType(), llvm::SmallDenseMap< llvm::Value *, llvm::Value * >::grow(), llvm::handleAllErrors(), handleCompressedSection(), llvm::handleErrorImpl(), llvm::handleErrors(), handleMaybeNoDataFoundError(), llvm::orc::shared::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< ChannelT, uint32_t, uint32_t >, ChannelT, uint32_t, uint32_t >::handleResponse(), llvm::identify_magic(), llvm::detail::IEEEFloat::IEEEFloat(), llvm::ifs::IFSStub::IFSStub(), llvm::ifs::IFSStubTriple::IFSStubTriple(), llvm::FunctionImporter::importFunctions(), llvm::object::Archive::ChildFallibleIterator::inc(), llvm::SwitchInstProfUpdateWrapper::init(), llvm::pdb::PDBFileBuilder::initialize(), INITIALIZE_PASS(), llvm::MIRParserImpl::initializeCallSiteInfo(), llvm::pdb::UDTLayoutBase::initializeChildren(), llvm::InlineFunction(), llvm::yaml::CustomMappingTraits< GlobalValueSummaryMapTy >::inputOne(), llvm::json::Object::insert(), llvm::SpecialCaseList::Matcher::insert(), llvm::MapVector< AssertingVH< Instruction >, AssertingVH< Value > >::insert(), llvm::ValueMap< const Function *, FuncInfo >::insert(), llvm::AllocatorList< Token >::insert(), llvm::json::Array::insert(), llvm::detail::DenseSetImpl< ConstantStruct *, DenseMap< ConstantStruct *, detail::DenseSetEmpty, MapInfo, detail::DenseSetPair< ConstantStruct * > >, MapInfo >::insert(), llvm::DenseMapBase< SmallDenseMap< llvm::Value *, int, 4, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >, llvm::Value *, int, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >::insert(), llvm::StringMap< std::unique_ptr< llvm::vfs::detail::InMemoryNode > >::insert(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::insert(), llvm::DiagnosticInfoOptimizationBase::insert(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::insert(), llvm::detail::DenseSetImpl< ConstantStruct *, DenseMap< ConstantStruct *, detail::DenseSetEmpty, MapInfo, detail::DenseSetPair< ConstantStruct * > >, MapInfo >::insert_as(), llvm::DenseMapBase< SmallDenseMap< llvm::Value *, int, 4, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >, llvm::Value *, int, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >::insert_as(), llvm::LazyCallGraph::RefSCC::insertIncomingRefEdge(), llvm::CodeGenPassBuilder< DerivedT >::AddMachinePass::insertPass(), llvm::ExecutionEngine::InstallLazyFunctionCreator(), llvm::internalizeModule(), intersect(), llvm::PreservedAnalyses::intersect(), isBlock(), isSafeToPromoteArgument(), llvm::codeview::isUdtForwardRef(), llvm::jitLinkForORC(), llvm::JITSymbol::JITSymbol(), llvm::joinErrors(), jumpToValueSymbolTable(), llvm::orc::lazyReexports(), llvm::remarks::RemarkLinker::link(), llvm::jitlink::JITLinker< ELFJITLinker_riscv >::link(), llvm::jitlink::link(), llvm::jitlink::link_ELF(), llvm::jitlink::link_ELF_aarch64(), llvm::jitlink::link_ELF_riscv(), llvm::jitlink::link_ELF_x86_64(), llvm::jitlink::link_MachO(), llvm::jitlink::link_MachO_arm64(), llvm::jitlink::link_MachO_x86_64(), llvm::Linker::linkInModule(), llvm::Linker::linkModules(), llvm::symbolize::JSONPrinter::listEnd(), LLVMCreateDisasmCPUFeatures(), LLVMCreateMCJITCompilerForModule(), LLVMCreateObjectFile(), LLVMGetBitcodeModuleInContext(), LLVMGetBitcodeModuleInContext2(), LLVMLinkModules2(), LLVMOrcAbsoluteSymbols(), LLVMOrcCreateCustomMaterializationUnit(), LLVMOrcDumpObjects_CallOperator(), LLVMOrcIRTransformLayerEmit(), LLVMOrcIRTransformLayerSetTransform(), LLVMOrcJITTargetMachineBuilderDetectHost(), LLVMOrcLazyReexports(), LLVMOrcLLJITAddLLVMIRModule(), LLVMOrcLLJITAddLLVMIRModuleWithRT(), LLVMOrcLLJITBuilderSetJITTargetMachineBuilder(), LLVMOrcMaterializationResponsibilityDefineMaterializing(), LLVMOrcMaterializationResponsibilityNotifyResolved(), LLVMOrcMaterializationResponsibilityReplace(), LLVMRemarkParserGetNext(), llvm::LLVMRemarkSetupErrorInfo< LLVMRemarkSetupFileError >::LLVMRemarkSetupErrorInfo(), llvm::pdb::NamedStreamMap::load(), llvm::orc::EPCDynamicLibrarySearchGenerator::Load(), llvm::orc::DynamicLibrarySearchGenerator::Load(), llvm::orc::StaticLibraryDefinitionGenerator::Load(), llvm::coverage::CoverageMapping::load(), loadBinaryFormat(), llvm::orc::SelfExecutorProcessControl::loadDylib(), llvm::xray::loadInstrumentationMap(), llvm::RuntimeDyld::loadObject(), loadPdbFile(), loadTestingFormat(), llvm::xray::loadTrace(), llvm::lto::localCache(), llvm::orc::ObjectLinkingLayerJITLinkContext::lookup(), llvm::orc::ExecutionSession::lookup(), llvm::orc::lookupAndRecordAddrs(), llvm::orc::ExecutionSession::lookupFlags(), llvm::orc::Platform::lookupInitSymbols(), llvm::orc::Platform::lookupInitSymbolsAsync(), llvm::vfs::RedirectingFileSystemParser::lookupOrCreateEntry(), llvm::orc::SelfExecutorProcessControl::lookupSymbols(), llvm::WebAssemblyMCInstLower::lower(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::ConstantRange::lshr(), llvm::PatternMatch::m_SpecificInt(), llvm::PatternMatch::m_SpecificIntAllowUndef(), llvm::make_fallible_end(), llvm::make_range(), llvm::ConstantRange::makeAllowedICmpRegion(), llvm::FunctionSummary::makeDummyFunctionSummary(), llvm::jitlink::makeTargetOutOfRangeError(), malformedError(), AAPrivatizablePtrArgument::manifest(), llvm::map_iterator(), llvm::ValueLatticeElement::markConstantRange(), llvm::CombinerHelper::matchTruncStoreMerge(), llvm::Module::materializeAll(), llvm::ValueLatticeElement::mergeIn(), llvm::InstrProfWriter::mergeRecordsFromWriter(), llvm::IRMover::move(), llvm::move(), llvm::MachineFunction::moveCallSiteInfo(), llvm::SmallPtrSetImplBase::MoveFrom(), llvm::DenseMapBase< SmallDenseMap< llvm::Value *, int, 4, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >, llvm::Value *, int, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >::moveFromOldBuckets(), llvm::detail::UniqueFunctionBase< R, P... >::MoveImpl(), llvm::GCNRPTracker::moveLiveRegs(), llvm::APInt::multiplicativeInverse(), llvm::remarks::BitstreamRemarkParser::next(), llvm::remarks::YAMLRemarkParser::next(), llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD::NormalizedTBD(), llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD_V4::NormalizedTBD_V4(), llvm::orc::DebugObjectManagerPlugin::notifyMaterializing(), llvm::orc::remote::OrcRemoteTargetClient::RemoteRTDyldMemoryManager::notifyObjectLoaded(), llvm::orc::LazyCallThroughManager::notifyResolved(), llvm::orc::AsynchronousSymbolQuery::notifySymbolMetRequiredState(), llvm::orc::DebugObjectManagerPlugin::notifyTransferringResources(), llvm::orc::EHFrameRegistrationPlugin::notifyTransferringResources(), llvm::json::Object::Object(), llvm::json::ObjectKey::ObjectKey(), llvm::vfs::RedirectingFileSystem::openFileForRead(), llvm::StringSwitch< T, R >::operator R(), llvm::TypeSwitch< T, ResultT >::operator ResultT(), llvm::operator&(), llvm::orc::BlockFreqQuery::operator()(), llvm::orc::SimpleCompiler::operator()(), llvm::orc::SequenceBBQuery::operator()(), llvm::orc::DumpObjects::operator()(), llvm::orc::shared::detail::MemberFnWrapper< ClassT, RetT, ArgTs >::operator()(), llvm::orc::shared::detail::ReadArgs< ArgT, ArgTs... >::operator()(), llvm::ExitOnError::operator()(), llvm::orc::shared::RPCAsyncDispatch< RPCClass, Func >::operator()(), llvm::coverage::CoverageMappingIterator::operator*(), llvm::operator+(), llvm::VarStreamArrayIterator< ValueType, Extractor >::operator+=(), llvm::operator-(), llvm::coverage::CoverageMappingIterator::operator->(), llvm::operator<<(), llvm::MSVCPError::operator=(), llvm::MetadataLoader::operator=(), llvm::BlockFrequencyInfo::operator=(), llvm::MSVCPExpected< T >::operator=(), llvm::APSInt::operator=(), llvm::DDGNode::operator=(), llvm::orc::shared::WrapperFunctionResult::operator=(), llvm::orc::ThreadSafeModule::operator=(), llvm::PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >::operator=(), llvm::DGNode< NodeType, EdgeType >::operator=(), llvm::xray::Profile::operator=(), llvm::Any::operator=(), llvm::SmallSetIterator< T, N, C >::operator=(), llvm::BumpPtrAllocatorImpl< MallocAllocator, 65536 >::operator=(), llvm::TargetLibraryInfoImpl::operator=(), llvm::TypedTrackingMDRef< MDNode >::operator=(), llvm::SimpleDDGNode::operator=(), llvm::optional_detail::OptionalStorage< uint64_t >::operator=(), llvm::BranchProbabilityInfo::operator=(), llvm::ErrorOr< T >::operator=(), llvm::AllocatorList< Token >::operator=(), llvm::opt::ArgList::operator=(), llvm::TargetTransformInfo::operator=(), llvm::PiBlockDDGNode::operator=(), llvm::DirectedGraph< NodeType, EdgeType >::operator=(), llvm::object::OwningBinary< llvm::object::ObjectFile >::operator=(), llvm::ValueLatticeElement::operator=(), llvm::iplist_impl< simple_ilist< MachineInstr, Options... >, ilist_traits< MachineInstr > >::operator=(), llvm::optional_detail::OptionalStorage< T, true >::operator=(), llvm::DDGEdge::operator=(), llvm::Optional< uint64_t >::operator=(), llvm::DominatorTreeBase< BasicBlock, IsPostDom >::operator=(), llvm::JITSymbol::operator=(), llvm::detail::UniqueFunctionBase< R, P... >::operator=(), llvm::json::Value::operator=(), llvm::SpecificBumpPtrAllocator< llvm::LazyCallGraph::SCC >::operator=(), llvm::opt::InputArgList::operator=(), llvm::iplist< llvm::PredicateBase >::operator=(), llvm::SparseBitVector< ElementSize >::operator=(), llvm::PassManager< LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >::operator=(), llvm::SmallPtrSet< PHINode *, 4 >::operator=(), llvm::Expected< ExpressionValue >::operator=(), llvm::detail::DoubleAPFloat::operator=(), llvm::sys::fs::TempFile::operator=(), llvm::LoopInfoBase< BasicBlock, Loop >::operator=(), llvm::RegionInfo::operator=(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::operator=(), llvm::LazyCallGraph::operator=(), llvm::LoopInfo::operator=(), llvm::SmallVector< llvm::cl::parser::OptionInfo, 8 >::operator=(), llvm::TargetIRAnalysis::operator=(), llvm::json::Object::operator[](), llvm::FixedStreamArray< PSHashRecord >::operator[](), llvm::DenseMapBase< SmallDenseMap< llvm::Value *, int, 4, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >, llvm::Value *, int, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >::operator[](), llvm::operator^(), llvm::KnownBits::operator^=(), llvm::operator|(), llvm::LTOCodeGenerator::optimize(), llvm::optional_detail::OptionalStorage< uint64_t >::OptionalStorage(), llvm::vfs::OverlayFileSystem::OverlayFileSystem(), llvm::OwningArrayRef< T >::OwningArrayRef(), llvm::DWARFDebugAbbrev::parse(), llvm::DWARFDebugLine::Prologue::parse(), llvm::SpecialCaseList::parse(), llvm::object::WindowsResourceParser::parse(), llvm::DWARFDebugFrame::parse(), llvm::json::parse(), llvm::vfs::RedirectingFileSystemParser::parse(), parseBitcodeFileImpl(), llvm::TargetLowering::ParseConstraints(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseEncoding(), llvm::pdb::PDBFile::parseFileHeaders(), parseInlineInfo(), llvm::LLParser::parseMDField(), llvm::Pattern::parseNumericSubstitutionBlock(), llvm::PassBuilder::parsePassPipeline(), llvm::remarks::BitstreamRemarkParser::parseRemark(), llvm::remarks::YAMLRemarkParser::parseRemark(), llvm::pdb::PDBFile::parseStreamData(), parseStrTab(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseTemplateArgs(), llvm::BinaryStreamReader::peek(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::pop_back_val(), predictUseListOrder(), llvm::orc::LLJITBuilderState::prepareForConstruction(), llvm::symbolize::JSONPrinter::print(), llvm::symbolize::JSONPrinter::printError(), llvm::xray::FileBasedRecordProducer::produce(), llvm::xray::profileFromTrace(), promoteIndirectCalls(), llvm::json::Array::push_back(), llvm::AllocatorList< Token >::push_back(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::AllocatorList< Token >::push_front(), llvm::PassInstrumentation::pushBeforeNonSkippedPassCallback(), llvm::TGParser::PushLocalScope(), llvm::SimpleBitstreamCursor::Read(), llvm::BitstreamCursor::ReadAbbrevRecord(), llvm::xray::readBinaryFormatHeader(), llvm::irsymtab::readBitcode(), readCoverageMappingData(), llvm::codeview::readCVRecordFromStream(), llvm::GCOVFile::readGCDA(), llvm::GCOVFile::readGCNO(), readGSIHashBuckets(), readGSIHashRecords(), llvm::object::readIRSymtab(), llvm::TextInstrProfReader::readNextRecord(), llvm::RawInstrProfReader< IntPtrT >::readNextRecord(), llvm::IndexedInstrProfReader::readNextRecord(), llvm::readPGOFuncNameStrings(), llvm::pdb::readSparseBitVector(), llvm::BitcodeModule::readSummary(), llvm::WebAssemblyExceptionInfo::recalculate(), llvm::orc::reexports(), llvm::PassInstrumentationCallbacks::registerAfterAnalysisCallback(), llvm::PassInstrumentationCallbacks::registerAfterPassCallback(), llvm::PassInstrumentationCallbacks::registerAfterPassInvalidatedCallback(), llvm::PassInstrumentationCallbacks::registerAnalysesClearedCallback(), llvm::PassInstrumentationCallbacks::registerAnalysisInvalidatedCallback(), llvm::PassInstrumentationCallbacks::registerBeforeAnalysisCallback(), llvm::PassInstrumentationCallbacks::registerBeforeNonSkippedPassCallback(), llvm::PassInstrumentationCallbacks::registerBeforeSkippedPassCallback(), llvm::orc::shared::registerErrorSerialization(), llvm::orc::shared::SerializationTraits< ChannelT, Error >::registerErrorType(), llvm::Attributor::registerFunctionSignatureRewrite(), llvm::orc::ExecutionSession::registerJITDispatchHandlers(), llvm::BPFTargetMachine::registerPassBuilderCallbacks(), llvm::AMDGPUTargetMachine::registerPassBuilderCallbacks(), llvm::NVPTXTargetMachine::registerPassBuilderCallbacks(), llvm::PassInstrumentationCallbacks::registerShouldRunOptionalPassCallback(), llvm::RegisterStandardPasses::RegisterStandardPasses(), llvm::orc::Speculator::registerSymbols(), llvm::ARMAsmBackend::relaxInstruction(), llvm::RISCVAsmBackend::relaxInstruction(), llvm::CodeGenPassBuilder< DerivedT >::AddMachinePass::releasePM(), llvm::pdb::PublicsStream::reload(), llvm::pdb::InfoStream::reload(), llvm::pdb::TpiStream::reload(), llvm::object::XCOFFObjectFile::relocations(), llvm::MapVector< AssertingVH< Instruction >, AssertingVH< Value > >::remove_if(), removeIfBinary(), llvm::orc::MaterializationResponsibility::replace(), llvm::DIBuilder::replaceTemporary(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::orc::shared::detail::respond(), SwapAndRestore< T >::restoreNow(), llvm::InstrProfiling::run(), llvm::ThinLTOCodeGenerator::run(), llvm::JumpThreadingPass::run(), llvm::ModuleInlinerWrapperPass::run(), llvm::orc::CtorDtorRunner::run(), llvm::lto::LTO::run(), llvm::ModuleToPostOrderCGSCCPassAdaptor::run(), llvm::FunctionToLoopPassAdaptor::run(), llvm::CGSCCToFunctionPassAdaptor::run(), llvm::PassManager< LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >::run(), llvm::orc::shared::detail::HandlerTraits< RetT(ArgTs...)>::run(), llvm::DevirtSCCRepeatedPass::run(), llvm::ModuleToFunctionPassAdaptor::run(), llvm::orc::MaterializationTask::run(), llvm::orc::ItaniumCXAAtExitSupport::runAtExits(), llvm::runFuzzerOnInputs(), llvm::JumpThreadingPass::runImpl(), llvm::orc::ExecutionSession::runJITDispatchHandler(), llvm::PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >::runWithLoopNestPasses(), llvm::PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >::runWithoutLoopNestPasses(), llvm::ConstantRange::sadd_sat(), scaleShuffleElements(), llvm::CFLSteensAAResult::scan(), llvm::SwingSchedulerDAG::schedule(), llvm::mca::Scheduler::Scheduler(), llvm::ConstantRange::sdiv(), llvm::object::XCOFFObjectFile::section_rel_begin(), llvm::object::XCOFFObjectFile::section_rel_end(), llvm::orc::SelfExecutorProcessControl::SelfExecutorProcessControl(), llvm::remarks::RemarkLinker::serialize(), llvm::orc::shared::detail::ResultSerializer< SPSRetTagT, Expected< T > >::serialize(), llvm::FunctionLoweringInfo::set(), llvm::pdb::HashTable< llvm::support::detail::packed_endian_specific_integral >::set_as(), llvm::opt::Arg::setAlias(), llvm::PBQP::RegAlloc::NodeMetadata::setAllowedRegs(), llvm::object::ELFObjectFileBase::setARMSubArch(), llvm::ThinLTOCodeGenerator::setAttr(), llvm::ExitOnError::setBanner(), llvm::ThinLTOCodeGenerator::setCacheDir(), llvm::FastISel::CallLoweringInfo::setCallee(), llvm::TargetLowering::CallLoweringInfo::setCallee(), llvm::MachineFrameInfo::setCalleeSavedInfo(), llvm::orc::JITTargetMachineBuilder::setCodeModel(), llvm::orc::LLJITBuilderSetters< LLLazyJIT, LLLazyJITBuilder, LLLazyJITBuilderState >::setCompileFunctionCreator(), llvm::orc::JITTargetMachineBuilder::setCPU(), llvm::ThinLTOCodeGenerator::setCpu(), llvm::GISelCSEInfo::setCSEConfig(), llvm::SCEVExpander::SetCurrentDebugLocation(), llvm::mca::ResourceManager::setCustomStrategy(), llvm::orc::LLJITBuilderSetters< LLLazyJIT, LLLazyJITBuilder, LLLazyJITBuilderState >::setDataLayout(), llvm::Instruction::setDebugLoc(), llvm::SDNode::setDebugLoc(), llvm::MachineInstr::setDebugLoc(), llvm::LLVMContext::setDiagnosticHandler(), llvm::orc::SimpleRemoteEPCServer::Setup::setDispatcher(), llvm::orc::ExecutionSession::setDispatchTask(), llvm::orc::SimpleRemoteEPCServer::Setup::setErrorReporter(), llvm::orc::SimpleRemoteEPCServer::setErrorReporter(), llvm::orc::ExecutionSession::setErrorReporter(), llvm::orc::LLJITBuilderSetters< LLLazyJIT, LLLazyJITBuilder, LLLazyJITBuilderState >::setExecutionSession(), llvm::orc::LLJITBuilderSetters< LLLazyJIT, LLLazyJITBuilder, LLLazyJITBuilderState >::setExecutorProcessControl(), llvm::ExitOnError::setExitCodeMapper(), llvm::remarks::RemarkStreamer::setFilter(), llvm::JITEvaluatedSymbol::setFlags(), llvm::LLVMContext::setGC(), llvm::Function::setGC(), llvm::ThinLTOCodeGenerator::setGeneratedObjectsDirectory(), llvm::orc::LLLazyJITBuilderSetters< LLLazyJIT, LLLazyJITBuilder, LLLazyJITBuilderState >::setIndirectStubsManagerBuilder(), llvm::orc::LLJIT::PlatformSupport::setInitTransform(), llvm::MIToken::setIntegerValue(), llvm::orc::LLJITBuilderSetters< LLLazyJIT, LLLazyJITBuilder, LLLazyJITBuilderState >::setJITTargetMachineBuilder(), llvm::orc::LLLazyJITBuilderSetters< LLLazyJIT, LLLazyJITBuilder, LLLazyJITBuilderState >::setLazyCallthroughManager(), llvm::TargetLowering::CallLoweringInfo::setLibCallee(), llvm::orc::JITDylib::setLinkOrder(), llvm::LLVMContext::setLLVMRemarkStreamer(), llvm::LLVMContext::setMainRemarkStreamer(), llvm::EngineBuilder::setMCJITMemoryManager(), llvm::EngineBuilder::setMemoryManager(), llvm::DominatorTreeBase< BasicBlock, IsPostDom >::setNewRoot(), llvm::PBQP::Graph< RegAllocSolverImpl >::setNodeCosts(), llvm::orc::IRCompileLayer::setNotifyCompiled(), llvm::orc::RTDyldObjectLinkingLayer::setNotifyEmitted(), llvm::orc::RTDyldObjectLinkingLayer::setNotifyLoaded(), llvm::RuntimeDyld::setNotifyStubEmitted(), llvm::RuntimeDyldImpl::setNotifyStubEmitted(), llvm::orc::LLJITBuilderSetters< LLLazyJIT, LLLazyJITBuilder, LLLazyJITBuilderState >::setObjectLinkingLayerCreator(), llvm::orc::JITTargetMachineBuilder::setOptions(), llvm::Module::setOwnedMemoryBuffer(), llvm::MIToken::setOwnedStringValue(), llvm::FunctionSummary::setParamAccesses(), llvm::orc::CompileOnDemandLayer::setPartitionFunction(), llvm::orc::LLLazyJIT::setPartitionFunction(), llvm::orc::ExecutionSession::setPlatform(), llvm::orc::LLJITBuilderSetters< LLLazyJIT, LLLazyJITBuilder, LLLazyJITBuilderState >::setPlatformSetUp(), llvm::orc::LLJIT::setPlatformSupport(), llvm::orc::OrcRPCTPCServer< RPCEndpointT >::setProgramName(), llvm::orc::JITTargetMachineBuilder::setRelocationModel(), llvm::orc::ObjectLinkingLayer::setReturnObjectBuffer(), llvm::ThinLTOCodeGenerator::setSaveTempsDir(), llvm::MCContext::setSecureLog(), llvm::pdb::DbiModuleDescriptorBuilder::setStringTableFixups(), llvm::MCDisassembler::setSymbolizer(), llvm::EngineBuilder::setSymbolResolver(), llvm::ThinLTOCodeGenerator::setTargetOptions(), llvm::orc::JITCompileCallbackManager::setTrampolinePool(), llvm::orc::IRTransformLayer::setTransform(), llvm::orc::ObjectTransformLayer::setTransform(), llvm::setupLLVMOptimizationRemarks(), llvm::lto::setupLLVMOptimizationRemarks(), setupMemoryBuffer(), llvm::lto::setupStatsFile(), llvm::GlobalVarSummary::setVTableFuncs(), llvm::ConstantRange::shl(), llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::shutdown(), llvm::SmallPtrSetImpl< CallBase * >::SmallPtrSetImplBase(), llvm::SmallSetIterator< T, N, C >::SmallSetIterator(), llvm::SmallVector< llvm::cl::parser::OptionInfo, 8 >::SmallVector(), llvm::ConstantRange::smax(), llvm::ConstantRange::smin(), llvm::splitCodeGen(), splitCodeGen(), llvm::SplitModule(), llvm::ConstantRange::srem(), llvm::ConstantRange::sshl_sat(), llvm::ConstantRange::ssub_sat(), llvm::StringSwitch< T, R >::StartsWith(), llvm::StringSwitch< T, R >::StartsWithLower(), llvm::ConstantRange::sub(), llvm::SmallDenseMap< llvm::Value *, llvm::Value * >::swap(), SwapAndRestore< T >::SwapAndRestore(), llvm::orc::symbolAliases(), llvm::orc::SymbolLookupSet::SymbolLookupSet(), llvm::TableGenMain(), llvm::TailDuplicator::tailDuplicateAndUpdate(), llvm::InstrProfError::take(), llvm::object::OwningBinary< llvm::object::ObjectFile >::takeBinary(), llvm::DataExtractor::Cursor::takeError(), llvm::JITSymbol::takeError(), llvm::Expected< ExpressionValue >::takeError(), llvm::FileError::takeError(), llvm::LTOModule::takeModule(), llvm::DwarfCompileUnit::takeRanges(), llvm::sampleprof::SampleProfileReader::takeSummary(), llvm::object::Archive::takeThinBuffers(), llvm::MapVector< AssertingVH< Instruction >, AssertingVH< Value > >::takeVector(), llvm::SetVector< llvm::ElementCount, SmallVector< llvm::ElementCount, N >, SmallDenseSet< llvm::ElementCount, N > >::takeVector(), llvm::TargetLibraryInfoImpl::TargetLibraryInfoImpl(), llvm::sys::fs::TempFile::TempFile(), llvm::lto::thinBackend(), llvm::ThreadPool::ThreadPool(), llvm::CodeViewYAML::toCodeViewSubsectionList(), llvm::object::ELFFile< ELFT >::toMappedAddr(), llvm::orc::shared::detail::toSPSSerializable(), llvm::toString(), llvm::RegionBase< RegionTraits< Function > >::transferChildrenTo(), llvm::ImmutableGraphBuilder< GraphT >::trim(), llvm::json::Object::try_emplace(), llvm::DenseMapBase< SmallDenseMap< llvm::Value *, int, 4, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >, llvm::Value *, int, DenseMapInfo< llvm::Value * >, llvm::detail::DenseMapPair< llvm::Value *, int > >::try_emplace(), llvm::InlineAdvisorAnalysis::Result::tryCreate(), llvm::codeview::LazyRandomTypeCollection::tryGetType(), llvm::orc::EPCDynamicLibrarySearchGenerator::tryToGenerate(), llvm::orc::DynamicLibrarySearchGenerator::tryToGenerate(), llvm::ConstantRange::uadd_sat(), llvm::ConstantRange::udiv(), llvm::ConstantRange::umax(), llvm::ConstantRange::umin(), llvm::ConstantRange::umul_sat(), llvm::ConstantRange::unionWith(), llvm::unique_dyn_cast(), llvm::DIEAbbrevSet::uniqueAbbreviation(), llvm::detail::UniqueFunctionBase< R, P... >::UniqueFunctionBase(), unswitchBestCondition(), llvm::PBQP::Graph< RegAllocSolverImpl >::updateEdgeCosts(), llvm::MMIAddrLabelMap::UpdateForRAUWBlock(), AAIsDeadFunction::updateImpl(), llvm::DwarfCompileUnit::updateSubprogramScopeDIE(), upgrade(), llvm::ConstantRange::urem(), llvm::ConstantRange::ushl_sat(), llvm::ConstantRange::usub_sat(), llvm::json::Value::Value(), llvm::ValueLatticeElement::ValueLatticeElement(), llvm::VarStreamArrayIterator< ValueType, Extractor >::VarStreamArrayIterator(), Verify(), llvm::DWARFLocationTable::visitAbsoluteLocationList(), llvm::PtrUseVisitor< SliceBuilder >::visitPtr(), llvm::orc::SimpleRemoteEPCServer::waitForDisconnect(), llvm::orc::ExecutionSession::wrapAsyncWithSPS(), llvm::object::WindowsResourceCOFFWriter::write(), llvm::writeArchive(), llvm::writeArchiveToBuffer(), llvm::orc::EPCGenericMemoryAccess::writeBuffersAsync(), llvm::orc::OrcRPCEPCMemoryAccess< OrcRPCEPCImplT >::writeBuffersAsync(), llvm::ifs::writeELFBinaryToFile(), writeIdentificationBlock(), writeJSON(), llvm::pdb::writeSparseBitVector(), llvm::writeToOutput(), llvm::orc::EPCGenericMemoryAccess::writeUInt16sAsync(), llvm::orc::OrcRPCEPCMemoryAccess< OrcRPCEPCImplT >::writeUInt16sAsync(), llvm::orc::EPCGenericMemoryAccess::writeUInt32sAsync(), llvm::orc::OrcRPCEPCMemoryAccess< OrcRPCEPCImplT >::writeUInt32sAsync(), llvm::orc::EPCGenericMemoryAccess::writeUInt64sAsync(), llvm::orc::OrcRPCEPCMemoryAccess< OrcRPCEPCImplT >::writeUInt64sAsync(), llvm::orc::EPCGenericMemoryAccess::writeUInt8sAsync(), llvm::orc::OrcRPCEPCMemoryAccess< OrcRPCEPCImplT >::writeUInt8sAsync(), llvm::object::writeUniversalBinary(), llvm::object::writeWindowsResourceCOFF(), llvm::yaml::yaml2ObjectFile(), llvm::remarks::YAMLRemarkSerializer::YAMLRemarkSerializer(), llvm::ConstantRange::zeroExtend(), llvm::CodeGenPassBuilder< DerivedT >::AddIRPass::~AddIRPass(), llvm::detail::ErrorAdapter::~ErrorAdapter(), llvm::DwarfDebug::NonTypeUnitContext::~NonTypeUnitContext(), llvm::orc::ObjectLinkingLayerJITLinkContext::~ObjectLinkingLayerJITLinkContext(), llvm::GCNIterativeScheduler::OverrideLegacyStrategy::~OverrideLegacyStrategy(), and SwapAndRestore< T >::~SwapAndRestore().

◆ not

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr not

Definition at line 465 of file README.txt.

Referenced by llvm::gsym::operator<<().

◆ one

the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only one

Definition at line 401 of file README.txt.

Referenced by llvm::InstCombinerImpl::visitAdd().

◆ operations

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent and perhaps some new SDNodes could be added For and absolute value operations are well defined and standard operations

Definition at line 490 of file README.txt.

◆ p

the resulting code requires compare and branches when and if* p
Initial value:
==3. So it should be a speed win
(on balance). However

Definition at line 396 of file README.txt.

Referenced by llvm::add16(), llvm::InterleaveGroup< InstTy >::addMetadata(), allocset(), bothcases(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), categorize(), llvm::detail::IEEEFloat::convertFromString(), llvm::detail::IEEEFloat::convertToHexString(), llvm::RuntimeDyldMachOAArch64::decodeAddend(), llvm::decodeSLEB128(), llvm::decodeULEB128(), doemit(), dofwd(), doinsert(), dupl(), emitGlobalConstantFP(), llvm::RuntimeDyldMachOAArch64::encodeAddend(), llvm::encodeSLEB128(), llvm::encodeULEB128(), enlarge(), llvm::hashing::detail::fetch32(), llvm::hashing::detail::fetch64(), llvm::SSAUpdaterImpl< UpdaterT >::FindAvailableVals(), llvm::SSAUpdaterImpl< UpdaterT >::FindDominators(), findmust(), llvm::SSAUpdaterImpl< UpdaterT >::FindPHIPlacement(), firstch(), freeset(), freezeset(), llvm::TrailingObjects< BaseTy, TrailingTys >::FixedSizeStorageOwner::get(), llvm::APInt::getBitsNeeded(), llvm::DIE::getUnitDie(), llvm::sys::path::has_extension(), llvm::sys::path::has_filename(), llvm::sys::path::has_parent_path(), llvm::sys::path::has_relative_path(), llvm::sys::path::has_root_directory(), llvm::sys::path::has_root_name(), llvm::sys::path::has_root_path(), llvm::sys::path::has_stem(), llvm::SmallPtrSetImpl< CallBase * >::insert(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::insert(), llvm::IntervalMap< IndexT, char >::insert(), llvm::interpretDecimal(), llvm::sys::path::is_absolute(), llvm::sys::path::is_absolute_gnu(), KnuthDiv(), llvm_regcomp(), llvm::NVPTXTargetLowering::LowerFormalArguments(), magic(), magicu(), llvm::sys::fs::make_absolute(), llvm::make_range(), nch(), nonnewline(), llvm::AttributeSetNode::operator delete(), llvm::RecordRecTy::operator delete(), llvm::BitsInit::operator delete(), llvm::ListInit::operator delete(), llvm::VarDefInit::operator delete(), ordinary(), p_b_cclass(), p_b_coll_elem(), p_b_eclass(), p_b_symbol(), p_b_term(), p_bracket(), p_bre(), p_ere(), p_ere_exp(), p_simp_re(), p_str(), llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::pathFillFind(), llvm::sys::fs::basic_file_status::permissions(), pluscount(), llvm::readExponent(), llvm::remapPath(), repeat(), llvm::sys::path::replace_extension(), seterr(), llvm::ARMFunctionInfo::setStoredByValParamsPadding(), llvm::skipLeadingZeroesAndAnyDot(), stripsnug(), llvm::totalExponent(), llvm::trailingHexadecimalFraction(), llvm::MachineFunction::verify(), llvm::write32AArch64Addr(), llvm::writeUnsignedDecimal(), and llvm::TrailingObjects< BaseTy, TrailingTys >::FixedSizeStorageOwner::~FixedSizeStorageOwner().

◆ p<=2 or *p==5, the same number if *p==4or *p >

the resulting code requires compare and branches when* p<=2 or *p==5, the same number if *p==4or *p >

Definition at line 396 of file README.txt.

◆ pc

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov pc

Definition at line 201 of file README.txt.

Referenced by llvm::powerOf5().

◆ possible

the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements possible

Definition at line 410 of file README.txt.

◆ PPC

should just be implemented with a CLZ instruction Since there are other e PPC

Definition at line 709 of file README.txt.

Referenced by setAlignFlagsForFI().

◆ r0

should just be implemented with a CLZ instruction Since there are other e that share this it would be best to implement this in a target independent as zero is the default value for the binary encoder e add r0

Definition at line 63 of file README.txt.

◆ r1

float space text globl _test align oris r3 lis stfs r1 addi r1

Definition at line 62 of file README.txt.

Referenced by llvm::DIExpression::fragmentCmp(), getMnemonicFromOpcode(), magic(), and magicu().

◆ r12

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str r12

Definition at line 127 of file README.txt.

◆ r2

therefore end up llgh r3 lr r0 br r14 but truncating the load would lh r3 br r14 Functions ret i64 and ought to be implemented ngr r0 br r14 but two address optimizations reverse the order of the AND and ngr r2 lgr r2

Definition at line 126 of file README.txt.

Referenced by llvm::DIExpression::fragmentCmp(), magic(), and magicu().

◆ r3

should just be implemented with a CLZ instruction Since there are other e that share this it would be best to implement this in a target independent as zero is the default value for the binary encoder e add r0 add r3

Definition at line 131 of file README.txt.

◆ r4

_bar mov r0 mov r1 fldd LCPI1_0 fmrrd d0 bl _foo fmdrr r4

Definition at line 153 of file README.txt.

◆ r5

A predicate compare being used in a select_cc should have the same peephole applied to it as a predicate compare used by a br_cc There should be no mfcr oris r5 li r5

Definition at line 154 of file README.txt.

◆ r7

bb432 i mr r6 cmplwi r7

Definition at line 194 of file README.txt.

Referenced by call().

◆ register

should just be implemented with a CLZ instruction Since there are other e that share this it would be best to implement this in a target independent as zero is the default value for the binary encoder e add r0 add r5 Register operands should be distinct That when the encoding does not require two syntactical operands to refer to the same register

Definition at line 726 of file README.txt.

◆ S

add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves* Return an aggregate type is even return S

Definition at line 210 of file README.txt.

Referenced by llvm::StringTableBuilder::add(), llvm::jitlink::LinkGraph::addAbsoluteSymbol(), llvm::sampleprof::FunctionSamples::addBodySamplesForProbe(), llvm::sampleprof::SampleRecord::addCalledTarget(), AddCalls(), llvm::LexicalScope::addChild(), llvm::jitlink::LinkGraph::addCommonSymbol(), llvm::jitlink::LinkGraph::addDefinedSymbol(), llvm::mca::Pipeline::addEventListener(), llvm::sampleprof::SampleProfileWriterBinary::addNames(), AddNonNullPointersByInstruction(), llvm::MCObjectStreamer::addPendingLabel(), llvm::SIScheduleBlock::addPred(), llvm::AddrSpaceCastInst::AddrSpaceCastInst(), AddRuntimeUnrollDisableMetaData(), llvm::sampleprof::SampleRecord::addSamples(), llvm::LiveRange::addSegment(), addSegmentsWithValNo(), llvm::LiveIntervals::addSegmentToEndOfBlock(), llvm::BTFStringTable::addString(), llvm::BTFDebug::addString(), llvm::msgpack::Document::addString(), llvm::cl::Option::addSubCommand(), llvm::SIScheduleBlock::addSucc(), llvm::CodeViewContext::addToStringTable(), llvm::GCNDownwardRPTracker::advanceBeforeNext(), llvm::ModuloScheduleTestAnnotater::annotate(), llvm::APFloat::APFloat(), llvm::object::append(), llvm::HexagonShuffler::append(), llvm::orc::shared::TrivialSPSSequenceDeserialization< char, std::string >::append(), llvm::LiveRange::append(), llvm::DWARFDebugLine::LineTable::appendSequence(), llvm::mca::Pipeline::appendStage(), llvm::pdb::NamedStreamMap::appendStringData(), llvm::LiveRange::assign(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::po_iterator< Inverse< T >, std::set< typename GraphTraits< T >::NodeRef >, false >::begin(), llvm::df_iterator< T, std::set< typename GraphTraits< T >::NodeRef >, true >::begin(), llvm::MCWinCOFFStreamer::BeginCOFFSymbolDef(), llvm::BTFDebug::beginInstruction(), BinomialCoefficient(), llvm::BitCastInst::BitCastInst(), buildFatArchList(), buildFrameType(), llvm::CachedHashString::CachedHashString(), llvm::CachedHashStringRef::CachedHashStringRef(), llvm::LiveIntervalCalc::calculate(), llvm::ForwardDominanceFrontierBase< BasicBlock >::calculate(), llvm::ModuleSummaryIndex::calculateCallGraphRoot(), llvm::ModuleSummaryIndex::canImportGlobalVar(), llvm::cannotBeMaxInLoop(), llvm::cannotBeMinInLoop(), llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::CaseLower(), llvm::CastInst::castIsValid(), CC_AIX(), charTailAt(), CheckForCanReleaseCFGHazard(), CheckForUseCFGHazard(), checkMixedPrecision(), llvm::object::MachOObjectFile::checkSymbolTable(), clampCallSiteArgumentStates(), clampReturnedValueStates(), llvm::clampStateAndIndicateChange(), llvm::clampStateAndIndicateChange< DerefState >(), llvm::codeview::DebugSymbolsSubsectionRef::classof(), llvm::codeview::DebugFrameDataSubsectionRef::classof(), llvm::MCSymbolGOFF::classof(), llvm::MCSymbolXCOFF::classof(), llvm::codeview::DebugSymbolRVASubsectionRef::classof(), llvm::codeview::DebugCrossModuleExportsSubsectionRef::classof(), llvm::codeview::DebugStringTableSubsectionRef::classof(), llvm::codeview::DebugSymbolsSubsection::classof(), llvm::MCSymbolWasm::classof(), llvm::MCSectionGOFF::classof(), llvm::remarks::YAMLRemarkSerializer::classof(), llvm::codeview::DebugFrameDataSubsection::classof(), llvm::MCSymbolELF::classof(), llvm::codeview::DebugSymbolRVASubsection::classof(), llvm::codeview::DebugCrossModuleExportsSubsection::classof(), llvm::codeview::DebugCrossModuleImportsSubsectionRef::classof(), llvm::codeview::DebugChecksumsSubsectionRef::classof(), llvm::codeview::DebugStringTableSubsection::classof(), llvm::MCSymbolCOFF::classof(), llvm::SCEVConstant::classof(), llvm::codeview::DebugInlineeLinesSubsectionRef::classof(), llvm::MinidumpYAML::detail::ListStream< EntryT >::classof(), llvm::codeview::DebugCrossModuleImportsSubsection::classof(), llvm::MCSectionMachO::classof(), llvm::codeview::DebugChecksumsSubsection::classof(), llvm::codeview::DebugLinesSubsectionRef::classof(), llvm::MCSectionXCOFF::classof(), llvm::remarks::YAMLStrTabRemarkSerializer::classof(), llvm::MCSectionCOFF::classof(), llvm::MCSectionWasm::classof(), llvm::MCSectionELF::classof(), llvm::codeview::DebugInlineeLinesSubsection::classof(), llvm::SCEVCastExpr::classof(), llvm::SCEVPtrToIntExpr::classof(), llvm::codeview::DebugLinesSubsection::classof(), llvm::MinidumpYAML::ExceptionStream::classof(), llvm::SCEVIntegralCastExpr::classof(), llvm::MCSymbolMachO::classof(), llvm::MinidumpYAML::MemoryInfoListStream::classof(), llvm::SCEVTruncateExpr::classof(), llvm::remarks::BitstreamRemarkSerializer::classof(), llvm::MinidumpYAML::RawContentStream::classof(), llvm::SCEVZeroExtendExpr::classof(), llvm::SCEVSignExtendExpr::classof(), llvm::MinidumpYAML::SystemInfoStream::classof(), llvm::MinidumpYAML::TextContentStream::classof(), llvm::WasmYAML::CustomSection::classof(), llvm::WasmYAML::DylinkSection::classof(), llvm::SCEVCouldNotCompute::classof(), llvm::WasmYAML::NameSection::classof(), llvm::SCEVNAryExpr::classof(), llvm::ELFYAML::Section::classof(), llvm::WasmYAML::LinkingSection::classof(), llvm::SCEVCommutativeExpr::classof(), llvm::WasmYAML::ProducersSection::classof(), llvm::WasmYAML::TargetFeaturesSection::classof(), llvm::WasmYAML::TypeSection::classof(), llvm::SCEVAddExpr::classof(), llvm::ELFYAML::Fill::classof(), llvm::WasmYAML::ImportSection::classof(), llvm::ELFYAML::SectionHeaderTable::classof(), llvm::SCEVMulExpr::classof(), llvm::WasmYAML::FunctionSection::classof(), llvm::WasmYAML::TableSection::classof(), llvm::WasmYAML::MemorySection::classof(), llvm::ELFYAML::BBAddrMapSection::classof(), llvm::WasmYAML::TagSection::classof(), llvm::ELFYAML::StackSizesSection::classof(), llvm::WasmYAML::GlobalSection::classof(), llvm::SCEVUDivExpr::classof(), llvm::WasmYAML::ExportSection::classof(), llvm::ELFYAML::DynamicSection::classof(), llvm::WasmYAML::StartSection::classof(), llvm::ELFYAML::RawContentSection::classof(), llvm::WasmYAML::ElemSection::classof(), llvm::ELFYAML::NoBitsSection::classof(), llvm::WasmYAML::CodeSection::classof(), llvm::ELFYAML::NoteSection::classof(), llvm::WasmYAML::DataSection::classof(), llvm::WasmYAML::DataCountSection::classof(), llvm::ELFYAML::HashSection::classof(), llvm::SCEVAddRecExpr::classof(), llvm::ELFYAML::GnuHashSection::classof(), llvm::SCEVMinMaxExpr::classof(), llvm::ELFYAML::VerneedSection::classof(), llvm::SCEVSMaxExpr::classof(), llvm::ELFYAML::AddrsigSection::classof(), llvm::SCEVUMaxExpr::classof(), llvm::ELFYAML::LinkerOptionsSection::classof(), llvm::SCEVSMinExpr::classof(), llvm::ELFYAML::DependentLibrariesSection::classof(), llvm::SCEVUMinExpr::classof(), llvm::ELFYAML::CallGraphProfileSection::classof(), llvm::ELFYAML::SymverSection::classof(), llvm::SCEVUnknown::classof(), llvm::ELFYAML::VerdefSection::classof(), llvm::ELFYAML::GroupSection::classof(), llvm::ELFYAML::RelocationSection::classof(), llvm::ELFYAML::RelrSection::classof(), llvm::ELFYAML::SymtabShndxSection::classof(), llvm::ELFYAML::ARMIndexTableSection::classof(), llvm::ELFYAML::MipsABIFlags::classof(), llvm::sampleprof::SampleContext::clearState(), WidenIV::cloneArithmeticIVUser(), llvm::collectParametricTerms(), CollectSubexprs(), combineShuffleOfScalars(), compareWithScalarFnName(), llvm::Hexagon_MC::completeHVXFeatures(), llvm::computeAccessFunctions(), llvm::ComputeCrossModuleImport(), llvm::HexagonBlockRanges::computeDeadMap(), llvm::computeDeadSymbols(), llvm::rdf::Liveness::computeLiveIns(), llvm::rdf::Liveness::computePhiInfo(), llvm::MachineBasicBlock::computeRegisterLiveness(), llvm::computeSyntheticCounts(), llvm::LegacyLegalizerInfo::computeTables(), llvm::codeview::consume(), StringView::consumeFront(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::consumeIf(), llvm::StringTableBuilder::contains(), llvm::ScalarEvolution::containsAddRecurrence(), containsConstantInAddMulChain(), llvm::LiveRange::Segment::containsInterval(), containsParameters(), llvm::object::SectionRef::containsSymbol(), containsUndefs(), llvm::detail::DoubleAPFloat::convertFromString(), llvm::ScalarEvolution::convertSCEVToAddRecWithPredicates(), llvm::APFixedPoint::convertToFloat(), llvm::StringRef::copy(), costAndCollectOperands(), llvm::GlobPattern::create(), llvm::orc::SimpleRemoteEPCServer::Create(), llvm::UnaryOperator::Create(), llvm::CastInst::Create(), llvm::createAArch64AsmTargetStreamer(), llvm::createAArch64ELFStreamer(), llvm::createAArch64ObjectTargetStreamer(), llvm::createAArch64WinCOFFStreamer(), createAMDGPUAsmTargetStreamer(), createAMDGPUObjectTargetStreamer(), llvm::createARMELFStreamer(), llvm::createARMNullTargetStreamer(), llvm::createARMObjectTargetStreamer(), llvm::createARMTargetAsmStreamer(), llvm::createARMWinCOFFStreamer(), llvm::pdb::PDBSymbol::createAs(), llvm::Target::createAsmStreamer(), createAsmTargetStreamer(), llvm::Target::createAsmTargetStreamer(), createAVRObjectTargetStreamer(), llvm::CastInst::CreateBitOrPointerCast(), llvm::orc::LLJIT::createCompileFunction(), llvm::jitlink::createEHFrameRecorderPass(), llvm::createELFStreamer(), createHexagonObjectTargetStreamer(), llvm::createMachOStreamer(), createMCAsmTargetStreamer(), llvm::Target::createMCObjectStreamer(), createMCStreamer(), llvm::LLVMTargetMachine::createMCStreamer(), createMipsAsmTargetStreamer(), llvm::createMipsNaClELFStreamer(), createMipsNullTargetStreamer(), createMipsObjectTargetStreamer(), llvm::createMSP430ObjectTargetStreamer(), llvm::Target::createNullStreamer(), createNullTargetStreamer(), llvm::Target::createNullTargetStreamer(), llvm::orc::LLJIT::createObjectLinkingLayer(), createObjectTargetStreamer(), llvm::CastInst::CreatePointerBitCastOrAddrSpaceCast(), llvm::CastInst::CreatePointerCast(), createResumeEntryBlock(), createRISCVAsmTargetStreamer(), llvm::createRISCVELFStreamer(), createRISCVNullTargetStreamer(), createRISCVObjectTargetStreamer(), llvm::CastInst::CreateSExtOrBitCast(), llvm::createStringError(), createTargetAsmStreamer(), llvm::CastInst::CreateTruncOrBitCast(), llvm::createWasmStreamer(), llvm::createX86AsmTargetStreamer(), llvm::createX86ObjectTargetStreamer(), llvm::createX86WinCOFFStreamer(), llvm::createXCOFFStreamer(), llvm::CastInst::CreateZExtOrBitCast(), llvm::mca::ExecuteStage::cycleStart(), Decode2RImmInstruction(), Decode2RInstruction(), Decode2RSrcDstInstruction(), Decode2RUSBitpInstruction(), Decode2RUSInstruction(), Decode3RImmInstruction(), Decode3RInstruction(), DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeAddrMode5FP16Operand(), DecodeAddrMode5Operand(), DecodeAddrMode6Operand(), DecodeAddrModeImm12Operand(), DecodeAddSubImmShift(), DecodeArmMOVTWInstruction(), DecodeBFLabelOperand(), DecodeBitfieldMaskOperand(), DecodeBranchImmInstruction(), DecodeCopMemInstruction(), DecodeCPSInstruction(), DecodeDoubleRegLoad(), DecodeDoubleRegStore(), DecodeDPRRegListOperand(), DecodeForVMRSandVMSR(), DecodeGPRnopcRegisterClass(), DecodeGPRPairRegisterClass(), DecodeGPRwithAPSRRegisterClass(), DecodeGPRwithZRnospRegisterClass(), DecodeGPRwithZRRegisterClass(), DecodeHINTInstruction(), DecodeIntPairRegisterClass(), DecodeIT(), DecodeL2RInstruction(), DecodeL2RUSBitpInstruction(), DecodeL2RUSInstruction(), DecodeL3RInstruction(), DecodeL3RSrcDstInstruction(), DecodeL4RSrcDstInstruction(), DecodeL4RSrcDstSrcDstInstruction(), DecodeL5RInstruction(), DecodeL6RInstruction(), DecodeLDR(), DecodeLDRPreImm(), DecodeLDRPreReg(), llvm::AArch64_AM::decodeLogicalImmediate(), DecodeLOLoop(), DecodeLongShiftOperand(), DecodeLR2RInstruction(), DecodeMemMultipleWritebackInstruction(), DecodeMSRMask(), DecodeMVE_MEM_pre(), DecodeMveAddrModeQ(), DecodeMveAddrModeRQ(), DecodeMVEModImmInstruction(), DecodeMVEOverlappingLongShift(), DecodeMVEPairVectorIndexOperand(), DecodeMVEVADCInstruction(), DecodeMVEVCMP(), DecodeMveVCTP(), DecodeMVEVCVTt1fp(), DecodeMVEVMOVDRegtoQ(), DecodeMVEVMOVQtoDReg(), DecodeMVEVPNOT(), DecodeNEONComplexLane64Instruction(), DecodePostIdxReg(), DecodePowerTwoOperand(), DecodePredicateOperand(), DecodeQADDInstruction(), DecodeR2RInstruction(), DecodeRegListOperand(), DecodeRFEInstruction(), DecoderForMRRC2AndMCRR2(), DecoderGPRRegisterClass(), DecodeRUSBitpInstruction(), DecodeRUSInstruction(), DecodeRUSSrcDstBitpInstruction(), DecodeSETPANInstruction(), DecodeSMLAInstruction(), DecodeSORegImmOperand(), DecodeSORegMemOperand(), DecodeSORegRegOperand(), DecodeSPRRegListOperand(), DecodeSTRPreImm(), DecodeSTRPreReg(), DecodeSwap(), DecodeT2AddrModeImm0_1020s4(), DecodeT2AddrModeImm12(), DecodeT2AddrModeImm7(), DecodeT2AddrModeImm7s4(), DecodeT2AddrModeImm8(), DecodeT2AddrModeImm8s4(), DecodeT2AddrModeSOReg(), DecodeT2AddSubSPImm(), DecodeT2Adr(), DecodeT2BInstruction(), DecodeT2CPSInstruction(), DecodeT2LDRDPreInstruction(), DecodeT2LdStPre(), DecodeT2LoadImm12(), DecodeT2LoadImm8(), DecodeT2LoadLabel(), DecodeT2LoadShift(), DecodeT2LoadT(), DecodeT2MOVTWInstruction(), DecodeT2ShifterImmOperand(), DecodeT2STRDPreInstruction(), DecodeTAddrModeImm7(), DecodeTBLInstruction(), DecodeThumb2BCCInstruction(), DecodeThumbAddrModeIS(), DecodeThumbAddrModeRR(), DecodeThumbAddSpecialReg(), DecodeThumbAddSPReg(), DecodeThumbBLTargetOperand(), DecodeThumbBLXOffset(), DecodeThumbTableBranch(), DecodeTSTInstruction(), DecodeVCVTD(), DecodeVCVTImmOperand(), DecodeVCVTQ(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3DupInstruction(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDInstruction(), DecodeVMOVModImmInstruction(), DecodeVMOVRRS(), DecodeVMOVSRR(), DecodeVPTMaskOperand(), DecodeVSCCLRM(), DecodeVSHLMaxInstruction(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), DecodeVSTInstruction(), DecodeVSTRVLDR_SYSREG(), llvm::delinearize(), Status::delta(), llvm::denormalizeForPostIncUse(), llvm::depth_first_ext(), llvm::orc::shared::SPSSerializationTraits< SPSSequence< SPSElementTagT >, SequenceT, std::enable_if_t< TrivialSPSSequenceSerialization< SPSElementTagT, SequenceT >::available > >::deserialize(), llvm::orc::shared::SPSSerializationTraits< SPSString, StringRef >::deserialize(), llvm::orc::shared::SPSSerializationTraits< SPSSequence< SPSTuple< SPSString, SPSValueT > >, StringMap< ValueT > >::deserialize(), llvm::orc::shared::SerializationTraits< ChannelT, std::set< T >, std::set< T2 > >::deserialize(), llvm::codeview::SymbolDeserializer::deserializeAs(), llvm::SmallVectorTemplateBase< T, bool >::destroy_range(), llvm::HexagonDAGToDAGISel::DetectUseSxtw(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::df_ext_begin(), llvm::df_ext_end(), DiagHandler(), llvm::DIEInlineString::DIEInlineString(), llvm::DIEString::DIEString(), llvm::vfs::RedirectingFileSystem::dir_begin(), llvm::vfs::RedirectingFileSystem::DirectoryEntry::DirectoryEntry(), llvm::ModuleSummaryIndex::discoverNodes(), llvm::DisplayGraph(), llvm::MachObjectWriter::doesSymbolRequireExternRelocation(), llvm::AsmPrinter::doFinalization(), doImportingForModule(), DoInitialMatch(), llvm::LexicalScope::dominates(), llvm::ScalarEvolution::dominates(), llvm::ELFYAML::dropUniqueSuffix(), llvm::DWARFDebugPubTable::dump(), llvm::ConstraintSystem::dump(), llvm::PMStack::dump(), llvm::DomTreeUpdater::dump(), llvm::APInt::dump(), false::dump_node_container(), llvm::dumpSectionMemory(), dumpStringOffsetsSection(), llvm::BitTracker::MachineEvaluator::eADD(), llvm::MCPseudoProbeSection::emit(), llvm::AArch64TargetWinCOFFStreamer::emitARM64WinCFIEpilogEnd(), llvm::AArch64TargetWinCOFFStreamer::emitARM64WinCFIEpilogStart(), llvm::AArch64TargetWinCOFFStreamer::emitARM64WinCFIPrologEnd(), llvm::MipsTargetELFStreamer::emitAssignment(), llvm::MCELFStreamer::emitCommonSymbol(), llvm::MCWinCOFFStreamer::emitCommonSymbol(), llvm::AsmPrinter::emitConstantPool(), llvm::InstrProfRecordWriterTrait::EmitData(), llvm::AsmPrinter::emitDwarfStringOffset(), llvm::X86AsmPrinter::emitEndOfAsmFile(), llvm::EHStreamer::emitExceptionTable(), llvm::AsmPrinter::emitFunctionBody(), llvm::ARMAsmPrinter::emitFunctionEntryLabel(), llvm::HexagonHazardRecognizer::EmitInstruction(), llvm::MCWinCOFFStreamer::emitLabel(), llvm::MCELFStreamer::emitLabel(), llvm::MCWasmStreamer::emitLabel(), llvm::MipsTargetELFStreamer::emitLabel(), llvm::MCELFStreamer::emitLabelAtPos(), llvm::MCWasmStreamer::emitLabelAtPos(), llvm::MCELFStreamer::emitLocalCommonSymbol(), llvm::MCWinCOFFStreamer::emitLocalCommonSymbol(), llvm::TargetLoweringObjectFileELF::emitModuleMetadata(), llvm::TargetLoweringObjectFileMachO::emitModuleMetadata(), llvm::TargetLoweringObjectFileCOFF::emitModuleMetadata(), emitNullTerminatedSymbolName(), llvm::WebAssemblyAsmPrinter::EmitProducerInfo(), llvm::X86AsmPrinter::emitStartOfAsmFile(), llvm::MCWinCOFFStreamer::emitSymbolAttribute(), llvm::MCELFStreamer::emitSymbolAttribute(), llvm::MCWasmStreamer::emitSymbolAttribute(), llvm::AsmPrinter::EmitToStreamer(), llvm::DwarfFile::emitUnit(), llvm::AsmPrinter::emitXXStructorList(), encodeThumbBLOffset(), llvm::po_iterator< Inverse< T >, std::set< typename GraphTraits< T >::NodeRef >, false >::end(), llvm::df_iterator< T, std::set< typename GraphTraits< T >::NodeRef >, true >::end(), llvm::WinCFGuard::endModule(), llvm::WinException::endModule(), llvm::StringSwitch< T, R >::EndsWith(), llvm::StringSwitch< T, R >::EndsWithLower(), llvm::APFloatBase::EnumToSemantics(), llvm::ARMConstantPoolSymbol::equals(), llvm::GVNExpression::StoreExpression::equals(), llvm::TinyPtrVector< llvm::VPValue * >::erase(), llvm::SmallVectorImpl< llvm::VectorizationFactor >::erase(), llvm::ScalarEvolution::eraseValueFromMap(), ErrorFromHResult(), llvm::errs(), llvm::BitTracker::MachineEvaluator::eSUB(), llvm::HexagonEvaluator::evaluate(), expand(), expandBinOp(), llvm::HexagonInstrInfo::expandPostRAPseudo(), ExtractImmediate(), ExtractSymbol(), FactorOutConstant(), llvm::fdbgs(), llvm::ferrs(), llvm::MCWinCOFFStreamer::finalizeCGProfileEntry(), llvm::pdb::DbiStreamBuilder::finalizeMsfLayout(), llvm::GCNScheduleDAGMILive::finalizeSchedule(), Find(), llvm::msgpack::MapDocNode::find(), llvm::StringRef::find_if(), findAddRecForLoop(), llvm::MachObjectWriter::findAliasedSymbol(), llvm::findArrayDimensions(), llvm::opt::OptTable::findByPrefix(), llvm::sampleprof::FunctionSamples::findFunctionSamples(), llvm::LiveRange::findIndexesLiveAt(), llvm::sys::Process::FindInEnvPath(), llvm::sampleprof::FunctionSamples::findInlinedFunctions(), llvm::MachineLoopInfo::findLoopPreheader(), llvm::findOptionMDForLoopID(), llvm::SIRegisterInfo::findReachingDef(), llvm::jitlink::LinkGraph::findSectionByName(), findUniqueStoreInBlocks(), llvm::AMDGPUTargetAsmStreamer::finish(), llvm::MipsTargetELFStreamer::finish(), llvm::json::fixUTF8(), SCEVRecordOperands::follow(), followUsesInMBEC(), foo(), forceAttributes(), foreachUnit(), llvm::FmtAlign::format(), llvm::detail::provider_format_adapter< T >::format(), llvm::detail::stream_operator_format_adapter< T >::format(), llvm::formatv_object_base::format(), llvm::format_provider< T, std::enable_if_t< detail::use_string_formatter< T >::value > >::format(), llvm::format_provider< T, std::enable_if_t< detail::use_double_formatter< T >::value > >::format(), llvm::fouts(), llvm::FPExtInst::FPExtInst(), llvm::FPToSIInst::FPToSIInst(), llvm::FPToUIInst::FPToUIInst(), llvm::FPTruncInst::FPTruncInst(), llvm::CodeViewYAML::fromDebugH(), llvm::json::fromJSON(), llvm::JITSymbolFlags::fromSummary(), llvm::msgpack::Document::fromYAML(), llvm::generateParamAccessSummary(), llvm::get_threadpool_strategy(), llvm::ScalarEvolution::getAddExpr(), llvm::ExecutionEngine::getAddressToGlobalIfAvailable(), llvm::omp::getAllAssumeClauseOptions(), llvm::MCAssembler::getAtom(), llvm::object::COFFObjectFile::getAuxSymbol(), getBBClusterInfo(), getBBFallenThrough(), llvm::ScalarEvolution::getBlockDisposition(), llvm::DWARFAbbreviationDeclaration::AttributeSpec::getByteSize(), llvm::DINode::getCanonicalMDString(), llvm::DIMacroNode::getCanonicalMDString(), llvm::ScalarEvolution::getConstant(), llvm::ARMTargetLowering::getConstraintType(), llvm::TargetLowering::getConstraintType(), llvm::AsmPrinter::GetCPISymbol(), getCStringLength(), llvm::irsymtab::Reader::getDependentLibraries(), llvm::LTOModule::getDependentLibrary(), llvm::DWARFContext::getDWOContext(), llvm::ValueInfo::getELFVisibility(), llvm::NonRelocatableStringpool::getEntry(), llvm::ScalarEvolution::getEqualPredicate(), llvm::json::Path::Root::getError(), llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), getExprBase(), llvm::Type::getFloatingPointTy(), llvm::DWARFUnitIndex::getFromHash(), llvm::GCModuleInfo::getFunctionInfo(), llvm::SampleProfileLoaderBaseImpl< MachineBasicBlock >::getFunctionLoc(), llvm::ItaniumPartialDemangler::getFunctionParameters(), llvm::ItaniumPartialDemangler::getFunctionReturnType(), llvm::getGCStrategy(), llvm::GCModuleInfo::getGCStrategy(), llvm::DenseMapInfo< CachedHashStringRef >::getHashValue(), llvm::DenseMapInfo< CachedHashString >::getHashValue(), getHexUint(), llvm::pdb::PDBStringTableBuilder::getIdForString(), llvm::codeview::DebugStringTableSubsection::getIdForString(), getLabelOffset(), llvm::getLiveLaneMask(), llvm::getLiveRegMap(), llvm::RegPressureTracker::getLiveThroughAt(), llvm::ScalarEvolution::getLoopDisposition(), llvm::ScalarEvolution::getLosslessPtrToIntExpr(), llvm::getMachineType(), llvm::ManagedStringPool::getManagedString(), llvm::HexagonMCInstrInfo::getMemAccessSize(), llvm::HexagonInstrInfo::getMemAccessSize(), llvm::HexagonII::getMemAccessSizeInBytes(), llvm::AAMemoryLocation::getMemoryLocationsAsStr(), llvm::DILocation::getMergedLocation(), llvm::ScalarEvolution::getMinMaxExpr(), llvm::ScalarEvolution::GetMinTrailingZeros(), llvm::AAResults::getModRefInfo(), getMopState(), llvm::AMDGPU::SendMsg::getMsgOpId(), llvm::ScalarEvolution::getMulExpr(), llvm::getNumValueDataForSiteInstrProf(), llvm::StringTableBuilder::getOffset(), llvm::omp::getOpenMPContextTraitSelectorKind(), llvm::omp::getOpenMPContextTraitSetKind(), GetOrCreateOffsetCache(), llvm::InstrProfSymtab::getOrigFuncName(), getOutputSegmentMap(), llvm::DwarfUnit::getParentContextString(), llvm::getPGOFuncName(), llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(), llvm::ConstantExpr::getPointerCast(), llvm::ExecutionEngine::getPointerToGlobalIfAvailable(), llvm::MachineInstr::getPostInstrSymbol(), llvm::MachineInstr::getPreInstrSymbol(), llvm::MachineFrameInfo::getPristineRegs(), llvm::MCObjectFileInfo::getPseudoProbeDescSection(), llvm::MCObjectFileInfo::getPseudoProbeSection(), llvm::orc::OrcV2CAPIHelper::getRawPoolEntryPtr(), getRedirectedFileStatus(), llvm::TargetLowering::getRegForInlineAsmConstraint(), llvm::SCEVExpander::getRelatedExistingExpansion(), llvm::object::MachOObjectFile::getRelocationSymbol(), llvm::object::COFFObjectFile::getRvaAndSizeAsBytes(), llvm::object::COFFObjectFile::getRvaPtr(), getScalarValueForVectorElement(), llvm::ScalarEvolution::getSCEV(), llvm::jitlink::Symbol::getScope(), llvm::jitlink::getScopeName(), llvm::object::WasmObjectFile::getSectionContents(), llvm::ELFYAML::Object::getSectionHeaderTable(), llvm::DwarfDebug::getSectionLabel(), llvm::object::WasmObjectFile::getSectionName(), llvm::ELFYAML::Object::getSections(), llvm::object::WasmObjectFile::getSectionSize(), getSetupCost(), llvm::ScalarEvolution::getSignedRange(), llvm::ScalarEvolution::getSignedRangeMax(), llvm::ScalarEvolution::getSignedRangeMin(), llvm::ScalarEvolution::getSignExtendExpr(), llvm::LiveInterval::getSize(), llvm::vfs::RedirectingFileSystem::DirectoryEntry::getStatus(), llvm::GCMetadataPrinter::getStrategy(), llvm::GCFunctionInfo::getStrategy(), llvm::getStrideFromPointer(), llvm::DIEString::getString(), llvm::DIEInlineString::getString(), getStringIdTypeIdx(), llvm::NonRelocatableStringpool::getStringOffset(), llvm::DINode::getStringOperand(), llvm::DIMacroNode::getStringOperand(), getStringReg(), llvm::object::MachOObjectFile::getStringTableData(), llvm::ARMConstantPoolSymbol::getSymbol(), llvm::MachObjectWriter::getSymbolAddress(), llvm::ModuleSymbolTable::getSymbolFlags(), llvm::jitlink::ELFLinkGraphBuilder< object::ELF64LE >::getSymbolLinkageAndScope(), llvm::MCAsmLayout::getSymbolOffset(), getSymbolOffsetImpl(), getSymbols(), ParameterPack::getSyntaxNode(), ForwardTemplateReference::getSyntaxNode(), llvm::ScalarEvolution::getTruncateExpr(), llvm::ScalarEvolution::getUDivExpr(), llvm::ScalarEvolution::getUMinFromMismatchedTypes(), llvm::ScalarEvolution::getUnknown(), llvm::AMDGPUMangledLibFunc::getUnmangledName(), llvm::GetUnrollMetadata(), llvm::ScalarEvolution::getUnsignedRange(), llvm::ScalarEvolution::getUnsignedRangeMax(), llvm::ScalarEvolution::getUnsignedRangeMin(), llvm::Record::getValueAsString(), llvm::getValueForSiteInstrProf(), llvm::VFABI::getVectorVariantNames(), llvm::ExpressionFormat::getWildcardRegex(), llvm::ScalarEvolution::getWrapPredicate(), llvm::ScalarEvolution::getZeroExtendExpr(), llvm::CodeViewYAML::GlobalHash::GlobalHash(), GroupByComplexity(), llvm::DWARFVerifier::handleDebugInfo(), llvm::handleExecNameEncodedBEOpts(), llvm::handleExecNameEncodedOptimizerOpts(), llvm::objcarc::BottomUpPtrState::HandlePotentialAlterRefCount(), llvm::hardware_concurrency(), hasAnyUnrollPragma(), Node::hasArray(), QualType::hasArraySlow(), ParameterPack::hasArraySlow(), ForwardTemplateReference::hasArraySlow(), llvm::ScalarEvolution::hasComputableLoopEvolution(), hasConstantFlag(), hasDependence(), Node::hasFunction(), QualType::hasFunctionSlow(), ParameterPack::hasFunctionSlow(), ForwardTemplateReference::hasFunctionSlow(), llvm::SHA1::hash(), llvm::SHA256::hash(), llvm::hash_value(), llvm::pdb::NamedStreamMapTraits::hashLookupKey(), llvm::pdb::StringTableHashTraits::hashLookupKey(), llvm::codeview::GloballyHashedType::hashType(), hasHugeExpression(), llvm::ScalarEvolution::hasOperand(), hasReadOnlyFlag(), Node::hasRHSComponent(), QualType::hasRHSComponentSlow(), PointerType::hasRHSComponentSlow(), ReferenceType::hasRHSComponentSlow(), PointerToMemberType::hasRHSComponentSlow(), ParameterPack::hasRHSComponentSlow(), ForwardTemplateReference::hasRHSComponentSlow(), llvm::sampleprof::SampleContext::hasState(), llvm::hasUTF16ByteOrderMark(), hasUTF8ByteOrderMark(), hasWildcard(), hasWriteOnlyFlag(), llvm::heavyweight_hardware_concurrency(), llvm::BumpPtrAllocatorImpl< MallocAllocator, 65536 >::identifyObject(), llvm::DebugHandlerBase::identifyScopeMarkers(), llvm::idf_ext_begin(), llvm::idf_ext_end(), INITIALIZE_PASS(), initializeCounts(), initializeOptionalHeader(), initializeOutputStream(), llvm::yaml::ScalarTraits< StringValue >::input(), llvm::yaml::ScalarTraits< FlowStringValue >::input(), llvm::yaml::BlockScalarTraits< BlockStringValue >::input(), llvm::yaml::BlockScalarTraits< StringBlockVal >::input(), llvm::yaml::TaggedScalarTraits< ScalarDocNode >::input(), llvm::pdb::PDBStringTableBuilder::insert(), llvm::codeview::DebugStringTableSubsection::insert(), llvm::NodeSet::insert(), llvm::DiagnosticInfoOptimizationBase::insert(), llvm::MachineBasicBlock::insert(), llvm::ScopedHashTable< K, V, DenseMapInfo< K >, MallocAllocator >::insertIntoScope(), llvm::DwarfDebug::insertSectionLabel(), llvm::gsym::GsymCreator::insertString(), llvm::orc::SymbolStringPool::intern(), llvm::remarks::StringTable::internalize(), Status::intersect(), llvm::IntrusiveRefCntPtr< JITDylib >::IntrusiveRefCntPtr(), llvm::IntToPtrInst::IntToPtrInst(), llvm::inverse_depth_first_ext(), llvm::inverse_post_order_ext(), llvm::ipo_ext_begin(), llvm::ipo_ext_end(), isAlwaysFoldable(), isArchiveSymbol(), isArrayType(), isAsciiString(), llvm::mca::ExecuteStage::isAvailable(), llvm::ScalarEvolution::isAvailableAtLoopEntry(), IsAvailableOnEntry(), isCanonical(), Status::isCombinable(), Status::isCompatible(), llvm::dwarf::isCPlusPlus(), isCustomType(), llvm::dwarf::isFortran(), isFunctionType(), isHighCostExpansion(), SCEVDbgValueBuilder::isIdentityFunction(), isIntegerWideningViable(), isIntegerWideningViableForSlice(), isInteresting(), llvm::ScalarEvolution::isKnownNegative(), llvm::isKnownNegativeInLoop(), llvm::ScalarEvolution::isKnownNonNegative(), llvm::isKnownNonNegativeInLoop(), llvm::ScalarEvolution::isKnownNonPositive(), llvm::ScalarEvolution::isKnownNonZero(), llvm::ScalarEvolution::isKnownPositive(), isLoopDead(), llvm::ScalarEvolution::isLoopInvariant(), IsMulWideOperandDemotable(), isOldLoopArgument(), isOneOf(), isPointerType(), isPointerValueDeadOnEntryToFunction(), llvm::isPrefixedHexStyle(), llvm::fltSemantics::isRepresentableBy(), llvm::isSafeToExpand(), llvm::isSafeToExpandAt(), isSafeToMove(), llvm::isShiftedInt(), llvm::isShiftedUInt(), isSimpleIVUser(), llvm::isSpecialPass(), IsSVECntIntrinsic(), llvm::AArch64_AM::isSVEMoveMaskPreferredLogicalImmediate(), llvm::MCParserUtils::isSymbolUsedInExpression(), isTagType(), llvm::json::isUTF8(), llvm::AArch64_AM::isValidDecodeLogicalImmediate(), isVectorPromotionViable(), isVectorPromotionViableForSlice(), llvm::LiveRange::isZeroLength(), llvm::itaniumDemangle(), llvm::LiveRange::join(), layout(), layoutCOFF(), llvm::coverage::LineCoverageStats::LineCoverageStats(), llvm::omp::listOpenMPContextTraitProperties(), llvm::omp::listOpenMPContextTraitSelectors(), llvm::omp::listOpenMPContextTraitSets(), LLVMDisasmInstruction(), LLVMGetDebugLocDirectory(), LLVMGetDebugLocFilename(), LLVMGetMDString(), LLVMGetStringAttributeKind(), LLVMGetStringAttributeValue(), LLVMOrcReleaseSymbolStringPoolEntry(), LLVMOrcRetainSymbolStringPoolEntry(), LLVMOrcSymbolStringPoolEntryStr(), llvm::object::ResourceSectionRef::load(), llvm::orc::ThreadSafeContext::Lock::Lock(), llvm::LockFileManager::LockFileManager(), llvm::pdb::NamedStreamMapTraits::lookupKeyToStorageKey(), llvm::pdb::StringTableHashTraits::lookupKeyToStorageKey(), llvm::HexagonTargetLowering::LowerBUILD_VECTOR(), llvm::HexagonTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::AsmPrinter::lowerConstant(), llvm::LanaiTargetLowering::LowerMUL(), LowerShift(), llvm::LegalizerHelper::lowerSITOFP(), lowerStatepointMetaArgs(), llvm::HexagonTargetLowering::LowerVECTOR_SHUFFLE(), llvm::PatternMatch::m_UAddWithOverflow(), llvm::jitlink::LinkGraph::makeDefined(), llvm::makeGCNILPScheduler(), llvm::makeMinRegSchedule(), llvm::makePostTransformationMetadata(), mangleCoveragePath(), llvm::yaml::MappingTraits< XCOFFYAML::Symbol >::mapping(), llvm::yaml::MappingTraits< Argument >::mapping(), llvm::yaml::MappingTraits< COFFYAML::Symbol >::mapping(), llvm::yaml::MappingTraits< std::unique_ptr< ELFYAML::Chunk > >::mapping(), llvm::codeview::CodeViewRecordIO::mapStringZ(), llvm::codeview::CodeViewRecordIO::mapStringZVectorZ(), llvm::GlobPattern::match(), matchAsm(), mayUsePostIncMode(), llvm::MCTargetStreamer::MCTargetStreamer(), Status::merge(), mergeConditionalStores(), mergeConditionalStoreToAddress(), llvm::LiveRange::MergeSegmentsInAsValue(), llvm::LiveRange::MergeValueInAsValue(), llvm::LiveRange::MergeValueNumberInto(), llvm::microsoftDemangle(), llvm::ModuloScheduleTestAnnotater::ModuloScheduleTestAnnotater(), llvm::orc::OrcV2CAPIHelper::moveFromSymbolStringPtr(), llvm::orc::OrcV2CAPIHelper::moveToSymbolStringPtr(), multipleIterations(), llvm::yaml::ScalarTraits< StringValue >::mustQuote(), llvm::yaml::ScalarTraits< FlowStringValue >::mustQuote(), llvm::yaml::ScalarTraits< BinaryRef >::mustQuote(), llvm::yaml::TaggedScalarTraits< ScalarDocNode >::mustQuote(), llvm::yaml::ScalarTraits< FixedSizeString< N > >::mustQuote(), llvm::yaml::ScalarTraits< char_16 >::mustQuote(), llvm::yaml::ScalarTraits< uuid_t >::mustQuote(), llvm::yaml::ScalarTraits< FrameIndex >::mustQuote(), llvm::yaml::ScalarTraits< ELFYAML::YAMLFlowString >::mustQuote(), llvm::pdb::NativeEnumGlobals::NativeEnumGlobals(), needsStackFrame(), NoopOrExtend(), llvm::normalizeForPostIncUse(), llvm::normalizeForPostIncUseIf(), llvm::MCJIT::notifyObjectLoaded(), llvm::nulls(), numberOfTerms(), llvm::json::ObjectKey::ObjectKey(), llvm::vfs::RedirectingFileSystem::openFileForRead(), llvm::orc::SymbolStringPtr::operator bool(), llvm::GlobalIndirectSymbol::operator new(), llvm::UnaryConstantExpr::operator new(), llvm::ConstantData::operator new(), llvm::UnaryInstruction::operator new(), llvm::BinaryConstantExpr::operator new(), llvm::SelectConstantExpr::operator new(), llvm::ExtractElementConstantExpr::operator new(), llvm::InsertElementConstantExpr::operator new(), llvm::ShuffleVectorConstantExpr::operator new(), llvm::BinaryOperator::operator new(), llvm::ExtractValueConstantExpr::operator new(), llvm::InsertValueConstantExpr::operator new(), llvm::CompareConstantExpr::operator new(), llvm::MemoryUse::operator new(), llvm::StoreInst::operator new(), llvm::MemoryDef::operator new(), llvm::FenceInst::operator new(), llvm::AtomicCmpXchgInst::operator new(), llvm::CmpInst::operator new(), llvm::AtomicRMWInst::operator new(), llvm::ShuffleVectorInst::operator new(), llvm::InsertValueInst::operator new(), llvm::UnreachableInst::operator new(), Status::operator!=(), llvm::MVT::operator!=(), llvm::sampleprof::SampleContextFrameHash::operator()(), llvm::orc::SymbolStringPtr::operator*(), llvm::sys::path::const_iterator::operator++(), llvm::sys::path::reverse_iterator::operator++(), llvm::yaml::document_iterator::operator++(), llvm::SubtargetFeatureKV::operator<(), llvm::SubtargetSubTypeKV::operator<(), llvm::MVT::operator<(), llvm::operator<(), llvm::gsym::operator<<(), llvm::objcarc::operator<<(), llvm::operator<<(), llvm::orc::operator<<(), false::operator<<(), llvm::MVT::operator<=(), llvm::orc::SymbolStringPtr::operator=(), llvm::IntrusiveRefCntPtr< JITDylib >::operator=(), Status::operator==(), llvm::MVT::operator==(), llvm::MVT::operator>(), llvm::MVT::operator>=(), llvm::msgpack::MapDocNode::operator[](), llvm::optimal_concurrency(), llvm::SMSchedule::orderDependence(), llvm::yaml::ScalarTraits< StringValue >::output(), llvm::yaml::ScalarTraits< FlowStringValue >::output(), llvm::yaml::BlockScalarTraits< BlockStringValue >::output(), llvm::yaml::BlockScalarTraits< StringBlockVal >::output(), llvm::yaml::TaggedScalarTraits< ScalarDocNode >::output(), llvm::NVPTXTargetStreamer::outputDwarfFileDirectives(), llvm::outs(), llvm::HexagonBlockRanges::IndexRange::overlaps(), packSegmentMask(), llvm::yaml::parseBool(), llvm::MCAsmParser::parseGNUAttribute(), llvm::LLParser::parseMDField(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseName(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseNestedName(), parseSegmentLoadCommand(), parseSymbolString(), PerformADDVecReduce(), llvm::rdf::PhysicalRegisterInfo::PhysicalRegisterInfo(), llvm::R600SchedStrategy::pickNode(), llvm::po_ext_begin(), llvm::po_ext_end(), llvm::objcarc::ObjCARCAAResult::pointsToConstantMemory(), popFront(), llvm::post_order_ext(), pred_L(), llvm::AsmPrinter::preprocessXXStructorList(), llvm::SMDiagnostic::print(), Node::print(), llvm::LiveRange::print(), llvm::LiveRangeUpdater::print(), llvm::APInt::print(), llvm::printCompactDWARFExpr(), llvm::SIScheduleBlock::printDebug(), ClosureTypeName::printDeclarator(), llvm::json::Path::Root::printErrorContext(), NodeArrayNode::printLeft(), VendorExtQualType::printLeft(), QualType::printLeft(), ConversionOperatorType::printLeft(), ElaboratedTypeSpefType::printLeft(), AbiTagAttr::printLeft(), EnableIfAttr::printLeft(), ObjCProtoName::printLeft(), ArrayType::printLeft(), FunctionType::printLeft(), NoexceptSpec::printLeft(), DynamicExceptionSpec::printLeft(), FunctionEncoding::printLeft(), LiteralOperator::printLeft(), SpecialName::printLeft(), CtorVtableSpecialName::printLeft(), NestedName::printLeft(), LocalName::printLeft(), QualifiedName::printLeft(), VectorType::printLeft(), PixelVectorType::printLeft(), SyntheticTemplateParamName::printLeft(), TypeTemplateParamDecl::printLeft(), NonTypeTemplateParamDecl::printLeft(), TemplateTemplateParamDecl::printLeft(), TemplateParamPackDecl::printLeft(), ParameterPack::printLeft(), TemplateArgumentPack::printLeft(), ParameterPackExpansion::printLeft(), TemplateArgs::printLeft(), ForwardTemplateReference::printLeft(), NameWithTemplateArgs::printLeft(), GlobalQualifiedName::printLeft(), StdQualifiedName::printLeft(), ExpandedSpecialSubstitution::printLeft(), SpecialSubstitution::printLeft(), CtorDtorName::printLeft(), DtorName::printLeft(), UnnamedTypeName::printLeft(), ClosureTypeName::printLeft(), StructuredBindingName::printLeft(), BinaryExpr::printLeft(), ArraySubscriptExpr::printLeft(), PostfixExpr::printLeft(), ConditionalExpr::printLeft(), MemberExpr::printLeft(), SubobjectExpr::printLeft(), EnclosingExpr::printLeft(), CastExpr::printLeft(), SizeofParamPackExpr::printLeft(), CallExpr::printLeft(), NewExpr::printLeft(), DeleteExpr::printLeft(), PrefixExpr::printLeft(), FunctionParam::printLeft(), ConversionExpr::printLeft(), PointerToMemberConversionExpr::printLeft(), InitListExpr::printLeft(), BracedExpr::printLeft(), BracedRangeExpr::printLeft(), FoldExpr::printLeft(), ThrowExpr::printLeft(), BoolExpr::printLeft(), StringLiteral::printLeft(), LambdaExpr::printLeft(), EnumLiteral::printLeft(), IntegerLiteral::printLeft(), llvm::printLivesAt(), printModuleDebugInfo(), QualType::printQuals(), QualType::printRight(), ArrayType::printRight(), FunctionType::printRight(), FunctionEncoding::printRight(), TypeTemplateParamDecl::printRight(), NonTypeTemplateParamDecl::printRight(), TemplateTemplateParamDecl::printRight(), TemplateParamPackDecl::printRight(), ParameterPack::printRight(), ForwardTemplateReference::printRight(), printSourceLine(), llvm::Recycler< llvm::MachineInstr >::PrintStats(), llvm::object::printStringOrID(), llvm::ModuleSymbolTable::printSymbolName(), NodeArray::printWithComma(), llvm::HexagonFrameLowering::processFunctionBeforeFrameFinalized(), processSelect(), llvm::ImmutableSet< ValT, ValInfo >::Profile(), llvm::ImmutableSetRef< ValT, ValInfo >::Profile(), llvm::APFixedPoint::promoteFloatSemantics(), promoteToConstantPool(), llvm::ModuleSummaryIndex::propagateAttributes(), propagateAttributesToRefs(), llvm::ScalarEvolution::properlyDominates(), llvm::PtrToIntInst::PtrToIntInst(), SCEVDbgValueBuilder::pushSCEV(), llvm::json::quote(), llvm::BinaryStreamReader::readArray(), llvm::BinaryStreamReader::readCString(), recordSourceLine(), llvm::RecursivelyDeleteTriviallyDeadInstructionsPermissive(), llvm::orc::OrcV2CAPIHelper::releasePoolEntry(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::jitlink::LinkGraph::removeSection(), llvm::LiveRange::removeSegment(), llvm::LiveRange::removeValNo(), llvm::LiveIntervals::removeVRegDefAt(), llvm::LiveRange::RenumberValues(), llvm::object::replace(), llvm::opt::InputArgList::replaceArgString(), llvm::RISCVTargetLowering::ReplaceNodeResults(), llvm::OrderedChangedData< IRData >::report(), rescheduleLexographically(), llvm::json::Array::reserve(), llvm::orc::shared::TrivialSPSSequenceDeserialization< char, std::string >::reserve(), llvm::rdf::Liveness::resetKills(), llvm::object::resolveAArch64(), llvm::object::resolveAmdgpu(), llvm::object::resolveARM(), llvm::object::resolveAVR(), llvm::object::resolveBPF(), llvm::object::resolveCOFFARM(), llvm::object::resolveCOFFARM64(), llvm::object::resolveCOFFX86(), llvm::object::resolveCOFFX86_64(), llvm::object::resolveHexagon(), llvm::object::resolveLanai(), llvm::object::resolveMachOX86_64(), llvm::object::resolveMips32(), llvm::object::resolveMips64(), llvm::object::resolveMSP430(), llvm::object::resolvePPC32(), llvm::object::resolvePPC64(), llvm::object::resolveRelocation(), llvm::object::resolveRISCV(), llvm::object::resolveSparc32(), llvm::object::resolveSparc64(), llvm::object::resolveSystemZ(), llvm::object::resolveWasm64(), llvm::object::resolveX86(), llvm::object::resolveX86_64(), llvm::orc::OrcV2CAPIHelper::retainPoolEntry(), llvm::APInt::reverseBits(), llvm::ScalarEvolution::rewriteUsingPredicate(), llvm::rdf::CopyPropagation::run(), llvm::StringSaver::save(), llvm::UniqueStringSaver::save(), scan(), llvm::SCEVExprContains(), SCEVLostPoisonFlags(), llvm::GCNScheduleDAGMILive::schedule(), llvm::object::ELFObjectFile< ELFT >::section_rel_end(), llvm::LiveRange::Segment::Segment(), llvm::HexagonDAGToDAGISel::SelectIndexedStore(), llvm::HvxSelector::selectRor(), llvm::HexagonDAGToDAGISel::SelectVAlign(), llvm::orc::shared::SerializationTraits< ChannelT, std::string, T, std::enable_if_t< std::is_base_of< RawByteChannel, ChannelT >::value &&(std::is_same< T, const char * >::value||std::is_same< T, char * >::value)> >::serialize(), llvm::orc::shared::SerializationTraits< ChannelT, std::string, std::string, std::enable_if_t< std::is_base_of< RawByteChannel, ChannelT >::value > >::serialize(), llvm::orc::shared::SPSSerializationTraits< SPSSequence< SPSElementTagT >, SequenceT, std::enable_if_t< TrivialSPSSequenceSerialization< SPSElementTagT, SequenceT >::available > >::serialize(), llvm::orc::shared::SPSSerializationTraits< SPSString, StringRef >::serialize(), llvm::SetVector< llvm::ElementCount, SmallVector< llvm::ElementCount, N >, SmallDenseSet< llvm::ElementCount, N > >::set_subtract(), llvm::SetVector< llvm::ElementCount, SmallVector< llvm::ElementCount, N >, SmallDenseSet< llvm::ElementCount, N > >::set_union(), llvm::cl::Option::setArgStr(), llvm::ISD::ArgFlagsTy::setByRefSize(), llvm::ISD::ArgFlagsTy::setByValSize(), llvm::MCContext::setCompilationDir(), llvm::mca::ResourceManager::setCustomStrategy(), llvm::MachineFrameInfo::setCVBytesOfCalleeSavedRegisters(), llvm::cl::Option::setDescription(), llvm::orc::SimpleRemoteEPCServer::Setup::setDispatcher(), llvm::MCContext::setDwarfDebugFlags(), llvm::MCContext::setDwarfDebugProducer(), llvm::Function::setEntryCount(), llvm::orc::SimpleRemoteEPCServer::Setup::setErrorReporter(), llvm::GCFunctionInfo::setFrameSize(), llvm::AMDGPUPALMetadata::setFromString(), llvm::CompileUnit::setLabelBegin(), llvm::LegacyLegalizerInfo::setLegalizeScalarToDifferentSizeStrategy(), llvm::LegacyLegalizerInfo::setLegalizeVectorElementToDifferentSizeStrategy(), llvm::MCContext::setMainFileName(), llvm::MachineFrameInfo::setMaxCallFrameSize(), llvm::GlobalValue::setPartition(), llvm::jitlink::Symbol::setScope(), llvm::GlobalObject::setSection(), llvm::MachineFunction::setSection(), llvm::pdb::InfoStreamBuilder::setSignature(), llvm::DIE::setSize(), llvm::PBQP::Graph< RegAllocSolverImpl >::setSolver(), llvm::AArch64FunctionInfo::setStackSizeSVE(), llvm::sampleprof::SampleContext::setState(), llvm::SwitchInst::CaseHandle::setSuccessor(), llvm::cl::Option::setValueStr(), llvm::SExtInst::SExtInst(), llvm::HexagonRegisterInfo::shouldCoalesce(), llvm::LiveIntervals::shrinkToUses(), llvm::WebAssembly::signatureToString(), llvm::SIMachineFunctionInfo::SIMachineFunctionInfo(), llvm::InstCombinerImpl::SimplifyAnyMemSet(), llvm::InstCombinerImpl::SimplifyAnyMemTransfer(), simplifySuspendPoints(), sinkLifetimeStartMarkers(), llvm::SIToFPInst::SIToFPInst(), llvm::orc::shared::SPSSerializationTraits< SPSSequence< SPSElementTagT >, SequenceT, std::enable_if_t< TrivialSPSSequenceSerialization< SPSElementTagT, SequenceT >::available > >::size(), llvm::orc::shared::SPSSerializationTraits< SPSString, StringRef >::size(), llvm::rdf::DataFlowGraph::DefStack::size(), llvm::PBQP::RegAlloc::RegAllocSolverImpl::solve(), sortSubCommands(), llvm::SubtargetFeatures::Split(), llvm::StringRef::split(), splitAddExpr(), splitStores(), llvm::stable_hash_combine_string(), llvm::stableHashValue(), startswith(), llvm::StringSwitch< T, R >::StartsWith(), startsWithDigit(), startsWithGlobalOffsetTable(), startsWithLocalScopePattern(), llvm::StringSwitch< T, R >::StartsWithLower(), llvm::vfs::RedirectingFileSystem::status(), false::Chain::str(), StrengthenNoWrapFlags(), stringify(), llvm::LPAC::stringToLanaiAluCode(), llvm::stringToVEFCondCode(), llvm::stringToVEICondCode(), llvm::stringToVERD(), succ_L(), llvm::LPCC::suffixToLanaiCondCode(), llvm::MachO::swapStruct(), llvm::orc::SymbolStringPtr::SymbolStringPtr(), thinLTOInternalizeAndPromoteGUID(), thinLTOResolvePrevailingGUID(), llvm::thinLTOResolvePrevailingInIndex(), llvm::ThreadPool::ThreadPool(), llvm::opt::ArgList::toOptSpecifier(), llvm::APFixedPoint::toString(), llvm::msgpack::DocNode::toString(), llvm::jitlink::LinkGraph::transferBlock(), transformCallee(), llvm::TruncInst::TruncInst(), llvm::HexagonDAGToDAGISel::tryLoadOfLoadIntrinsic(), llvm::sys::fs::directory_entry::type(), llvm::WebAssembly::typeListToString(), llvm::UIToFPInst::UIToFPInst(), llvm::UnaryOperator::UnaryOperator(), unifyLoopExits(), llvm::LiveIntervals::HMEditor::updateAllRanges(), AAReturnedFromReturnedValues< AAAlign, AAAlignImpl >::updateImpl(), AAArgumentFromCallSiteArguments< AANonNull, AANonNullImpl >::updateImpl(), AACallSiteReturnedFromReturned< AANonNull, AANonNullImpl >::updateImpl(), AAPointerInfoFloating::updateImpl(), AANoCaptureImpl::updateImpl(), AAMemoryBehaviorFloating::updateImpl(), llvm::updateIndexWPDForExports(), updateLiveIn(), UpdatePredRedefs(), llvm::CallInst::updateProfWeight(), llvm::updateVCallVisibilityInIndex(), llvm::UpgradeModuleFlags(), llvm::InstrProfWriter::validateRecord(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifySiblingProperty(), llvm::SCEVVisitor< SCEVLoopAddRecRewriter, const SCEV * >::visit(), llvm::SCEVRewriteVisitor< SCEVLoopGuardRewriter >::visit(), llvm::SCEVTraversal< SV >::visitAll(), llvm::InstCombinerImpl::visitFNeg(), llvm::write_double(), llvm::write_hex(), llvm::write_integer(), write_signed(), write_unsigned(), write_unsigned_impl(), llvm::sampleprof::SampleProfileWriterBinary::writeBody(), writeCOFF(), llvm::writeIndex(), llvm::InstrProfWriter::writeRecordInText(), llvm::sampleprof::SampleProfileWriterText::writeSample(), llvm::sampleprof::SampleProfileWriterBinary::writeSample(), llvm::sampleprof::SampleProfileWriterExtBinaryBase::writeSample(), llvm::sampleprof::SampleProfileWriterCompactBinary::writeSample(), llvm::gsym::FileWriter::writeSLEB(), llvm::object::writeUniversalBinary(), writeWithCommas(), llvm::ZExtInst::ZExtInst(), and llvm::orc::SymbolStringPtr::~SymbolStringPtr().

◆ s1

int s1

◆ s2

_bar mov r0 mov r1 fldd LCPI1_0 fmrrd d0 bl _foo fmdrr r5 fmsr s2

Definition at line 159 of file README.txt.

◆ SDNodes

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general either as target independent intrinsics or perhaps elsewhere in the ARM backend Some of them may also be lowered to target independent SDNodes

Definition at line 486 of file README.txt.

◆ seriously

the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More seriously

Definition at line 400 of file README.txt.

◆ sp

mov r0 ldr L5 sub r0 lr needed for prologue ldmia ip add sp

Definition at line 151 of file README.txt.

Referenced by enlarge(), p_b_cclass(), and p_b_coll_elem().

◆ stack

S is passed via registers r2 But gcc stores them to the stack

◆ stmia

add sub stmia L5 ldr r0 bl L_printf $stub Instead of a stmia

Definition at line 204 of file README.txt.

◆ stuff

_bar mov r0 mov r1 fldd LCPI1_0 fmrrd d0 bl _foo fmdrr r5 fmsr r0 fsitod s2 faddd d0 fmrrd d0 ldmfd r0 mov r1 the copys to callee save registers and the fact they are only being used by the fmdrr instruction It would have been better had the fmdrr been scheduled before the call and place the result in a callee save DPR register The two mov ops would not have been necessary Calling convention related stuff

Definition at line 181 of file README.txt.

◆ targets

should just be implemented with a CLZ instruction Since there are other targets

Definition at line 709 of file README.txt.

◆ this

compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like this

Definition at line 236 of file README.txt.

◆ This

Should compile to use and accumulates this with a bit value We currently get this with both v4 and r0 smull r2 adds r1 adc r0 bx lr This

◆ to

< i32 > ret i32 tmp10 to

Definition at line 449 of file README.txt.

Referenced by llvm::bit_cast(), and repeat().

◆ uint

<%struct.s * > cast struct s *S to sbyte *< sbyte * > sbyte uint cast struct s *agg result to sbyte *< sbyte * > sbyte uint cast struct s *memtmp to sbyte *< sbyte * > sbyte uint

◆ use

Should compile r2 movcc movcs str strb mov lr r1 movcs movcc mov lr r1 str mov mov cmp r1 movlo r2 str bx lr r0 mov mov cmp r0 movhs r2 mov r1 bx lr Some of the NEON intrinsics may be appropriate for more general use

Definition at line 484 of file README.txt.

◆ UXTAB16

Reimplement select in terms of SEL* We would really like to support UXTAB16

Definition at line 7 of file README.txt.

◆ v6

Should compile to use and accumulates this with a bit value We currently get this with both v4 and v6

Definition at line 431 of file README.txt.

◆ way

should just be implemented with a CLZ instruction Since there are other e that share this it would be best to implement this in a target independent way

Definition at line 720 of file README.txt.

◆ worse

add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves* Return an aggregate type is even worse

Definition at line 210 of file README.txt.

aa
aa
Definition: AliasAnalysis.cpp:846
a
=0.0 ? 0.0 :(a > 0.0 ? 1.0 :-1.0) a
Definition: README.txt:489
So
So we should use XX3Form_Rcr to implement instrinsic Convert DP outs ins xscvdpsp So
Definition: README_P9.txt:331
b
the resulting code requires compare and branches when and if the revised code is with conditional branches instead of More there is a byte word extend before each where there should be only and the condition codes are not remembered when the same two values are compared twice More LSR enhancements i8 and i32 load store addressing modes are identical int b
Definition: README.txt:418
acc
acc
Definition: README.txt:420
be
Common register allocation spilling lr str ldr sxth r3 ldr mla r4 can be
Definition: README.txt:14
B
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional ldr LCPI1_0 ldr ldr tst movne lsr ldr LCPI1_1 and r0 bx lr it saves an instruction and a register It might be profitable to cse MOVi16 if there are lots of bit immediates with the same bottom half Robert Muth started working on an alternate jump table implementation that does not put the tables in line in the text This is more like the llvm default jump table implementation This might be useful sometime Several revisions of patches are on the mailing beginning while CMP sets them like a subtract Therefore to be able to use CMN for comparisons other than the Z we ll need additional logic to reverse the conditionals associated with the comparison Perhaps a pseudo instruction for the with a post codegen pass to clean up and handle the condition codes See PR5694 for testcase Given the following on int B
Definition: README.txt:592
A
* A
Definition: README_ALTIVEC.txt:89
it
Instead of the following for memset char edx edx edx It might be better to generate eax movl edx movl edx movw edx when we can spare a register It reduces code size Evaluate what the best way to codegen sdiv C is For we currently get ret i32 Y eax movl ecx ecx ecx addl eax eax ret GCC knows several different ways to codegen it
Definition: README.txt:151
However
Common register allocation spilling lr str ldr sxth r3 ldr mla r4 can lr mov lr str ldr sxth r3 mla r4 and then merge mul and lr str ldr sxth r3 mla r4 It also increase the likelihood the store may become dead bb27 Successors according to LLVM ID Predecessors according to mbb< bb27, 0x8b0a7c0 > Note ADDri is not a two address instruction However
Definition: README.txt:43