LLVM
17.0.0git
|
#include <algorithm>
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 if * | p |
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 |
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.
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.
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 | ) |
Definition at line 190 of file README.txt.
Referenced by abort_gzip(), bar(), llvm::orc::shared::WrapperFunction< void(SPSTagTs...)>::call(), llvm::orc::ExecutorProcessControl::callSPSWrapper(), and llvm::ManagedStatic< C, Creator, Deleter >::operator*().
<%struct.s*> cast struct s* S to sbyte*<sbyte*> sbyte* cast | ( | { double, int } *%C.0.904 to sbyte * | ) |
llvm code | ( | - | O2 | ) |
Definition at line 122 of file README.txt.
References 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 | ) |
Definition at line 519 of file README.txt.
void foo | ( | struct s | S | ) |
Definition at line 185 of file README.txt.
References 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 or custom lower memcpy | ( | of small | size | ) |
Referenced by llvm::msgpack::Document::addString(), llvm::StringMapEntryBase::allocateWithKey(), llvm::APInt::APInt(), llvm::object::append(), llvm::jitlink::BasicLayout::apply(), llvm::bit_cast(), blake3_compress_subtree_wide(), llvm::CachedHashString::CachedHashString(), llvm::MemoryOpRemark::canHandle(), checkThreadCommand(), chunk_state_fill_buf(), chunk_state_init(), chunk_state_reset(), 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(), compress_parents_parallel(), compress_subtree_to_parent_node(), computeStackId(), llvm::detail::IEEEFloat::convertToHexString(), llvm::ConvertUTF8toWide(), copyBytesForDefRange(), llvm::orc::shared::WrapperFunctionResult::copyFrom(), llvm::DenseMapBase< DenseMap< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >, llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >::copyFrom(), llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD::copyString(), CopyStringRef(), llvm::objcopy::coff::copySymbol(), llvm::CodeViewDebug::LocalVarDef::createFromOpaqueValue(), llvm::objcopy::coff::createGnuDebugLinkSectionContents(), llvm::jitlink::createLinkGraphFromMachOObject(), llvm::IRBuilderBase::CreateMemCpy(), dumpUUID(), llvm::RuntimeDyldImpl::emitSection(), llvm::gsym::GsymCreator::encode(), llvm::COFF::encodeSectionName(), llvm::hashing::detail::fetch32(), llvm::hashing::detail::fetch64(), llvm::pdb::GSIHashStreamBuilder::finalizeBuckets(), llvm::orc::EPCGenericRTDyldMemoryManager::finalizeMemory(), llvm::orc::ELFDebugObject::finalizeWorkingMemory(), llvm::InstCombinerImpl::foldAllocaCmp(), llvm::msf::MSFBuilder::generateLayout(), getAccessType(), getArray(), getAsSigned(), llvm::object::MachOObjectFile::getChainedFixupsSegments(), 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(), hash_one_avx512(), hash_one_portable(), hash_one_sse2(), hash_one_sse41(), hasher_init_base(), hasher_push_cv(), llvm::ExecutionEngine::InitializeMemory(), llvm::yaml::ScalarTraits< char_16 >::input(), OutputBuffer::insert(), llvm::APInt::insertBits(), isAddressUse(), isAllocSiteRemovable(), isCallPromotable(), isShortenableAtTheEnd(), isUseOnlyIntrinsic(), lle_X_memcpy(), lle_X_sprintf(), llvm_blake3_hasher_finalize_seek(), LLVMCreateMCJITCompilerForModule(), LLVMDisasmInstruction(), LLVMInitializeMCJITCompilerOptions(), llvm::LoadIntFromMemory(), llvm::ExecutionEngine::LoadValueFromMemory(), llvm::IntrinsicLowering::LowerIntrinsicCall(), make_output(), makeUstarHeader(), llvm::codeview::CodeViewRecordIO::mapGuid(), llvm::ARMTTIImpl::maybeLoweredToCall(), llvm::object::MachOChainedFixupEntry::moveNext(), OutputBuffer::operator+=(), llvm::raw_ostream::operator<<(), llvm::TargetLibraryInfoImpl::operator=(), llvm::APInt::operator=(), llvm::LibCallSimplifier::optimizeCall(), output_chaining_value(), output_root_bytes(), llvm::performOptimizedStructLayout(), OutputBuffer::prepend(), 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(), readInteger(), readStruct(), llvm::SmallVectorBase< SmallVectorSizeType< T > >::replaceAllocation(), llvm::returnTypeIsEligibleForTailCall(), llvm::reverseBits(), llvm::StringSaver::save(), serializePublic(), llvm::APInt::sext(), llvm::DXContainerYAML::ShaderHash::ShaderHash(), stabilize(), llvm::hashing::detail::store_and_advance(), llvm::StoreIntToMemory(), llvm::ExecutionEngine::StoreValueToMemory(), supportedAddressingMode(), llvm::TargetLibraryInfoImpl::TargetLibraryInfoImpl(), llvm::CodeViewYAML::detail::UnknownSymbolRecord::toCodeViewSymbol(), llvm::CodeViewDebug::LocalVarDef::toOpaqueValue(), 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::support::endian::writeAtBitAlignment(), llvm::orc::rt_bootstrap::writeBuffersWrapper(), llvm::MutableBinaryByteStream::writeBytes(), llvm::AppendingBinaryByteStream::writeBytes(), llvm::objcopy::elf::IHexSectionWriter::writeData(), llvm::ifs::writeELFBinaryToFile(), llvm::writeModule(), writeNListEntry(), 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::OrcRiscv64::writeResolverCode(), llvm::orc::OrcLoongArch64::writeResolverCode(), llvm::orc::OrcAArch64::writeTrampolines(), llvm::orc::OrcX86_64_Base::writeTrampolines(), llvm::orc::OrcRiscv64::writeTrampolines(), llvm::orc::OrcLoongArch64::writeTrampolines(), writeUint8(), writeUstarHeader(), and llvm::APInt::zext().
bool no_overflow | ( | unsigned | a, |
unsigned | b | ||
) |
Definition at line 443 of file README.txt.
References b, and full_add().
<%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 | ) |
Referenced by AddCombineTo64BitSMLAL16().
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 |
Definition at line 10 of file README.txt.
Referenced by llvm::jitlink::loongarch::applyFixup(), llvm::jitlink::aarch64::applyFixup(), llvm::jitlink::x86_64::applyFixup(), llvm::memprof::PortableMemInfoBlock::deserialize(), llvm::memprof::Frame::deserialize(), llvm::memprof::IndexedMemProfRecord::deserialize(), llvm::InstrProfRecordWriterTrait::EmitData(), llvm::memprof::RecordWriterTrait::EmitKey(), llvm::memprof::FrameWriterTrait::EmitKey(), llvm::InstrProfRecordWriterTrait::EmitKeyDataLength(), llvm::memprof::RecordWriterTrait::EmitKeyDataLength(), llvm::memprof::FrameWriterTrait::EmitKeyDataLength(), llvm::IndexedInstrProf::Header::formatVersion(), llvm::IndexedInstrProfReader::hasFormat(), llvm::MD5::MD5Result::high(), llvm::MD5::MD5Result::low(), llvm::MD5Hash(), llvm::ProfOStream::patch(), readBinaryIdsInternal(), llvm::InstrProfLookupTrait::ReadData(), llvm::IndexedInstrProf::Header::readFromBuffer(), llvm::IndexedInstrProfReader::readHeader(), llvm::memprof::RecordLookupTrait::ReadKey(), llvm::memprof::FrameLookupTrait::ReadKey(), llvm::InstrProfLookupTrait::ReadKeyDataLength(), llvm::memprof::RecordLookupTrait::ReadKeyDataLength(), llvm::memprof::FrameLookupTrait::ReadKeyDataLength(), llvm::memprof::readMemProfSchema(), llvm::sampleprof::SampleProfileReaderBinary::readUnencodedNumber(), llvm::memprof::PortableMemInfoBlock::serialize(), llvm::memprof::Frame::serialize(), llvm::memprof::IndexedMemProfRecord::serialize(), llvm::swapToHostOrder(), and llvm::MD5::MD5Result::words().
Definition at line 641 of file README.txt.
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.
__Z6slow4bii __pad1__ |
Definition at line 61 of file README.txt.
_bar __pad2__ |
Definition at line 151 of file README.txt.
a __pad3__ |
Definition at line 614 of file README.txt.
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.
Definition at line 457 of file README.txt.
Definition at line 420 of file README.txt.
Definition at line 236 of file README.txt.
Referenced by DecodeAddrMode6Operand(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDST1Instruction(), DecodeVLDST2Instruction(), DecodeVLDST3Instruction(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::getAlign(), LLVMSetInstrParamAlignment(), LLVMSetParamAlignment(), and llvm::MachO::SET_COMM_ALIGN().
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.
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().
< 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 |
Definition at line 418 of file README.txt.
Referenced by abort_gzip(), add_128(), add_256(), add_512(), llvm::SpillPlacement::Node::addLink(), addv(), llvm::IntervalMapInfo< T >::adjacent(), llvm::IntervalMapHalfOpenInfo< SlotIndex >::adjacent(), llvm::sys::path::append(), ARM64EmitUnwindCode(), blend_epi16(), 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(), g(), 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< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::insert(), llvm::IntervalMap< KeyT, ValT, N, Traits >::iterator::insert(), llvm::IntervalMapImpl::LeafNode< uint64_t, uint16_t, N, IntervalMapHalfOpenInfo< uint64_t > >::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< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::overlaps(), llvm::DWARFUnitIndex::parse(), llvm::BitVector::reference::reference(), llvm::sys::path::root_directory(), llvm::sys::path::root_name(), llvm::sys::path::root_path(), set4(), 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::Instruction::setHasNoUnsignedWrap(), 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::setUsesMSVCFloatingPoint(), llvm::SwitchCG::sortAndRangeify(), llvm::IntervalMapOverlaps< MapA, MapB >::start(), llvm::IntervalMapOverlaps< MapA, MapB >::stop(), llvm::IntervalMapInfo< T >::stopLess(), llvm::IntervalMapHalfOpenInfo< SlotIndex >::stopLess(), test(), unpack_hi_128(), unpack_lo_128(), llvm::UnrollAndJamLoop(), shuffles::vpack(), shuffles::vshuff(), llvm::msgpack::Writer::write(), x(), xor_128(), xor_256(), xor_512(), xorv(), and zero().
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 at line 592 of file README.txt.
Referenced by llvm::MachineInstrSpan::begin(), llvm::MatrixBuilder::CreateAdd(), llvm::FixedPointBuilder< IRBuilderTy >::CreateAdd(), llvm::MatrixBuilder::CreateColumnMajorLoad(), llvm::MatrixBuilder::CreateColumnMajorStore(), llvm::FixedPointBuilder< IRBuilderTy >::CreateDiv(), llvm::FixedPointBuilder< IRBuilderTy >::CreateEQ(), llvm::FixedPointBuilder< IRBuilderTy >::CreateFixedToFloating(), llvm::FixedPointBuilder< IRBuilderTy >::CreateFloatingToFixed(), llvm::FixedPointBuilder< IRBuilderTy >::CreateGE(), llvm::FixedPointBuilder< IRBuilderTy >::CreateGT(), llvm::MatrixBuilder::CreateIndex(), llvm::MatrixBuilder::CreateIndexAssumption(), llvm::FixedPointBuilder< IRBuilderTy >::CreateLE(), llvm::FixedPointBuilder< IRBuilderTy >::CreateLT(), llvm::MatrixBuilder::CreateMatrixInsert(), llvm::MatrixBuilder::CreateMatrixMultiply(), llvm::MatrixBuilder::CreateMatrixTranspose(), llvm::FixedPointBuilder< IRBuilderTy >::CreateMul(), llvm::FixedPointBuilder< IRBuilderTy >::CreateNE(), llvm::MatrixBuilder::CreateScalarDiv(), llvm::MatrixBuilder::CreateScalarMultiply(), llvm::FixedPointBuilder< IRBuilderTy >::CreateShl(), llvm::FixedPointBuilder< IRBuilderTy >::CreateShr(), llvm::MatrixBuilder::CreateSub(), llvm::FixedPointBuilder< IRBuilderTy >::CreateSub(), llvm::dxil::DXILOpBuilder::DXILOpBuilder(), llvm::FixedPointBuilder< IRBuilderTy >::FixedPointBuilder(), llvm::FoldOpInit::get(), llvm::object::Slice::getBinary(), llvm::MachineInstrSpan::MachineInstrSpan(), and llvm::MatrixBuilder::MatrixBuilder().
Definition at line 709 of file README.txt.
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 |
Definition at line 584 of file README.txt.
Referenced by clearbit(), DecodeTestAndBranch(), llvm::APInt::tcClearBit(), llvm::APInt::tcExtractBit(), and llvm::APInt::tcSetBit().
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 |
Definition at line 418 of file README.txt.
Referenced by llvm::DwarfUnit::addConstantValue(), llvm::sys::path::append(), ARMEmitUnwindInfo(), categorize(), llvm::PriorityQueue< T, Sequence, Compare >::clear(), llvm::PPCInstrInfo::ClobbersPredicate(), combineFMulcFCMulc(), llvm::decDigitValue(), llvm::pdb::IPDBSourceFile::dump(), dumpDataAux(), EmitUnwindInfo(), llvm::PriorityQueue< T, Sequence, Compare >::erase_one(), llvm::StringRef::find_if_not(), g(), llvm::object::Archive::Child::getChildOffset(), llvm::getSPIRVStringOperand(), llvm::object::MachOObjectFile::guessLibraryShortName(), llvm::TextInstrProfReader::hasFormat(), llvm::hashing::detail::hash_17to32_bytes(), llvm::hashing::detail::hash_1to3_bytes(), llvm::hashing::detail::hash_33to64_bytes(), highest_one(), llvm::interleave(), llvm::interleaveComma(), isIdentifierChar(), isinsets(), isNonASCII(), llvm::sys::unicode::isprintableascii(), llvm::make_first_range(), llvm::make_second_range(), llvm::hashing::detail::hash_state::mix_32_bytes(), p_b_cclass(), p_b_eclass(), p_b_term(), p_ere(), p_ere_exp(), p_simp_re(), llvm::SystemZPostRASchedStrategy::pickNode(), llvm::sys::printArg(), printBitField(), llvm::SPIRVInstPrinter::printStringImm(), llvm::PriorityQueue< T, Sequence, Compare >::reheapify(), rotr32(), llvm::SystemZPostRASchedStrategy::schedNode(), set4(), llvm::NodeSet::setColocate(), llvm::APInt::tcAdd(), llvm::APInt::tcSubtract(), test(), llvm::PBQP::Matrix::transpose(), and llvm::raw_ostream::write_escaped().
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.
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 |
Definition at line 418 of file README.txt.
Referenced by llvm::IntervalMapImpl::adjustSiblingSizes(), llvm::sys::path::append(), decodeFFMULRdRr(), decodeFMOVWRdRr(), decodeFRd(), decodeFWRdK(), g(), llvm::GCOVBlock::getCyclesCount(), llvm::sys::getSwappedBytes(), llvm::object::MachOObjectFile::guessLibraryShortName(), llvm::hashing::detail::hash_17to32_bytes(), llvm::detail::IEEEFloat::IEEEFloat(), llvm::isCurrentDebugType(), llvm_strlcpy(), llvm::hashing::detail::hash_state::mix_32_bytes(), set4(), llvm::MachO::swapStruct(), to(), llvm::detail::IEEEFloat::toString(), and llvm::msgpack::Writer::write().
Definition at line 155 of file README.txt.
Referenced by FloatLiteralImpl< Float >::printLeft().
Definition at line 160 of file README.txt.
Referenced by copy_if_else(), and FloatLiteralImpl< Float >::printLeft().
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.
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 |
Definition at line 709 of file README.txt.
Referenced by categorize(), findmust(), llvm::object::hashSysV(), isinsets(), llvm_regcomp(), llvm_regexec(), llvm_regfree(), p_ere_exp(), p_simp_re(), pluscount(), samesets(), llvm::shuffle(), and stripsnug().
We currently generate |
Definition at line 597 of file README.txt.
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.
mov ip |
Definition at line 214 of file README.txt.
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 |
Definition at line 725 of file README.txt.
Referenced by llvm::MCAsmParser::addErrorSuffix(), llvm::MCAsmParser::Error(), llvm::HexagonEvaluator::evaluate(), and llvm::BitTracker::MachineEvaluator::isInt().
Definition at line 201 of file README.txt.
Referenced by llvm::simple_ilist< MachineInstr, Options... >::cloneFrom(), llvm::iplist_impl< simple_ilist< llvm::AliasSet, Options... >, ilist_traits< llvm::AliasSet > >::cloneFrom(), llvm::codeview::DebugCrossModuleImportsSubsection::commit(), foldLoadsRecursive(), getInnerMostLoop(), getMaskedTypeForICmpPair(), llvm::SparcTargetLowering::getRegisterByName(), llvm::ScalarEvolution::isKnownViaInduction(), isMinMaxWithLoads(), llvm::simplifyLoop(), llvm::simple_ilist< MachineInstr, Options... >::splice(), llvm::iplist_impl< simple_ilist< llvm::AliasSet, Options... >, ilist_traits< llvm::AliasSet > >::splice(), llvm::SymbolTableListTraits< ValueSubClass >::transferNodesFromList(), and llvm::EquivalenceClasses< llvm::Instruction * >::unionSets().
Definition at line 397 of file README.txt.
Definition at line 204 of file README.txt.
Definition at line 204 of file README.txt.
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.
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.
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 |
Definition at line 489 of file README.txt.
Referenced by llvm::canConstantFoldCallTo(), canCreateUndefOrPoison(), cannotBeOrderedLessThanZeroImpl(), llvm::IRBuilderBase::CreateMaximum(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getTypeBasedIntrinsicInstrCost(), llvm::IntrinsicInst::isCommutative(), llvm::isKnownNeverInfinity(), llvm::isTriviallyVectorizable(), simplifyBinaryIntrinsic(), simplifyNvvmIntrinsic(), and llvm::InstCombinerImpl::visitCallInst().
Definition at line 237 of file README.txt.
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 |
Definition at line 489 of file README.txt.
Referenced by llvm::canConstantFoldCallTo(), canCreateUndefOrPoison(), cannotBeOrderedLessThanZeroImpl(), llvm::IRBuilderBase::CreateMinimum(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getTypeBasedIntrinsicInstrCost(), llvm::IntrinsicInst::isCommutative(), llvm::isKnownNeverInfinity(), llvm::isTriviallyVectorizable(), simplifyBinaryIntrinsic(), simplifyNvvmIntrinsic(), and llvm::InstCombinerImpl::visitCallInst().
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::MapperJITLinkMemoryManager::InFlightAlloc::abandon(), llvm::orc::EPCGenericJITLinkMemoryManager::InFlightAlloc::abandon(), 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(), llvm::MCJIT::addArchive(), llvm::AsmPrinter::addAsmPrinterHandler(), llvm::xray::Profile::addBlock(), llvm::MachineFunction::addCallArgsForwardingRegs(), 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::vfs::InMemoryFileSystem::addFile(), llvm::vfs::InMemoryFileSystem::addFileNoOwn(), llvm::gsym::GsymCreator::addFunctionInfo(), llvm::orc::JITDylib::addGenerator(), llvm::DwarfCompileUnit::addGlobalNameForTypeUnit(), llvm::DwarfCompileUnit::addGlobalTypeUnitType(), llvm::ModuleSummaryIndex::addGlobalValueSummary(), llvm::mca::Context::addHardwareUnit(), llvm::MultiHazardRecognizer::AddHazardRecognizer(), llvm::SourceMgr::AddIncludeFile(), llvm::pdb::PDBFileBuilder::addInjectedSource(), llvm::mca::IncrementalSourceMgr::addInst(), llvm::orc::LLJIT::addIRModule(), llvm::ModuleInlinerWrapperPass::addLateModulePass(), llvm::orc::LLLazyJIT::addLazyIRModule(), llvm::objcopy::NameMatcher::addMatcher(), 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::objcopy::elf::Object::addSection(), llvm::objcopy::wasm::Object::addSectionWithOwnedContents(), llvm::objcopy::macho::Object::addSegment(), 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::all_equal(), llvm::orc::MapperJITLinkMemoryManager::allocate(), llvm::orc::EPCGenericJITLinkMemoryManager::allocate(), llvm::jitlink::JITLinkMemoryManager::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::TrivialSPSSequenceDeserialization< SPSElementTagT, SmallVectorImpl< T > >::append(), 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::BinaryOperation::BinaryOperation(), llvm::remarks::BitstreamRemarkSerializer::BitstreamRemarkSerializer(), llvm::cflaa::StratifiedSetsBuilder< T >::build(), llvm::MCPseudoProbeDecoder::buildAddress2ProbeMap(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::SwitchCG::SwitchLowering::buildJumpTable(), llvm::PassBuilder::buildLTODefaultPipeline(), llvm::PassBuilder::buildModuleOptimizationPipeline(), llvm::PassBuilder::buildModuleSimplificationPipeline(), llvm::buildModuleSummaryIndex(), llvm::AMDGPULegalizerInfo::buildMultiply(), llvm::PassBuilder::buildO0DefaultPipeline(), llvm::orc::buildSimpleReexportsAliasMap(), llvm::CombinerHelper::buildUDivUsingMul(), llvm::cacheAnnotationFromMD(), 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::cantFail(), llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::CaseLower(), llvm::cast(), llvm::cast_if_present(), llvm::cast_or_null(), llvm::ConstantRange::castOp(), llvm::CFGMST< Edge, BBInfo >::CFGMST(), llvm::object::Archive::Child::Child(), llvm::pdb::ClassLayout::ClassLayout(), cleanup(), llvm::DILocalScope::cloneScopeForSubprogram(), llvm::orc::cloneToNewContext(), collectUnswitchCandidates(), 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< ContextT >::computeJoinPoints(), computeStringTable(), llvm::codeview::computeTypeName(), computeVariableSummary(), llvm::xray::LogBuilder::consume(), llvm::xray::LogBuilderConsumer::consume(), llvm::xray::PipelineConsumer::consume(), llvm::orc::ThreadSafeModule::consumingModuleDo(), llvm::APFloat::convert(), llvm::SelectionDAG::copyExtraInfo(), llvm::objcopy::wasm::Reader::create(), llvm::objcopy::xcoff::XCOFFReader::create(), llvm::object::MinidumpFile::create(), llvm::symbolize::SymbolizableObjectFile::create(), llvm::objcopy::coff::COFFReader::create(), llvm::orc::SimpleRemoteEPC::Create(), llvm::MinidumpYAML::Stream::create(), llvm::objcopy::macho::MachOReader::create(), llvm::memprof::RawMemProfReader::create(), llvm::object::Slice::create(), llvm::sampleprof::SampleProfileWriter::create(), llvm::object::IRObjectFile::create(), llvm::pdb::PDBSymbol::create(), llvm::AllocationOrder::create(), llvm::orc::ELFNixPlatform::Create(), llvm::orc::FDSimpleRemoteEPCTransport::Create(), llvm::objcopy::NameOrPattern::create(), llvm::lto::InputFile::create(), llvm::orc::BasicObjectLayerMaterializationUnit::Create(), llvm::InstrProfReader::create(), llvm::coverage::BinaryCoverageReader::create(), llvm::MinidumpYAML::Object::create(), llvm::sampleprof::SampleProfileReaderItaniumRemapper::create(), llvm::gsym::GsymReader::create(), llvm::orc::LocalIndirectStubsInfo< ORCABI >::create(), llvm::jitlink::SimpleSegmentAlloc::Create(), llvm::dwarf::UnwindTable::create(), llvm::object::ELFObjectFile< ELFT >::create(), llvm::DWARFContext::create(), llvm::orc::SelfExecutorProcessControl::Create(), llvm::sampleprof::SampleProfileReader::create(), llvm::orc::shared::WrapperFunctionCall::Create(), llvm::EngineBuilder::create(), llvm::IndexedInstrProfReader::create(), llvm::object::COFFObjectFile::create(), llvm::sys::fs::TempFile::create(), llvm::createAArch64ELFStreamer(), createAArch64ExternalSymbolizer(), llvm::createAArch64WinCOFFStreamer(), createAMDGPUAsmPrinterPass(), llvm::createAMDGPUELFStreamer(), createAMDGPUSymbolizer(), 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::createDXContainerObjectWriter(), llvm::createDXContainerStreamer(), 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::objcopy::coff::createGnuDebugLinkSectionContents(), llvm::createHexagonELFStreamer(), llvm::createIfConverter(), llvm::LTOModule::createInLocalContext(), llvm::mca::InstrBuilder::createInstruction(), llvm::createInternalizePass(), llvm::MCJIT::createJIT(), llvm::orc::LLJIT::createJITDylib(), llvm::jitlink::createLookupContinuation(), llvm::createLoongArchELFStreamer(), llvm::MachineFunction::CreateMachineInstr(), 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::createRISCVELFStreamer(), llvm::createRuntimeDyldCOFF(), llvm::createRuntimeDyldELF(), llvm::createRuntimeDyldMachO(), llvm::jitlink::LinkGraph::createSection(), createSPIRVMCStreamer(), llvm::createSPIRVObjectWriter(), llvm::createSPIRVStreamer(), llvm::pdb::SymbolCache::createSymbol(), llvm::orc::JITTargetMachineBuilder::createTargetMachine(), llvm::createTargetTransformInfoWrapperPass(), llvm::OpenMPIRBuilder::createTask(), llvm::createThumb2SizeReductionPass(), llvm::pdb::SymbolCache::createTypeEnumerator(), createTypeWithFlags(), llvm::createUnpackMachineBundles(), llvm::createWasmDwoObjectWriter(), llvm::createWasmObjectWriter(), llvm::createWasmStreamer(), createWebAssemblyDisassembler(), llvm::createWinCOFFObjectWriter(), createWinCOFFStreamer(), llvm::object::WindowsResource::createWindowsResource(), llvm::orc::MapperJITLinkMemoryManager::CreateWithMapper(), createX86Disassembler(), llvm::createX86WinCOFFStreamer(), llvm::createXCOFFObjectWriter(), llvm::createXCOFFStreamer(), llvm::remarks::createYAMLParserFromMeta(), llvm::pdb::DataMemberLayoutItem::DataMemberLayoutItem(), DbgGatherSalvagableDVI(), llvm::orc::MapperJITLinkMemoryManager::deallocate(), llvm::orc::EPCGenericJITLinkMemoryManager::deallocate(), llvm::jitlink::JITLinkMemoryManager::deallocate(), llvm::jitlink::InProcessMemoryManager::deallocate(), llvm::gsym::FunctionInfo::decode(), decode(), llvm::RuntimeDyldMachOAArch64::decodeAddend(), llvm::object::ELFFile< ELFT >::decodeBBAddrMap(), llvm::objcopy::deepWriteArchive(), llvm::TypeSwitch< T, ResultT >::Default(), llvm::StringSwitch< T, R >::Default(), llvm::WithColor::defaultWarningHandler(), DEFINE_SIMPLE_CONVERSION_FUNCTIONS(), llvm::MCContext::defineMacro(), llvm::orc::MaterializationResponsibility::defineMaterializing(), llvm::orc::SharedMemoryMapper::deinitialize(), 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::orc::shared::SPSSerializationTraits< SPSWrapperFunctionCall, WrapperFunctionCall >::deserialize(), llvm::codeview::SymbolDeserializer::deserializeAs(), llvm::codeview::TypeDeserializer::deserializeAs(), llvm::orc::SimpleRemoteEPC::disconnect(), 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::objcopy::wasm::dumpSectionToFile(), dumpSectionToFile(), llvm::orc::ObjectTransformLayer::emit(), llvm::orc::IRTransformLayer::emit(), llvm::orc::IRCompileLayer::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::emitDecls(), 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< uint64_t >::erase(), error(), llvm::InstrProfReader::error(), llvm::Error::Error(), llvm::ErrorOr< std::pair< llvm::SmallString< 128 >, const llvm::vfs::detail::InMemoryNode * > >::ErrorOr(), llvm::errorOrToExpected(), llvm::orc::JITCompileCallbackManager::executeCompileCallback(), llvm::objcopy::xcoff::executeObjcopyOnBinary(), llvm::objcopy::macho::executeObjcopyOnBinary(), llvm::objcopy::elf::executeObjcopyOnBinary(), llvm::objcopy::wasm::executeObjcopyOnBinary(), llvm::objcopy::coff::executeObjcopyOnBinary(), llvm::objcopy::macho::executeObjcopyOnMachOUniversalBinary(), llvm::ExecutionEngine::ExecutionEngine(), llvm::BitstreamWriter::ExitBlock(), llvm::xray::Profile::expandPath(), llvm::Expected< ExpressionValue >::Expected(), llvm::expectedToErrorOrAndEmitErrors(), llvm::expectedToOptional(), llvm::expectedToStdOptional(), llvm::DWARFAbbreviationDeclarationSet::extract(), llvm::DWARFDebugNames::Header::extract(), llvm::DWARFDebugNames::NameIndex::extract(), llvm::DWARFDebugNames::extract(), llvm::TGLocalVarScope::extractParent(), fatalOpenError(), llvm::DebuginfodFetcher::fetch(), llvm::orc::MapperJITLinkMemoryManager::InFlightAlloc::finalize(), llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::finalize(), llvm::orc::EPCGenericJITLinkMemoryManager::InFlightAlloc::finalize(), llvm::jitlink::JITLinkMemoryManager::InFlightAlloc::finalize(), llvm::jitlink::SimpleSegmentAlloc::finalize(), llvm::orc::DebugObject::finalizeAsync(), llvm::RuntimeDyldImpl::finalizeAsync(), llvm::orc::EPCGenericRTDyldMemoryManager::finalizeMemory(), llvm::pdb::PDBSymbol::findAllChildren(), llvm::DenseMapBase< DenseMap< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >, llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >::FindAndConstruct(), llvm::RegBankSelect::findBestMapping(), 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::DWARFUnit::findRnglistFromOffset(), findSrcDirMap(), llvm::MCJIT::findSymbol(), llvm::pdb::DIASession::findSymbolByAddress(), llvm::pdb::DIASession::findSymbolByRVA(), llvm::pdb::DIASession::findSymbolBySectOffset(), llvm::findVCToolChainViaEnvironment(), llvm::R600InstrInfo::fitsReadPortLimitations(), llvm::xray::BlockIndexer::flush(), llvm::fmt_consume(), llvm::pdb::fmtle(), 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::SignedDivisionByConstantInfo::get(), llvm::MachO::TextAPIReader::get(), llvm::UnsignedDivisionByConstantInfo::get(), llvm::InstrProfCorrelatorImpl< IntPtrT >::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::SelectionDAG::getCallSiteInfo(), llvm::orc::LazyCallThroughManager::getCallThroughTrampoline(), llvm::object::MachOObjectFile::getChainedFixupsSegments(), llvm::pdb::DIAEnumSymbols::getChildAtIndex(), llvm::orc::getCOFFObjectFileSymbolInfo(), 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(), llvm::object::MachOObjectFile::getDyldChainedFixupTargets(), 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::object::MachOObjectFile::getFunctionStarts(), llvm::GCModuleInfo::getGCStrategy(), llvm::orc::getGenericObjectFileSymbolInfo(), llvm::pdb::DIASession::getGlobalScope(), getHashForUdt(), llvm::pdb::PDBFile::getInjectedSourceStream(), llvm::coverage::CoverageMapping::getInstantiationGroups(), llvm::SyncDependenceAnalysis::getJoinBlocks(), llvm::GenericSyncDependenceAnalysis< ContextT >::getJoinBlocks(), llvm::BitcodeModule::getLTOInfo(), llvm::orc::getMachOObjectFileSymbolInfo(), llvm::PBQP::PoolCostAllocator< VectorT, MatrixT >::getMatrix(), llvm::MemoryBuffer::getMemBufferCopy(), getMemBufferCopyImpl(), getMemoryBufferForStream(), llvm::pdb::NativeSession::getModuleDebugStream(), llvm::pdb::getModuleDebugStream(), llvm::pdb::SymbolGroup::getNameFromChecksums(), 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(), llvm::object::XCOFFObjectFile::getRawData(), getReadWriteFile(), llvm::InstrProfReaderItaniumRemapper< HashTableImpl >::getRecords(), llvm::getReplayInlineAdvisor(), llvm::object::ELFObjectFile< ELFT >::getSectionContents(), llvm::object::XCOFFObjectFile::getSectionContents(), llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData(), llvm::object::ELFObjectFile< ELFT >::getSectionIndex(), llvm::codeview::getSizeInBytesForTypeRecord(), getSourceLineHash(), llvm::codeview::DebugStringTableSubsectionRef::getString(), llvm::pdb::PDBFile::getStringTable(), llvm::object::ELFFile< ELFT >::getStringTable(), llvm::BitcodeModule::getSummary(), llvm::pdb::DIASession::getSymbolById(), getSymbols(), llvm::object::ObjectFile::getSymbolValue(), llvm::IndexedInstrProfReader::getSymtab(), getTagRecordHashForUdt(), llvm::codeview::LazyRandomTypeCollection::getType(), llvm::codeview::LazyRandomTypeCollection::getTypeName(), getUdtOptions(), getUdtSize(), llvm::DWARFUnitVector::getUnitForIndexEntry(), llvm::PBQP::ValuePool< MatrixT >::getValue(), llvm::SparseSolver< LatticeKey, LatticeVal, KeyInfo >::getValueState(), llvm::PBQP::PoolCostAllocator< VectorT, MatrixT >::getVector(), llvm::object::ELFFile< ELFT >::getVersionDependencies(), llvm::pdb::DIARawSymbol::getVirtualBaseTableType(), llvm::vfs::File::getWithPath(), llvm::SmallDenseMap< const llvm::RecurrenceDescriptor *, unsigned, N >::grow(), llvm::handleAllErrors(), llvm::objcopy::wasm::handleArgs(), handleCompressedSection(), llvm::handleErrorImpl(), llvm::handleErrors(), handleMaybeNoDataFoundError(), llvm::identify_magic(), llvm::detail::IEEEFloat::IEEEFloat(), llvm::ifs::IFSStub::IFSStub(), llvm::ifs::IFSStubTriple::IFSStubTriple(), ignoreStrippedErrors(), llvm::FunctionImporter::importFunctions(), llvm::object::Archive::ChildFallibleIterator::inc(), llvm::SwitchInstProfUpdateWrapper::init(), initBranchWeights(), llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::initialize(), llvm::pdb::PDBFileBuilder::initialize(), llvm::orc::InProcessMemoryMapper::initialize(), llvm::orc::SharedMemoryMapper::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< Instruction *, DenseMap< Instruction *, detail::DenseSetEmpty, DenseMapInfo< Instruction * >, detail::DenseSetPair< Instruction * > >, DenseMapInfo< Instruction * > >::insert(), llvm::DenseMapBase< DenseMap< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >, llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >::insert(), llvm::StringMap< uint64_t >::insert(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::insert(), llvm::DiagnosticInfoOptimizationBase::insert(), llvm::SmallVectorImpl< uint64_t >::insert(), llvm::detail::DenseSetImpl< Instruction *, DenseMap< Instruction *, detail::DenseSetEmpty, DenseMapInfo< Instruction * >, detail::DenseSetPair< Instruction * > >, DenseMapInfo< Instruction * > >::insert_as(), llvm::DenseMapBase< DenseMap< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >, llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >::insert_as(), llvm::MachineModuleInfo::insertFunction(), llvm::LazyCallGraph::RefSCC::insertIncomingRefEdge(), llvm::CodeGenPassBuilder< DerivedT >::AddMachinePass::insertPass(), llvm::ExecutionEngine::InstallLazyFunctionCreator(), llvm::internalizeModule(), intersect(), llvm::PreservedAnalyses::intersect(), llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::IntervalMap(), isBlock(), llvm::codeview::isUdtForwardRef(), llvm::jitLinkForORC(), llvm::JITSymbol::JITSymbol(), llvm::joinErrors(), jumpToValueSymbolTable(), llvm::orc::lazyReexports(), llvm::libDriverMain(), llvm::remarks::RemarkLinker::link(), llvm::jitlink::JITLinker< ELFJITLinker_riscv >::link(), llvm::jitlink::link(), llvm::jitlink::link_COFF(), llvm::jitlink::link_COFF_x86_64(), llvm::jitlink::link_ELF(), llvm::jitlink::link_ELF_aarch64(), llvm::jitlink::link_ELF_i386(), llvm::jitlink::link_ELF_loongarch(), 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::jitlink::JITLinkerBase::linkPhase2(), llvm::jitlink::JITLinkerBase::linkPhase3(), llvm::jitlink::JITLinkerBase::linkPhase4(), llvm::symbolize::JSONPrinter::listEnd(), LLVMCreateDisasmCPUFeatures(), LLVMCreateMCJITCompilerForModule(), LLVMCreateObjectFile(), LLVMGetBitcodeModuleInContext(), LLVMGetBitcodeModuleInContext2(), LLVMLinkModules2(), LLVMOrcAbsoluteSymbols(), LLVMOrcCreateCustomMaterializationUnit(), LLVMOrcCreateRTDyldObjectLinkingLayerWithMCJITMemoryManagerLikeCallbacks(), LLVMOrcDumpObjects_CallOperator(), LLVMOrcExecutionSessionLookup(), 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::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::SimpleRemoteEPC::lookupSymbols(), llvm::orc::SelfExecutorProcessControl::lookupSymbols(), llvm::WebAssemblyMCInstLower::lower(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::ConstantRange::lshr(), llvm::PatternMatch::m_SpecificInt(), llvm::PatternMatch::m_SpecificIntAllowUndef(), llvm::object::MachOChainedFixupEntry::MachOChainedFixupEntry(), llvm::make_fallible_end(), llvm::make_range(), llvm::ConstantRange::makeAllowedICmpRegion(), llvm::FunctionSummary::makeDummyFunctionSummary(), llvm::orc::makeGenericNamedTask(), llvm::jitlink::makeTargetOutOfRangeError(), malformedError(), 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< DenseMap< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >, llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >::moveFromOldBuckets(), llvm::detail::UniqueFunctionBase< R, P... >::MoveImpl(), llvm::Expected< ExpressionValue >::moveInto(), llvm::GCNRPTracker::moveLiveRegs(), llvm::APInt::multiplicativeInverse(), llvm::remarks::BitstreamRemarkParser::next(), llvm::remarks::YAMLRemarkParser::next(), llvm::symbolize::MarkupParser::nextNode(), llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD::NormalizedTBD(), llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD_V4::NormalizedTBD_V4(), llvm::orc::DebugObjectManagerPlugin::notifyMaterializing(), llvm::orc::EPCGenericRTDyldMemoryManager::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::orc::rt_bootstrap::SimpleExecutorDylibManager::open(), llvm::pdb::InputFile::open(), 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::ExecutorProcessControl::IncomingWFRHandler::operator()(), llvm::orc::SequenceBBQuery::operator()(), llvm::orc::ExecutorProcessControl::RunAsTask::operator()(), llvm::orc::DumpObjects::operator()(), llvm::ExitOnError::operator()(), llvm::coverage::CoverageMappingIterator::operator*(), llvm::operator+(), llvm::VarStreamArrayIterator< ValueType, Extractor >::operator+=(), llvm::operator-(), llvm::coverage::CoverageMappingIterator::operator->(), llvm::operator<<(), llvm::MSVCPError::operator=(), llvm::BlockFrequencyInfo::operator=(), llvm::MSVCPExpected< T >::operator=(), llvm::MetadataLoader::operator=(), llvm::orc::shared::WrapperFunctionResult::operator=(), llvm::APSInt::operator=(), llvm::DDGNode::operator=(), llvm::orc::ThreadSafeModule::operator=(), llvm::PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >::operator=(), llvm::DGNode< NodeType, EdgeType >::operator=(), llvm::xray::Profile::operator=(), llvm::SmallSetIterator< T, N, C >::operator=(), llvm::Any::operator=(), llvm::BumpPtrAllocatorImpl< MallocAllocator, 65536 >::operator=(), llvm::TargetLibraryInfoImpl::operator=(), llvm::TypedTrackingMDRef< MDNode >::operator=(), llvm::SimpleDDGNode::operator=(), llvm::BranchProbabilityInfo::operator=(), llvm::ErrorOr< std::pair< llvm::SmallString< 128 >, const llvm::vfs::detail::InMemoryNode * > >::operator=(), llvm::AllocatorList< Token >::operator=(), llvm::opt::ArgList::operator=(), llvm::PiBlockDDGNode::operator=(), llvm::object::Archive::Child::operator=(), llvm::TargetTransformInfo::operator=(), llvm::DirectedGraph< NodeType, EdgeType >::operator=(), llvm::ValueLatticeElement::operator=(), llvm::object::OwningBinary< llvm::object::ObjectFile >::operator=(), llvm::iplist_impl< simple_ilist< llvm::AliasSet, Options... >, ilist_traits< llvm::AliasSet > >::operator=(), llvm::DDGEdge::operator=(), llvm::callable_detail::Callable< FuncTy >::operator=(), llvm::DominatorTreeBase< BasicBlock, false >::operator=(), llvm::JITSymbol::operator=(), llvm::detail::UniqueFunctionBase< R, P... >::operator=(), llvm::json::Value::operator=(), llvm::SpecificBumpPtrAllocator< llvm::LazyCallGraph::SCC >::operator=(), llvm::iplist< llvm::PredicateBase >::operator=(), llvm::opt::InputArgList::operator=(), llvm::SparseBitVector< ElementSize >::operator=(), llvm::PassManager< LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >::operator=(), llvm::SmallPtrSet< AssumeInst *, 4 >::operator=(), llvm::Expected< ExpressionValue >::operator=(), llvm::detail::DoubleAPFloat::operator=(), llvm::sys::fs::TempFile::operator=(), llvm::RegionInfo::operator=(), llvm::LoopInfoBase< BasicBlock, Loop >::operator=(), llvm::LazyCallGraph::operator=(), llvm::SmallVectorImpl< uint64_t >::operator=(), llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::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< DenseMap< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >, llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >::operator[](), llvm::operator^(), llvm::KnownBits::operator^=(), llvm::operator|(), llvm::LTOCodeGenerator::optimize(), llvm::vfs::OverlayFileSystem::OverlayFileSystem(), llvm::OwningArrayRef< T >::OwningArrayRef(), llvm::jitlink::COFFDirectiveParser::parse(), llvm::DWARFDebugAbbrev::parse(), llvm::DWARFDebugLine::Prologue::parse(), llvm::SpecialCaseList::parse(), llvm::object::WindowsResourceParser::parse(), llvm::objcopy::elf::IHexRecord::parse(), llvm::DWARFDebugFrame::parse(), llvm::json::parse(), llvm::vfs::RedirectingFileSystemParser::parse(), llvm::RISCVISAInfo::parseArchString(), parseBitcodeFileImpl(), llvm::TargetLowering::ParseConstraints(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseEncoding(), llvm::RISCVISAInfo::parseFeatures(), 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< uint64_t >::pop_back_val(), llvm::RISCVISAInfo::postProcessAndChecking(), predictUseListOrder(), llvm::orc::LLJITBuilderState::prepareForConstruction(), llvm::symbolize::JSONPrinter::print(), llvm::symbolize::JSONPrinter::printError(), llvm::logicalview::LVBinaryReader::processLines(), llvm::xray::FileBasedRecordProducer::produce(), llvm::xray::profileFromTrace(), promoteArguments(), 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::symbolize::CachedBinary::pushEvictor(), llvm::TGParser::PushLocalScope(), llvm::memprof::RawMemProfReader::RawMemProfReader(), llvm::SimpleBitstreamCursor::Read(), llvm::BitstreamCursor::ReadAbbrevRecord(), readBBAddrMapImpl(), llvm::xray::readBinaryFormatHeader(), llvm::irsymtab::readBitcode(), readCoverageMappingData(), llvm::codeview::readCVRecordFromStream(), llvm::GCOVFile::readGCDA(), llvm::GCOVFile::readGCNO(), readGSIHashBuckets(), readGSIHashRecords(), llvm::IndexedInstrProfReader::readHeader(), 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::Attributor::registerFunctionSignatureRewrite(), llvm::orc::ExecutionSession::registerJITDispatchHandlers(), llvm::BPFTargetMachine::registerPassBuilderCallbacks(), llvm::AMDGPUTargetMachine::registerPassBuilderCallbacks(), llvm::NVPTXTargetMachine::registerPassBuilderCallbacks(), llvm::PassInstrumentationCallbacks::registerShouldRunOptionalPassCallback(), llvm::orc::Speculator::registerSymbols(), llvm::CSKYAsmBackend::relaxInstruction(), 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(), removeRedundantDbgLocsUsingBackwardScan(), removeRedundantDbgLocsUsingForwardScan(), llvm::objcopy::elf::Object::removeSections(), llvm::objcopy::coff::Object::removeSymbols(), removeUndefDbgLocsFromEntryBlock(), llvm::orc::MaterializationResponsibility::replace(), llvm::DIBuilder::replaceTemporary(), llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::reserve(), llvm::orc::SharedMemoryMapper::reserve(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::InstrProfiling::run(), llvm::ThinLTOCodeGenerator::run(), llvm::JumpThreadingPass::run(), llvm::GenericCycleInfoCompute< ContextT >::run(), llvm::orc::CtorDtorRunner::run(), llvm::lto::LTO::run(), llvm::FunctionToLoopPassAdaptor::run(), llvm::CGSCCToFunctionPassAdaptor::run(), llvm::PassManager< LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >::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(), llvm::SaveAndRestore< T >::SaveAndRestore(), scaleShuffleElements(), llvm::SwingSchedulerDAG::schedule(), llvm::mca::Scheduler::Scheduler(), ScopedOverride< T >::ScopedOverride(), 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::symbolize::LLVMSymbolizer::setBuildIDFetcher(), 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::logicalview::LVReader::setFilename(), 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, false >::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::objcopy::coff::Section::setOwnedContents(), 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::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(), FunctionVarLocsBuilder::setWedge(), llvm::ConstantRange::shl(), llvm::orc::rt_bootstrap::ExecutorSharedMemoryMapperService::shutdown(), llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::shutdown(), llvm::SmallPtrSetImpl< const BlockT * >::SmallPtrSetImplBase(), llvm::SmallSetIterator< T, N, C >::SmallSetIterator(), llvm::SmallVector< llvm::cl::parser::OptionInfo, 8 >::SmallVector(), llvm::ConstantRange::smax(), llvm::ConstantRange::smin(), llvm::parallel::TaskGroup::spawn(), llvm::splitCodeGen(), splitCodeGen(), llvm::SplitModule(), llvm::ConstantRange::srem(), llvm::ConstantRange::sshl_sat(), llvm::ConstantRange::ssub_sat(), llvm::orc::ELFNixPlatform::standardPlatformAliases(), llvm::StringSwitch< T, R >::StartsWith(), llvm::StringSwitch< T, R >::StartsWithLower(), llvm::ConstantRange::sub(), llvm::SmallDenseMap< const llvm::RecurrenceDescriptor *, unsigned, N >::swap(), 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::SourceMgr::takeSourceBuffersFrom(), llvm::sampleprof::SampleProfileReader::takeSummary(), llvm::object::Archive::takeThinBuffers(), llvm::MapVector< AssertingVH< Instruction >, AssertingVH< Value > >::takeVector(), llvm::SetVector< llvm::MCSection *, SmallVector< llvm::MCSection *, N >, SmallDenseSet< llvm::MCSection *, N > >::takeVector(), llvm::TargetLibraryInfoImpl::TargetLibraryInfoImpl(), llvm::sys::fs::TempFile::TempFile(), llvm::lto::thinBackend(), llvm::CodeViewYAML::toCodeViewSubsectionList(), llvm::object::ELFFile< ELFT >::toMappedAddr(), llvm::orc::shared::detail::toSPSSerializable(), llvm::toString(), llvm::RegionBase< RegionTraits< Function > >::transferChildrenTo(), llvm::transformOptional(), llvm::ImmutableGraphBuilder< GraphT >::trim(), llvm::json::Object::try_emplace(), llvm::DenseMapBase< DenseMap< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >, llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > *, DenseMapInfo< llvm::VPInstruction * >, llvm::detail::DenseMapPair< llvm::VPInstruction *, llvm::InterleaveGroup< llvm::VPInstruction > * > >::try_emplace(), llvm::InlineAdvisorAnalysis::Result::tryCreate(), llvm::codeview::LazyRandomTypeCollection::tryGetType(), llvm::orc::EPCDynamicLibrarySearchGenerator::tryToGenerate(), llvm::orc::DynamicLibrarySearchGenerator::tryToGenerate(), llvm::orc::DLLImportDefinitionGenerator::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(), llvm::PBQP::Graph< RegAllocSolverImpl >::updateEdgeCosts(), llvm::AddrLabelMap::UpdateForRAUWBlock(), llvm::DwarfCompileUnit::updateSubprogramScopeDIEImpl(), 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::objcopy::elf::ELFSectionWriter< ELFT >::visit(), 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::ifs::writeELFBinaryToFile(), writeIdentificationBlock(), writeJSON(), llvm::pdb::writeSparseBitVector(), llvm::writeToOutput(), llvm::orc::EPCGenericMemoryAccess::writeUInt16sAsync(), llvm::orc::EPCGenericMemoryAccess::writeUInt32sAsync(), llvm::orc::EPCGenericMemoryAccess::writeUInt64sAsync(), llvm::orc::EPCGenericMemoryAccess::writeUInt8sAsync(), llvm::object::writeUniversalBinary(), llvm::object::writeWindowsResourceCOFF(), llvm::yaml::yaml2ObjectFile(), llvm::remarks::YAMLRemarkSerializer::YAMLRemarkSerializer(), llvm::ConstantRange::zeroExtend(), llvm::CodeGenPassBuilder< DerivedT >::AddIRPass::~AddIRPass(), llvm::orc::DebugObject::~DebugObject(), llvm::detail::ErrorAdapter::~ErrorAdapter(), llvm::orc::ObjectLinkingLayerJITLinkContext::~ObjectLinkingLayerJITLinkContext(), llvm::GCNIterativeScheduler::OverrideLegacyStrategy::~OverrideLegacyStrategy(), llvm::SaveAndRestore< T >::~SaveAndRestore(), and ScopedOverride< T >::~ScopedOverride().
Definition at line 465 of file README.txt.
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().
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.
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< const BlockT * >::insert(), llvm::xray::Graph< VertexAttribute, EdgeAttribute, VI >::insert(), llvm::IntervalMap< uint64_t, uint16_t, 8, IntervalMapHalfOpenInfo< uint64_t > >::insert(), llvm::interpretDecimal(), llvm::sys::path::is_absolute(), llvm::sys::path::is_absolute_gnu(), KnuthDiv(), llvm_regcomp(), load32(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::sys::fs::make_absolute(), llvm::make_range(), llvm::InstModificationIRStrategy::mutate(), 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(), store32(), stripsnug(), llvm::totalExponent(), llvm::trailingHexadecimalFraction(), llvm::MachineFunction::verify(), llvm::write32AArch64Addr(), llvm::writeUnsignedDecimal(), and llvm::TrailingObjects< BaseTy, TrailingTys >::FixedSizeStorageOwner::~FixedSizeStorageOwner().
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.
Definition at line 201 of file README.txt.
Referenced by llvm::powerOf5().
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.
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().
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.
Definition at line 62 of file README.txt.
Referenced by llvm::DIExpression::fragmentCmp(), and getMnemonicFromOpcode().
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.
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().
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.
Definition at line 153 of file README.txt.
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.
Definition at line 194 of file README.txt.
Referenced by call().
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.
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::addDefinedSymbol(), llvm::ConstantPool::addEntry(), llvm::mca::Pipeline::addEventListener(), llvm::sampleprof::SampleProfileWriterBinary::addNames(), AddNonNullPointersByInstruction(), llvm::MCObjectStreamer::addPendingLabel(), llvm::SIScheduleBlock::addPred(), llvm::AddrSpaceCastInst::AddrSpaceCastInst(), AddRuntimeUnrollDisableMetaData(), llvm::sampleprof::SampleRecord::addSamples(), addSection(), llvm::objcopy::coff::Object::addSections(), 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::objcopy::coff::Object::addSymbols(), llvm::CodeViewContext::addToStringTable(), llvm::GCNDownwardRPTracker::advanceBeforeNext(), llvm::AMDGPUMachineFunction::AMDGPUMachineFunction(), 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(), ARM64EmitRuntimeFunction(), ARM64EmitUnwindInfo(), ARM64ProcessEpilogs(), llvm::LiveRange::assign(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::po_iterator< Inverse< T >, std::set< typename GraphTraits< T >::NodeRef >, false >::begin(), llvm::df_iterator< Inverse< T >, df_iterator_default_set< typename GraphTraits< T >::NodeRef >, External >::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(), canFoldTermCondOfLoop(), llvm::ModuleSummaryIndex::canImportGlobalVar(), llvm::cannotBeMaxInLoop(), llvm::cannotBeMinInLoop(), llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::CaseLower(), llvm::CastInst::castIsValid(), CC_AIX(), charTailAt(), checkedGetHex(), CheckForCanReleaseCFGHazard(), CheckForUseCFGHazard(), checkMixedPrecision(), llvm::object::MachOObjectFile::checkSymbolTable(), checkVectorTypeForPromotion(), clampReturnedValueStates(), llvm::clampStateAndIndicateChange(), llvm::clampStateAndIndicateChange< DerefState >(), llvm::X86InstrInfo::classifyLEAReg(), llvm::codeview::DebugSymbolsSubsectionRef::classof(), llvm::MCSymbolGOFF::classof(), llvm::MCSymbolXCOFF::classof(), llvm::codeview::DebugFrameDataSubsectionRef::classof(), llvm::codeview::DebugSymbolRVASubsectionRef::classof(), llvm::codeview::DebugCrossModuleExportsSubsectionRef::classof(), llvm::codeview::DebugStringTableSubsectionRef::classof(), llvm::MCSymbolWasm::classof(), llvm::codeview::DebugSymbolsSubsection::classof(), llvm::remarks::YAMLRemarkSerializer::classof(), llvm::codeview::DebugSymbolRVASubsection::classof(), llvm::MCSectionGOFF::classof(), llvm::MCSymbolELF::classof(), llvm::codeview::DebugFrameDataSubsection::classof(), llvm::codeview::DebugCrossModuleExportsSubsection::classof(), llvm::codeview::DebugCrossModuleImportsSubsectionRef::classof(), llvm::codeview::DebugChecksumsSubsectionRef::classof(), llvm::codeview::DebugStringTableSubsection::classof(), llvm::MCSymbolCOFF::classof(), llvm::codeview::DebugInlineeLinesSubsectionRef::classof(), llvm::MinidumpYAML::detail::ListStream< EntryT >::classof(), llvm::SCEVConstant::classof(), llvm::codeview::DebugCrossModuleImportsSubsection::classof(), llvm::MCSectionMachO::classof(), llvm::codeview::DebugChecksumsSubsection::classof(), llvm::codeview::DebugLinesSubsectionRef::classof(), llvm::remarks::YAMLStrTabRemarkSerializer::classof(), llvm::MCSectionCOFF::classof(), llvm::MCSectionWasm::classof(), llvm::MCSectionXCOFF::classof(), llvm::MCSectionELF::classof(), llvm::codeview::DebugInlineeLinesSubsection::classof(), llvm::SCEVCastExpr::classof(), llvm::XCOFFYAML::FileAuxEnt::classof(), llvm::codeview::DebugLinesSubsection::classof(), llvm::SCEVPtrToIntExpr::classof(), llvm::MinidumpYAML::ExceptionStream::classof(), llvm::XCOFFYAML::CsectAuxEnt::classof(), llvm::SCEVIntegralCastExpr::classof(), llvm::MCSymbolMachO::classof(), llvm::XCOFFYAML::FunctionAuxEnt::classof(), llvm::MinidumpYAML::MemoryInfoListStream::classof(), llvm::SCEVTruncateExpr::classof(), llvm::XCOFFYAML::ExcpetionAuxEnt::classof(), llvm::remarks::BitstreamRemarkSerializer::classof(), llvm::MinidumpYAML::RawContentStream::classof(), llvm::SCEVZeroExtendExpr::classof(), llvm::XCOFFYAML::BlockAuxEnt::classof(), llvm::SCEVSignExtendExpr::classof(), llvm::XCOFFYAML::SectAuxEntForDWARF::classof(), llvm::MinidumpYAML::SystemInfoStream::classof(), llvm::XCOFFYAML::SectAuxEntForStat::classof(), llvm::MinidumpYAML::TextContentStream::classof(), llvm::WasmYAML::CustomSection::classof(), llvm::SCEVCouldNotCompute::classof(), llvm::WasmYAML::DylinkSection::classof(), llvm::SCEVNAryExpr::classof(), llvm::WasmYAML::NameSection::classof(), llvm::SCEVCommutativeExpr::classof(), llvm::ELFYAML::Section::classof(), llvm::WasmYAML::LinkingSection::classof(), llvm::WasmYAML::ProducersSection::classof(), llvm::SCEVAddExpr::classof(), llvm::WasmYAML::TargetFeaturesSection::classof(), llvm::SCEVMulExpr::classof(), llvm::WasmYAML::TypeSection::classof(), llvm::ELFYAML::Fill::classof(), llvm::ELFYAML::SectionHeaderTable::classof(), llvm::WasmYAML::ImportSection::classof(), llvm::WasmYAML::FunctionSection::classof(), llvm::WasmYAML::TableSection::classof(), llvm::SCEVUDivExpr::classof(), llvm::ELFYAML::BBAddrMapSection::classof(), llvm::WasmYAML::MemorySection::classof(), llvm::WasmYAML::TagSection::classof(), llvm::ELFYAML::StackSizesSection::classof(), llvm::WasmYAML::GlobalSection::classof(), llvm::WasmYAML::ExportSection::classof(), llvm::ELFYAML::DynamicSection::classof(), llvm::ELFYAML::RawContentSection::classof(), llvm::WasmYAML::StartSection::classof(), llvm::ELFYAML::NoBitsSection::classof(), llvm::WasmYAML::ElemSection::classof(), llvm::WasmYAML::CodeSection::classof(), llvm::ELFYAML::NoteSection::classof(), llvm::WasmYAML::DataSection::classof(), llvm::SCEVAddRecExpr::classof(), llvm::ELFYAML::HashSection::classof(), llvm::WasmYAML::DataCountSection::classof(), llvm::SCEVMinMaxExpr::classof(), llvm::ELFYAML::GnuHashSection::classof(), llvm::SCEVSMaxExpr::classof(), llvm::SCEVUMaxExpr::classof(), llvm::ELFYAML::VerneedSection::classof(), llvm::SCEVSMinExpr::classof(), llvm::ELFYAML::AddrsigSection::classof(), llvm::SCEVUMinExpr::classof(), llvm::ELFYAML::LinkerOptionsSection::classof(), llvm::ELFYAML::DependentLibrariesSection::classof(), llvm::SCEVSequentialMinMaxExpr::classof(), llvm::ELFYAML::CallGraphProfileSection::classof(), llvm::ELFYAML::SymverSection::classof(), llvm::SCEVSequentialUMinExpr::classof(), llvm::objcopy::elf::CompressedSection::classof(), llvm::ELFYAML::VerdefSection::classof(), llvm::ELFYAML::GroupSection::classof(), llvm::SCEVUnknown::classof(), llvm::objcopy::elf::StringTableSection::classof(), llvm::ELFYAML::RelocationSection::classof(), llvm::ELFYAML::RelrSection::classof(), llvm::ELFYAML::SymtabShndxSection::classof(), llvm::ELFYAML::ARMIndexTableSection::classof(), llvm::ELFYAML::MipsABIFlags::classof(), llvm::objcopy::elf::SymbolTableSection::classof(), llvm::objcopy::elf::RelocationSectionBase::classof(), llvm::objcopy::elf::RelocationSection::classof(), llvm::objcopy::elf::GroupSection::classof(), llvm::objcopy::elf::DynamicSymbolTableSection::classof(), llvm::objcopy::elf::DynamicSection::classof(), llvm::objcopy::elf::DynamicRelocationSection::classof(), llvm::sampleprof::SampleContext::clearState(), llvm::CloneFunctionInto(), llvm::collectParametricTerms(), CollectSubexprs(), combineShuffleOfScalars(), compareCmp(), compareWithScalarFnName(), llvm::Hexagon_MC::completeHVXFeatures(), llvm::computeAccessFunctions(), llvm::ComputeCrossModuleImport(), llvm::HexagonBlockRanges::computeDeadMap(), llvm::computeDeadSymbolsAndUpdateIndirectCalls(), llvm::rdf::Liveness::computeLiveIns(), llvm::computeLTOCacheKey(), llvm::rdf::Liveness::computePhiInfo(), llvm::MachineBasicBlock::computeRegisterLiveness(), llvm::computeSyntheticCounts(), llvm::LegacyLegalizerInfo::computeTables(), constructSection(), constructSectionCommon(), llvm::codeview::consume(), StringView::consumeFront(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::consumeIf(), llvm::StringTableBuilder::contains(), containsAddRecDependentOnLoop(), llvm::ScalarEvolution::containsAddRecurrence(), containsConstantInAddMulChain(), llvm::ScalarEvolution::containsErasedValue(), llvm::LiveRange::Segment::containsInterval(), containsParameters(), llvm::object::SectionRef::containsSymbol(), containsUndefs(), llvm::ScalarEvolution::containsUndefs(), llvm::detail::DoubleAPFloat::convertFromString(), llvm::ScalarEvolution::convertSCEVToAddRecWithPredicates(), llvm::APFixedPoint::convertToFloat(), llvm::RISCVInstrInfo::convertToThreeAddress(), llvm::StringRef::copy(), costAndCollectOperands(), llvm::GlobPattern::create(), llvm::orc::SimpleRemoteEPCServer::Create(), llvm::UnaryOperator::Create(), llvm::CSKYConstantPoolSymbol::Create(), llvm::CastInst::Create(), llvm::createAArch64AsmTargetStreamer(), llvm::createAArch64ELFStreamer(), llvm::createAArch64NullTargetStreamer(), llvm::createAArch64ObjectTargetStreamer(), llvm::createAArch64WinCOFFStreamer(), createAMDGPUAsmTargetStreamer(), createAMDGPUNullTargetStreamer(), createAMDGPUObjectTargetStreamer(), llvm::createARMELFStreamer(), llvm::createARMNullTargetStreamer(), llvm::createARMObjectTargetELFStreamer(), llvm::createARMObjectTargetStreamer(), llvm::createARMObjectTargetWinCOFFStreamer(), llvm::createARMTargetAsmStreamer(), llvm::createARMWinCOFFStreamer(), llvm::pdb::PDBSymbol::createAs(), llvm::Target::createAsmStreamer(), createAsmTargetStreamer(), llvm::Target::createAsmTargetStreamer(), createAVRObjectTargetStreamer(), llvm::CastInst::CreateBitOrPointerCast(), llvm::orc::LLJIT::createCompileFunction(), createCSKYAsmTargetStreamer(), createCSKYNullTargetStreamer(), createCSKYObjectTargetStreamer(), llvm::createDXContainerStreamer(), llvm::jitlink::createEHFrameRecorderPass(), createELFStreamer(), llvm::createELFStreamer(), createHexagonNullTargetStreamer(), createHexagonObjectTargetStreamer(), XtensaOperand::createImm(), llvm::createLoongArchELFStreamer(), createLoongArchObjectTargetStreamer(), 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(), XtensaOperand::createReg(), createResumeEntryBlock(), createRISCVAsmTargetStreamer(), llvm::createRISCVELFStreamer(), createRISCVNullTargetStreamer(), createRISCVObjectTargetStreamer(), llvm::CastInst::CreateSExtOrBitCast(), llvm::createSPIRVStreamer(), llvm::createStringError(), createTargetAsmStreamer(), XtensaOperand::createToken(), llvm::CastInst::CreateTruncOrBitCast(), llvm::createWasmStreamer(), llvm::createX86AsmTargetStreamer(), llvm::createX86NullTargetStreamer(), llvm::createX86ObjectTargetStreamer(), llvm::createX86WinCOFFStreamer(), llvm::createXCOFFStreamer(), llvm::CastInst::CreateZExtOrBitCast(), llvm::mca::ExecuteStage::cycleStart(), DbgGatherSalvagableDVI(), 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(), DecodeGPRnospRegisterClass(), 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(), decodeSImmOperand(), 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(), decodeUImmOperand(), 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(), DEFINE_SIMPLE_CONVERSION_FUNCTIONS(), llvm::delinearize(), Status::delta(), llvm::demangle(), 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::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(), dumpFunctionProfileJson(), llvm::InstrProfSymtab::dumpNames(), llvm::dumpSectionMemory(), dumpStringOffsetsSection(), llvm::BitTracker::MachineEvaluator::eADD(), eliminateConstraints(), llvm::MCPseudoProbeSections::emit(), llvm::AArch64TargetWinCOFFStreamer::emitARM64WinCFIEpilogEnd(), llvm::AArch64TargetWinCOFFStreamer::emitARM64WinCFIEpilogStart(), llvm::AArch64TargetWinCOFFStreamer::emitARM64WinCFIPrologEnd(), llvm::MipsTargetELFStreamer::emitAssignment(), llvm::MCWinCOFFStreamer::emitCommonSymbol(), llvm::MCELFStreamer::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::MCWasmStreamer::emitLabel(), llvm::MCELFStreamer::emitLabel(), llvm::MipsTargetELFStreamer::emitLabel(), llvm::MCWasmStreamer::emitLabelAtPos(), llvm::MCELFStreamer::emitLabelAtPos(), llvm::mcdwarf::emitListsTableHeaderStart(), llvm::MCWinCOFFStreamer::emitLocalCommonSymbol(), llvm::MCELFStreamer::emitLocalCommonSymbol(), llvm::TargetLoweringObjectFileELF::emitModuleMetadata(), llvm::TargetLoweringObjectFileMachO::emitModuleMetadata(), llvm::TargetLoweringObjectFileCOFF::emitModuleMetadata(), emitNullTerminatedSymbolName(), llvm::AsmPrinter::emitPCSections(), llvm::AsmPrinter::emitPCSectionsLabel(), llvm::WebAssemblyAsmPrinter::EmitProducerInfo(), llvm::X86AsmPrinter::emitStartOfAsmFile(), llvm::MCWinCOFFStreamer::emitSymbolAttribute(), llvm::MCWasmStreamer::emitSymbolAttribute(), llvm::MCELFStreamer::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< Inverse< T >, df_iterator_default_set< typename GraphTraits< T >::NodeRef >, External >::end(), llvm::WinCFGuard::endModule(), llvm::WinException::endModule(), llvm::StringSwitch< T, R >::EndsWith(), llvm::StringSwitch< T, R >::EndsWithLower(), llvm::APFloatBase::EnumToSemantics(), llvm::CSKYConstantPoolSymbol::equals(), llvm::ARMConstantPoolSymbol::equals(), llvm::GVNExpression::StoreExpression::equals(), llvm::TinyPtrVector< llvm::VPValue * >::erase(), llvm::SmallVectorImpl< uint64_t >::erase(), 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(), Find(), llvm::msgpack::MapDocNode::find(), llvm::StringRef::find_if(), findAddRecForLoop(), llvm::MachObjectWriter::findAliasedSymbol(), llvm::findArrayDimensions(), llvm::opt::OptTable::findByPrefix(), findForkedSCEVs(), 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(), fixupIndex(), llvm::json::fixUTF8(), foo(), forceAttributes(), foreachUnit(), llvm::ScalarEvolution::forgetBlockAndLoopDispositions(), 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::pdb::LinePrinter::formatMsfStreamData(), 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::sys::unicode::Node::fullName(), llvm::DotCfgChangeReporter::genHTML(), llvm::get_threadpool_strategy(), llvm::ScalarEvolution::getAddExpr(), llvm::ExecutionEngine::getAddressToGlobalIfAvailable(), llvm::omp::getAllAssumeClauseOptions(), llvm::rdf::Liveness::getAllReachingDefs(), llvm::dwarf::getArrayIndexTypeEncoding(), getAsConstantStr(), llvm::Attributor::getAssumedSimplified(), llvm::Attributor::getAssumedSimplifiedValues(), llvm::MCAssembler::getAtom(), llvm::object::COFFObjectFile::getAuxSymbol(), getBBFallenThrough(), llvm::ScalarEvolution::getBlockDisposition(), llvm::DWARFAbbreviationDeclaration::AttributeSpec::getByteSize(), getCalleeAttrsFromExternalFunction(), llvm::DINode::getCanonicalMDString(), llvm::DIMacroNode::getCanonicalMDString(), llvm::objcopy::elf::IHexRecord::getChecksum(), llvm::ScalarEvolution::getComparePredicate(), 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::json::Path::Root::getError(), getExactSDiv(), llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), getExprBase(), llvm::Type::getFloatingPointTy(), llvm::DWARFUnitIndex::getFromHash(), llvm::GCModuleInfo::getFunctionInfo(), llvm::SampleProfileLoaderBaseImpl< MachineBasicBlock >::getFunctionLoc(), getGCResultLocality(), llvm::getGCStrategy(), llvm::GCModuleInfo::getGCStrategy(), llvm::DenseMapInfo< CachedHashStringRef >::getHashValue(), llvm::DenseMapInfo< CachedHashString >::getHashValue(), llvm::DenseMapInfo< SpecSig >::getHashValue(), llvm::DenseMapInfo< AA::ValueScope >::getHashValue(), getHexUint(), llvm::codeview::DebugStringTableSubsection::getIdForString(), getLabelOffset(), llvm::objcopy::elf::IHexRecord::getLine(), llvm::getLiveLaneMask(), llvm::getLiveRegMap(), llvm::RegPressureTracker::getLiveThroughAt(), llvm::ScalarEvolution::getLoopDisposition(), llvm::ScalarEvolution::getLosslessPtrToIntExpr(), llvm::getMachineType(), llvm::HexagonMCInstrInfo::getMemAccessSize(), llvm::HexagonInstrInfo::getMemAccessSize(), llvm::HexagonII::getMemAccessSizeInBytes(), llvm::AAMemoryLocation::getMemoryLocationsAsStr(), llvm::DILocation::getMergedLocation(), llvm::ScalarEvolution::getMinMaxExpr(), llvm::ScalarEvolution::GetMinTrailingZeros(), llvm::AAResults::getModRefInfo(), llvm::objcarc::ObjCARCAAResult::getModRefInfoMask(), 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(), llvm::ScalarEvolution::getSequentialMinMaxExpr(), getSetupCost(), llvm::slpvectorizer::BoUpSLP::LookAheadHeuristics::getShallowScore(), llvm::ScalarEvolution::getSignedRange(), llvm::ScalarEvolution::getSignedRangeMax(), llvm::ScalarEvolution::getSignedRangeMin(), llvm::ScalarEvolution::getSignExtendExpr(), llvm::ScalarEvolution::getSignExtendExprImpl(), 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(), getSubRangeForMask(), getSubrangeImpl(), llvm::DCData::getSuccessorLabel(), llvm::CSKYConstantPoolSymbol::getSymbol(), llvm::ARMConstantPoolSymbol::getSymbol(), llvm::MachObjectWriter::getSymbolAddress(), llvm::ModuleSymbolTable::getSymbolFlags(), llvm::jitlink::ELFLinkGraphBuilder< object::ELF64LE >::getSymbolLinkageAndScope(), llvm::MCAsmLayout::getSymbolOffset(), getSymbolOffsetImpl(), getSymbols(), llvm::getTensorSpecFromJSON(), 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::ScalarEvolution::getZeroExtendExprImpl(), llvm::CodeViewYAML::GlobalHash::GlobalHash(), GroupByComplexity(), llvm::DWARFVerifier::handleDebugInfo(), llvm::handleExecNameEncodedBEOpts(), llvm::handleExecNameEncodedOptimizerOpts(), llvm::IRChangedTester::handleInitialIR(), llvm::IRChangedTester::handleIR(), llvm::objcarc::BottomUpPtrState::HandlePotentialAlterRefCount(), llvm::hardware_concurrency(), hasAnyUnrollPragma(), llvm::ScalarEvolution::hasComputableLoopEvolution(), hasConstantFlag(), llvm::VLIWResourceModel::hasDependence(), llvm::hash_value(), llvm::pdb::NamedStreamMapTraits::hashLookupKey(), llvm::pdb::StringTableHashTraits::hashLookupKey(), llvm::codeview::GloballyHashedType::hashType(), hasHugeExpression(), llvm::ScalarEvolution::hasOperand(), hasReadOnlyFlag(), 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(), impliesPoison(), INITIALIZE_PASS(), initializeCounts(), initializeOptionalHeader(), 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::codeview::DebugStringTableSubsection::insert(), OutputBuffer::insert(), llvm::NodeSet::insert(), llvm::DiagnosticInfoOptimizationBase::insert(), llvm::MachineBasicBlock::insert(), insertFoldCacheEntry(), 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< llvm::vfs::FileSystem >::IntrusiveRefCntPtr(), llvm::IntToPtrInst::IntToPtrInst(), llvm::inverse_depth_first_ext(), llvm::inverse_post_order_ext(), llvm::ipo_ext_begin(), llvm::ipo_ext_end(), llvm::sys::path::is_style_posix(), llvm::sys::path::is_style_windows(), isAlwaysFoldable(), isArchiveSymbol(), isArrayType(), isAsciiString(), llvm::mca::ExecuteStage::isAvailable(), llvm::ScalarEvolution::isAvailableAtLoopEntry(), IsAvailableOnEntry(), llvm::dwarf::isC(), isCanonical(), Status::isCombinable(), Status::isCompatible(), llvm::dwarf::isCPlusPlus(), isCustomType(), llvm::dwarf::isFortran(), isFunctionType(), llvm::isHeader(), isHighCostExpansion(), isIntegerWideningViable(), isIntegerWideningViableForSlice(), isInteresting(), isItaniumEncoding(), 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::ResourcePriorityQueue::isResourceAvailable(), isRustEncoding(), llvm::SCEVExpander::isSafeToExpand(), llvm::SCEVExpander::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(), isValidDLLStorageClassForLinkage(), isVectorPromotionViable(), isVectorPromotionViableForSlice(), llvm::LiveRange::isZeroLength(), 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::LoongArchTargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::AsmPrinter::lowerConstant(), llvm::LanaiTargetLowering::LowerMUL(), LowerShift(), llvm::LegalizerHelper::lowerSITOFP(), llvm::HexagonTargetLowering::LowerVECTOR_SHIFT(), llvm::HexagonTargetLowering::LowerVECTOR_SHUFFLE(), llvm::PatternMatch::m_UAddWithOverflow(), llvm::jitlink::LinkGraph::makeDefined(), llvm::makeGCNILPScheduler(), llvm::makeMinRegSchedule(), llvm::makePostTransformationMetadata(), mangleCoveragePath(), llvm::yaml::MappingTraits< Argument >::mapping(), llvm::yaml::MappingTraits< COFFYAML::Symbol >::mapping(), llvm::yaml::MappingTraits< XCOFFYAML::Symbol >::mapping(), llvm::yaml::MappingTraits< std::unique_ptr< ELFYAML::Chunk > >::mapping(), llvm::codeview::CodeViewRecordIO::mapStringZ(), llvm::codeview::CodeViewRecordIO::mapStringZVectorZ(), shuffles::mask(), llvm::GlobPattern::match(), matchAsm(), llvm::objcopy::NameMatcher::matches(), mayUsePostIncMode(), llvm::MCTargetStreamer::MCTargetStreamer(), Status::merge(), mergeConditionalStores(), mergeConditionalStoreToAddress(), llvm::LiveRange::MergeSegmentsInAsValue(), llvm::LiveRange::MergeValueInAsValue(), llvm::LiveRange::MergeValueNumberInto(), 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(), node_class(), NoopOrExtend(), llvm::normalizeForPostIncUse(), llvm::normalizeForPostIncUseIf(), llvm::nulls(), numberOfTerms(), llvm::json::ObjectKey::ObjectKey(), llvm::vfs::RedirectingFileSystem::openFileForRead(), llvm::orc::SymbolStringPtr::operator bool(), llvm::GlobalIFunc::operator new(), llvm::CastConstantExpr::operator new(), llvm::ConstantData::operator new(), llvm::GlobalAlias::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::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::objcopy::NameOrPattern::operator!=(), llvm::MVT::operator!=(), llvm::jitlink::SEHFrameKeepAlivePass::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< llvm::vfs::FileSystem >::operator=(), Status::operator==(), llvm::objcopy::NameOrPattern::operator==(), llvm::MVT::operator==(), llvm::MVT::operator>(), llvm::MVT::operator>=(), llvm::msgpack::MapDocNode::operator[](), llvm::optimal_concurrency(), llvm::SMSchedule::orderDependence(), OtherSucc(), 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 >::parseNestedName(), llvm::dxbc::parsePartType(), parseSegmentLoadCommand(), parseSymbolString(), AbstractManglingParser< ManglingParser< Alloc >, Alloc >::parseUnscopedName(), PerformADDVecReduce(), llvm::HexagonTargetLowering::PerformDAGCombine(), llvm::rdf::PhysicalRegisterInfo::PhysicalRegisterInfo(), llvm::R600SchedStrategy::pickNode(), llvm::po_ext_begin(), llvm::po_ext_end(), popFront(), llvm::MachObjectWriter::populateAddrSigSection(), llvm::post_order_ext(), pred_L(), llvm::AsmPrinter::preprocessXXStructorList(), llvm::SMDiagnostic::print(), llvm::LiveRange::print(), llvm::LiveRangeUpdater::print(), llvm::APInt::print(), llvm::printCompactDWARFExpr(), llvm::SIScheduleBlock::printDebug(), llvm::json::Path::Root::printErrorContext(), printModuleDebugInfo(), printSourceLine(), llvm::Recycler< FinalizedAllocInfo, sizeof(FinalizedAllocInfo), alignof(FinalizedAllocInfo) >::PrintStats(), llvm::object::printStringOrID(), llvm::ModuleSymbolTable::printSymbolName(), 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(), llvm::json::quote(), llvm::BinaryStreamReader::readArray(), llvm::BinaryStreamReader::readCString(), readsLaneSubset(), llvm::AArch64TargetLowering::ReconstructShuffle(), recordSourceLine(), llvm::RecursivelyDeleteTriviallyDeadInstructionsPermissive(), llvm::orc::OrcV2CAPIHelper::releasePoolEntry(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::sampleprof::SampleRecord::removeSamples(), llvm::jitlink::LinkGraph::removeSection(), llvm::LiveRange::removeSegment(), llvm::LiveRange::removeValNo(), llvm::LiveRange::removeValNoIfDead(), llvm::LiveIntervals::removeVRegDefAt(), llvm::LiveRange::RenumberValues(), llvm::object::replace(), llvm::opt::InputArgList::replaceArgString(), replaceDebugSections(), llvm::RISCVTargetLowering::ReplaceNodeResults(), llvm::OrderedChangedData< FuncDataT< T > >::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::resolveCSKY(), llvm::object::resolveHexagon(), llvm::object::resolveLanai(), llvm::object::resolveLoongArch(), llvm::object::resolveMachOX86_64(), llvm::object::resolveMips32(), llvm::object::resolveMips64(), llvm::object::resolveMSP430(), llvm::object::resolvePPC32(), llvm::object::resolvePPC64(), llvm::object::resolveRelocation(), llvm::RuntimeDyldImpl::resolveRelocations(), 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::FunctionSpecializer::run(), llvm::StringSaver::save(), llvm::UniqueStringSaver::save(), scan(), llvm::SCEVExprContains(), SCEVMinMaxExprContains(), llvm::object::ELFObjectFile< ELFT >::section_rel_end(), llvm::LiveRange::Segment::Segment(), llvm::HexagonDAGToDAGISel::SelectIndexedStore(), llvm::HvxSelector::selectRor(), llvm::HexagonDAGToDAGISel::SelectVAlign(), llvm::orc::shared::SPSSerializationTraits< SPSSequence< SPSElementTagT >, SequenceT, std::enable_if_t< TrivialSPSSequenceSerialization< SPSElementTagT, SequenceT >::available > >::serialize(), llvm::orc::shared::SPSSerializationTraits< SPSString, StringRef >::serialize(), llvm::orc::SimpleRemoteEPCServer::Setup::server(), llvm::SetVector< llvm::MCSection *, SmallVector< llvm::MCSection *, N >, SmallDenseSet< llvm::MCSection *, N > >::set_subtract(), llvm::SetVector< llvm::MCSection *, SmallVector< llvm::MCSection *, N >, SmallDenseSet< llvm::MCSection *, 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::OpenMPIRBuilderConfig::setSeparator(), llvm::pdb::InfoStreamBuilder::setSignature(), llvm::DIE::setSize(), llvm::PBQP::Graph< RegAllocSolverImpl >::setSolver(), llvm::AArch64FunctionInfo::setStackSizeSVE(), llvm::sampleprof::SampleContext::setState(), llvm::SwitchInst::CaseHandle::setSuccessor(), llvm::objcopy::elf::GroupSection::setSymbol(), 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(), llvm::ScalarEvolution::SplitIntoInitAndPostInc(), 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::pdb::SymbolGroup::SymbolGroup(), llvm::orc::SymbolStringPtr::SymbolStringPtr(), thinLTOInternalizeAndPromoteGUID(), llvm::thinLTOPropagateFunctionAttrs(), thinLTOResolvePrevailingGUID(), llvm::thinLTOResolvePrevailingInIndex(), llvm::opt::ArgList::toOptSpecifier(), llvm::msgpack::DocNode::toString(), llvm::APFixedPoint::toString(), llvm::objcopy::macho::MachOWriter::totalSize(), 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::uniqueKey(), llvm::LiveIntervals::HMEditor::updateAllRanges(), llvm::updateIndexWPDForExports(), updateLiveIn(), updateLoadCommandPayloadString(), UpdatePredRedefs(), llvm::CallInst::updateProfWeight(), llvm::updateVCallVisibilityInIndex(), llvm::UpgradeModuleFlags(), llvm::InstrProfWriter::validateRecord(), llvm::ScalarEvolution::verify(), llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::verifySiblingProperty(), llvm::objcopy::elf::ELFSectionWriter< ELFT >::visit(), llvm::SCEVVisitor< SCEVLoopAddRecRewriter, const SCEV * >::visit(), llvm::SCEVRewriteVisitor< SCEVLoopGuardRewriter >::visit(), llvm::SCEVTraversal< SV >::visitAll(), llvm::InstCombinerImpl::visitFNeg(), llvm::objcopy::wasm::Writer::write(), 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().
int s1 |
Definition at line 182 of file README.txt.
Referenced by llvm::ARMLegalizerInfo::ARMLegalizerInfo(), llvm::MipsLegalizerInfo::MipsLegalizerInfo(), and llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo().
Definition at line 159 of file README.txt.
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.
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.
Definition at line 151 of file README.txt.
Referenced by enlarge(), getSystemRegistryString(), p_b_cclass(), and p_b_coll_elem().
Definition at line 189 of file README.txt.
Referenced by llvm::ImutAVLTreeGenericIterator< ImutInfo >::atBeginning(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::atEnd(), llvm::GCOVBlock::augmentOneCycle(), llvm::PBQP::backpropagate(), llvm::GCOVBlock::getCyclesCount(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::getVisitState(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::ImutAVLTreeGenericIterator(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator*(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator++(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator--(), llvm::ImutAVLTreeGenericIterator< ImutInfo >::operator==(), and llvm::ImutAVLTreeGenericIterator< ImutInfo >::skipToParent().
Definition at line 204 of file README.txt.
_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.
should just be implemented with a CLZ instruction Since there are other targets |
Definition at line 709 of file README.txt.
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.
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 |
Definition at line 418 of file README.txt.
Referenced by llvm::RuntimeDyldImpl::finalizeAsync(), llvm::StringRef::find_insensitive(), and llvm::SmallVectorTemplateCommon< T >::reserveForParamAndGetAddressImpl().
Definition at line 449 of file README.txt.
Referenced by llvm::bit_cast(), and repeat().
<%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 |
Definition at line 239 of file README.txt.
Referenced by llvm::object::ELFFile< ELFT >::decode_relrs(), and llvm::orc::ELFDebugObjectSection< ELFT >::setTargetMemoryRange().
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.
Definition at line 7 of file README.txt.
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.
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.