Summary: 13489 instances, 11743 unique Text Count // FIXME: this checks both static and dynamic properties of the call, which 1 /// TODO: Handle ExitSU "uses" properly. 1 // (FIXME: or if the __try has a __finally, to the __finally.) 1 // FIXME: We should be more aggressive here. 2 // FIXME: LiveIntervals will be updated to remove its dependence on 1 // TODO: more accurate analysis 1 {"SECTDIFF", /* FIXME populate this */ B(_0)}, 1 // FIXME: Handle RecoveryExpr to try to hint some invalid calls. 1 // FIXME: Change hasAndNot function to have two operands to make it work 1 // TODO: Remove this when foldLogOpOfMaskedICmps can handle undefs. 2 // TODO: Allow non integers as well. 3 // FIXME: better to pass in a list (or tree!) of Tokens. 4 // FIXME: If we have a scope specifier, suggest its last component? 1 // inliner. FIXME: use BasicAA if possible. 1 // FIXME: This is a horrible hack. We should always respect noinline, 1 // TODO: Sort on Metadata ID to avoid non-deterministic error messages. 1 # FIXME: I find these names very confusing, although I like the 1 // TODO: address space decisions to connect with the actual alloc. 1 // TODO: Instead of checking here for invalid die we might reject 2 // FIXME: add test cases for inserting and sorting multiple headers when 1 // TODO: Rework error reporting once diagnostic engine is exposed 2 // TODO: Use information from notconstant better. 1 // TODO: we could skip TU-scoped symbols here (e.g. static functions) if 1 // TODO: We'd like to remove this restriction. 1 // TODO: Take access ranges into account when matching access tags and 1 // TODO: Change UintType name to BitsType for consistency. 1 return; // FIXME: Emit a warning? 1 // FIXME: Cleanup temporaries here, anyway? 1 # FIXME: Refactor into generic test for running some command on a directory 1 // FIXME: This is hack to resolve copies between 16 bit and 32 bit 1 // FIXME: Because we don't correctly model (yet) sign-extension 1 // FIXME: all pre/post visits should eventually be handled by ::Visit(). 1 /*FIXME: ColonLoc */ 1 OmnipotentCharCXX, // FIXME: Info about array field is lost. 1 // FIXME: This shouldn't happen, but may not have all features in the table 1 /* TODO: shouldn't this use release semantics to ensure that 2 // FIXME: Update this if we ever have attributes that affect the 1 // FIXME: do some kind of PRE_READ for all syscall arguments (int(s) and such). 2 // FIXME: Here, the offset of the start of the line is supposed to be 1 // TODO: Does there need to be an option to deduce tail or sibling calls? 1 if (Opts.CompileCommandsDir) // FIXME: unify this case with config. 1 // TODO: explicit barrier_wait_id: 1 // TODO: On Windows, use WSAEventSelect 1 // FIXME: we should be able to give a fix-it hint for the correct spelling. 1 // FIXME: We can have multiple redundant extend/trunc instructions 1 // TODO: Actually report errors helpfully. 1 // TODO: We can create an inner loop which runs a finite number of 1 // TODO: PointerSetCoBounds 1 // FIXME: Invalidate the location if the offset couldn't be calculated. 1 /// references for now. FIXME: This can go wrong when references are 2 // FIXME: Making this work correctly is nasty because it requires either 2 /// TODO: Support more uniform cases. 1 // TODO: check that outBoxTy is a parent type of inputBoxTy for derived 1 // FIXME: add support for vector types 1 // TODO: Update StructType to have member name as attribute as 1 // TODO: We could infer when VPTs are implicitly predicated on the 1 // FIXME (Alex L): Get a more user-friendly type if needed. 1 // FIXME: attrs should be passed as a const reference. 1 return UNKNOWN; // FIXME: Implement. 1 // TODO: Revisit this case with a specific example. 1 // FIXME: for now only check GEPs with a single index. 1 unsigned OpNo;//TODO: find the OpNo for this operand; 1 // TODO: Find a way to propagate errors in this CommandReturnObject up the 1 // TODO: Can handle more cases here: 1 // FIXME: what if not all threads (warps) participate to the barrier? 1 // FIXME: inefficient implementation for now. Without ComputeValueVTs we're 1 // FIXME: Intersecting lifetimes might still be possible for the roots 1 os << " "; // FIXME : Handle "f" and "i" flags sometimes generated 1 // TODO: Tighten bound via rigorous analysis of the unbalanced case. 1 // TODO: Relax for multiple exits. 1 // FIXME: properly support starred precision for strings. 1 // TODO: Is ValueType the right thing to use here? 1 // FIXME: If we change the order of LoopInfo we will want to add a reverse 1 // TODO: absent optional in outlining is an issue: we cannot just ignore 1 // TODO: defer actual comparison to LiteralT 1 // FIXME: Why are we reporting vectors of FP immediates as legal? 1 // FIXME: we should create the init capture variable and mark it invalid 1 // TODO: Split 96-bit into 64-bit and 32-bit, not 3x 32-bit. 1 // FIXME: This could use constexpr + static_assert. This way we 1 /// TODO: This data structure should be shared by the IR optimizer and the 1 // FIXME: Only f32 to i64 conversions are supported. 2 // FIXME: Can generic operations have physical registers operands? If 1 // TODO: If we had the source node we could see if the source was fma/mad 1 // FIXME: This might be Itanium ABI specific; we don't yet know what the MS 1 # FIXME: Add name_static to anywhere in TARGET ${name}'s PROPERTY. 1 // TODO: Support serializing Dex posting lists. 1 // FIXME: Add the extended attributes. 1 // TODO: implement constructor to enable Graph Initialisation.\ 1 // TODO: This might not be appropriate for big-endian MSA since BITCAST is 4 /* TODO: make buffer size controllable by an internal option, and compiler can pass the size 1 // FIXME: This isn't quite right for vectors, but using the scalar type is a 1 // FIXME: should we handle the case of bounding to id differently? 1 // FIXME: We should be able to just return false here, as we only need a 1 // FIXME for now we return the full thread list in the initial packet and 1 // FIXME: suppress completion of unsupported attributes? 1 PRE_SYSCALL(compat_43_ogetpagesize)(void) { /* TODO */ } 1 // FIXME: Using the pointer type doesn't seem ideal. 1 // FIXME: That doesn't match gcc. 1 // TODO: Only do this on targets with legal s16 shifts 1 // FIXME: support control flow guard targets. 2 // TODO: Support TBAA for member arrays. 1 // FIXME: Does not handle truncating floating point stores! 1 // FIXME: These two are unrelated and mutually exclusive. So perhaps 1 // FIXME: Disabled on C++ for now. 1 // FIXME: Make a better guess as to where to put the module declaration. 1 // FIXME: Don't emit diagnostic at all if fixits are non-commitable. 1 // FIXME: Propose a non-vendor mangling. 3 // FIXME: Handle CXXThisRegion as well. (This is not a priority because 1 # FIXME: use these as a fallback rather than ignoring entirely. 1 // FIXME: Even a const_iterator returns a non-const BasicBlock pointer. 1 // FIXME: We were doing a mangleUnqualifiedName() before, but that's 1 // TODO: We should not add the attributes if the known compile time workgroup 1 // FIXME: Once/if Clang starts disallowing __has_include in macro expansions, 1 // FIXME: find a home for this (that can depend on both markup and Protocol). 1 // TODO: This will be unnecessary if we canonicalize to min/max intrinsics. 1 // TODO: This is probably something which should be expanded to all 1 // TODO: GEH - combine r_active with r_in_parallel then r_active == 1 /* TODO: tune for KMP_OS_HURD */ 1 // FIXME: Note that the substitutions for `X` and `Y` are marked modifiable. 1 # FIXME: These are in clang_rt.asan_static in the CMake build. 1 // TODO copyin readonly currenlty handled as copyin. Update when extension 1 // TODO: we might need to add a parameter to this function in case the byte 2 // the ExitValue already. TODO: This should be merged into SCEV 1 // FIXME: Add a test for `realFloatingPointType()` that does not depend on 1 // FIXME: Rename and handle conversion of other evaluatable things 1 // TODO: also ensure that the procedure is, in fact, an intrinsic 1 // FIXME: It is pretty awkward to just drop the result here and assert that 1 // FIXME: This invokes hostcall once for each argument. We can pack up to 1 //TODO: Consider adding a requirement for user functors to be constant. 1 // TODO: Add support for Access qualifier 1 // FIXME: Use a better -version message? 2 // FIXME: Ocaml binding generates a scope with no content, we treat it 1 // TODO: Process permissions other than executable 1 /// TODO: figure out other options. 1 // TODO: Suppport multiple producer stores in profitability 1 // floats. FIXME: <2 x float> generates same code as <4 x float>. 1 incrStreamedLen(6); // FIXME: Why not 10 (8 + 2)? 1 // for CFI. FIXME: Remove this once we support vptr on Windows. 1 // FIXME: Support vectors. 1 // TODO: Support placement arguments once we start 1 // TODO: We only handle actual comparison conditions below, not 1 // FIXME: This is wrong since G_BITCAST is not allowed to change the 1 os: "macos10.15" # TODO: For now, we're running the back-deployment tests for 10.9 on 10.15, because we don't have proper 10.9 machines 1 // TODO: Use 16-bit shifts if legal for 8-bit values? 1 // FIXME: Cursor is redundant and should be removed 1 // FIXME: if we are doing non-stop mode for real, we would have to 1 # FIXME: need libclang_rt.tsan*.a.syms? 1 // FIXME - on Windows* OS, if __kmp_monitor_stksize = 0, figure out how 1 // TODO: fill in the dumping code here! 1 // FIXME: could the overridden cases be handled in analyzeBranch? 1 // CSSPGO-TODO: Remapper is not yet supported. 1 // TODO: currently AfterPassInvalidated does not accept IRUnit, since passing 1 // FIXME: Should we have a second loadModule() overload to avoid this 1 # FIXME: We should move all this logic into the clang driver. 1 // FIXME: Init should never be null. 2 // FIXME: This is getting out of hand, write a decent parser. 1 // FIXME: If the pointee isn't an integer type, should we flag a warning? 1 // FIXME: There's no point doing this if we're handling a #__include_macros 1 // FIXME: Indirectly, this information is contained in the itinerary, and 1 # FIXME: We should be able to reuse CLANG_VERSION variable calculated 1 // @import Foo_Private instead. FIXME: remove this when existing clients 1 // FIXME: It should be possible to do image lowering when some metadata 1 // TODO: Implement diagnostic bucketing to reduce the impact of strict 1 // FIXME: We could theoretically map the same equivalence class to 1 // TODO: Turn into a class. 1 // TODO: Add more general funnel-shift compatible patterns. 1 // TODO: Can we reduce the code duplication between this and the related 1 // FIXME: Can we handle this in AddedVisibleDecl instead? 1 // FIXME: We probably also have to do something special if the PC is at 1 // FIXME: improve error handling for llvm::to_integer() 2 // FIXME: Handle multi-dimensional arrays. 1 // TODO: Find common/largest indvar type. 1 // FIXME: Thumb2 support. 1 // FIXME: Check this in verifier. 1 // FIXME: Create error types that encapsulate a bit more information than what 1 // FIXME: This is wrong in standard C++. 1 // TODO: We drop "nsw" if shift is converted into multiply because it may 1 // FIXME: Obtain the filename from DILocationInfo. 1 // FIXME: Maybe it would be better to create a InlineStep stop reason, but 1 // TODO: in case isUInt<32>(Val), X86::MOV32ri can be used 1 // TODO: Whenever there are local identifiers in the dependence 1 /// FIXME: extend to report location information about declaration names too. 1 # TODO: Should probably check that this is either a reference or 1 // FIXME: The last token is currently not always an eof token; in those 1 // FIXME: This flag is a workaround for legacy instructions that didn't 1 // FIXME: Recover nicely in the hidden case. 1 // TODO: set the other resolution configs properly 1 // FIXME: This routine (and other evaluation parts) are *incredibly* sloppy 1 // !!! TODO: Why comment does not match the code??? 1 // FIXME: Consider checking for function attributes as well. 1 // FIXME: Only the logic of merging MSInheritableAttr is present, it should 1 // FIXME: Target the constructor as well. 3 /// FIXME: Remove the (equivalent?) implementation in SelectionDAG. 1 // TODO: This is a placeholder cost model. 1 // TODO use flags for these 1 // FIXME: Loc is too inprecise here, should use proper locations for args. 1 // FIXME: 'single' is only supported on ARM and WebAssembly so far. 1 // FIXME: Require it. 1 #else // TODO: _WIN32 1 // FIXME can it be just 2^1? 1 // TODO: if the kernel function has been converted to 1 // FIXME: if the index is captured, it will count as an usage and the 1 // FIXME: Should really try to split the vector in case it's legal on a 2 if (Preds.size() >= PredCountLimit) // FIXME: only count duplicates once? 1 // FIXME: Should we really be parsing this for an Language::Asm input? 1 // FIXME: make code complete and signature help consistent, figure out which 1 // TODO: This really should be implemented using a branch rather than a 1 // TODO: Extend this to handle switches 1 if (args.size() > 8) // TODO handle more than 8 arguments 4 PRE_SYSCALL(compat_43_stat43)(void *path_, void *ub_) { /* TODO */ } 1 // TODO: change 0xf950000000000000 to 0xf940000000000000, when 2 // FIXME: We should be able to see-through aliases. 2 // TODO: currently, We ignore cases where it is a const. In the future, we 1 bool m_step_past_prologue; // FIXME: For now hard-coded to true, we could put 1 // FIXME: this temp is useless... either fir.coordinate_of needs to 1 # TODO: Configure target architecture without a variable (component NVPTX_SM_70) 1 // FIXME: This assumes that the new instruction's operands are in the 1 // TODO: Add vector::CombiningKind attribute instead of string to 1 /// FIXME: Maybe GenericDomTree needs a TreeTraits, instead of GraphTraits. 1 // FIXME: We should return 0 whenever getIntrinsicCost == TCC_Free. 1 // FIXME: Reverse iterators 2 // TODO: This is not great as we look at the pointer type. However, it 1 // TODO: keep retrying to reply??? 1 // TODO - Common the code with DAGTypeLegalizer::SoftenFloatRes_XINT_TO_FP 1 // FIXME: Find a way to express this in getRequiredProperties. 1 // FIXME: consider tracking vector origins for app vectors? 1 // FIXME: Explicit conversion to std::unique_ptr added to silence 1 /// TODO: sret 1 // FIXME: Currently unused. 4 // FIXME: Should we even get ActOnModuleInclude calls for those? 1 // FIXME: Move to this file: BasicBlock::removePredecessor, BB::splitBasicBlock 1 // FIXME: We should use the variables actual alignment as an argument. 1 // TODO FMT Implement the _Tp* constructor. 1 // FIXME: shall we skip brackets/casts/etc? 1 // FIXME: Handle "Depth" parameter to print stack trace upto specified Depth 1 // TODO: we could bound KnownOne using the lower bound on the number 1 // FIXME: these are somewhat meaningless 1 // FIXME: These should return a real error instead of just true/false. 1 // FIXME: use whole #include directive, not just the filename string. 1 // FIXME: IR passes can delete address-taken basic blocks, deleting 1 // FIXME: Use correct value for C++23. 1 // FIXME: include them instead? Top-level lambdas are currently never counted. 1 // TODO: The diagnostic messages where Addr may be 0 should be fixed 1 /// FIXME: Remove this, make all assign operators constexpr and introduce user 1 // FIXME: Allow declarations from different files with include insertion. 1 // FIXME: Make this function more generic. 1 // FIXME: This is horrible. Adding a mechanism to skip an expression 1 // FIXME: This should be an edge property, not a block end property. 1 // FIXME: Skip MaterializeTemporaryExpr and SubstNonTypeTemplateParmExpr in 1 // TODO: Merge with or translate to frontendOpts_. We shouldn't need two sets 2 // FIXME: We need to be able to instantiate FriendTemplateDecls. 1 // TODO: replace formatv arguments with the exact specified 1 // TODO: recognize the TBAA used for constant accesses. 1 // FIXME: support Windows exception handling. 1 // FIXME: The current implementation of 1 // FIXME: Are the message operand types backward? 1 // FIXME: This is separate from whether *a particular usage* can mutate D. 1 // TODO: Add a compile time check to see if the excepts actually fit in flagp. 1 // FIXME: Work out whether it is profitable to do this in A32 mode - LSL and 1 // FIXME: We shouldn't need to get the function info here, the runtime already 1 // FIXME: This should use the same heuristics as IfConversion to determine 1 // FIXME: Nodes such as CopyFromReg probably should not advance the current 1 // TODO: Add support for reply callbacks when support for outgoing messages is 1 // FIXME: The practical usefulness of completion here is limited because 1 // TODO: We are currently not making a very informed decision on when it is 1 // FIXME: Mark the last use of EFLAGS before the copy's def as a kill if 1 // TODO: Handle cases where allocation hoisting barrier has more than one 1 // FIXME: should be called getMSBEncoding 1 // FIXME: When addrmode2 goes away, this will simplify (like the 1 // TODO: AArch64 and AMDGPU use ComplexPattern and then 1 // FIXME: This can result in errors if the definition was imported from a 1 // FIXME: Sink this logic into the module, similar to the handling of 1 /* TODO only close if a window was opened */ 1 // FIXME: Decline tailcall if it's not guaranteed and if the block ends in 1 TodoMatch("^// *TODO *(\\(.*\\))?:?( )?(.*)$") {} 1 // FIXME: This is not complete. We basically treat @throw as 1 // TODO: Use union of memref write regions to compute 1 // FIXME: init MCTargetOptions from sanitizer flags here. 1 // FIXME: Need a 'notify lazy-extracting/emitting' callback to tie the 1 // FIXME: we really care about dependency here. The offset calculation might 1 Record.push_back(ON.getKind()); // FIXME: Stable encoding 1 // FIXME figure out appropriate cleanup here. Do we delete the process? 1 // FIXME: The next token will not have LeadingSpace set. 1 // FIXME: In c++17 this can be simplified by using 'fold expressions'. 4 // FIXME: Does it make sense for value to be negative? 1 // TODO #1: VisitBinaryOperator implementation might not make a good 1 // FIXME: We should be passing source locations for better diagnostics. 1 // TODO: make sure we don't stop before the fix point is reached 1 // TODO: Also mark one-element accesses to arrays as fixed-element. 1 // FIXME: Auto-completion in a template requires disabling delayed template 1 // FIXME: How should these inputs interact with inreg / custom SGPR inputs? 1 // FIXME: We don't handle constructors or destructors for arrays properly. 2 // FIXME: Remove this, clients should do it. 1 // TODO: What about LC_ALL or LC_MESSAGES? 1 // FIXME: Maybe we should not always stop at the first LEA after MI. 1 // FIXME: Should local extern declarations be treated like friends? 1 // FIXME: Verify that the new name is valid. 1 // FIXME: This is a workaround for 2.5 different tablegen problems. Because 1 // FIXME: Right now we look at the module level, and call the module's 1 // TODO: Make these support undef elements. 1 // FIXME: missed optimization: if one of the hands of select is/contains 1 // FIXME: Only deserialize inclusion directives. 1 // TODO: this will need to be undone when we get to support multi-TU 1 // FIXME: This appears to be overallocating. Needs investigation. 1 // TODO: Pointer types, any 32-bit or 64-bit vector 1 // 3. TODO: invalid nesting of regions 1 // FIXME: IsHidden reads from Overriding from the middle of a remove_if 1 // FIXME: better error handling (propagate error out). 1 // TODO: dot_product, ibits, ishftc, matmul, sign, transfer 1 // FIXME: The following use traversal needs a bail out for patholigical cases. 1 // FIXME: Provide code completion for #includes. 1 // TODO: call BLAS-1 ZDOTC 1 // FIXME: Cleanup remainder of `getZeroWithPtrWidth ()` 1 // TODO Replace this with OptTable API once it adds extrahelp support. 1 // FIXME: Syntactic form -> Entire pseudo-object expr. 1 // FIXME: HTML is currently our default output type, but if the output 1 // FIXME: Generate tooling::Replacements instead of std::string to 1 // TODO: If the dtor is there but empty we don't want to warn either. 1 // FIXME: Find a better way to handle renames 1 // TODO: static PIE executable might have dynamic header 1 // TODO: Remove RTL and the devices it manages if it's not used anymore? 1 // FIXME: should we make this a more explicit state? 1 // FIXME: Should be able to specify the entry frame alignment per calling 1 // TODO: We could support sum-of-pow2's but the lowering code doesn't know 1 // FIXME: It is even less clear why MachineCSE can't just fold this when we 1 // TODO: This check is overly conservative. In many cases known bits 1 // FIXME: Handle (some_union){ some_other_union_val }, which turns into 1 // FIXME: Don't set FrameSetup flag in catchret case. 1 // FIXME: Horrible hack to handle BFC->BFM alias. 1 /// FIXME: should we be caching the .clang-format file search? 1 // FIXME: loads from the stack with an immediate offset from the stack 1 // FIXME: Verify that Offset is associated with the current section. 1 // Sometimes we fail to extract the stack trace (FIXME: investigate), 2 // FIXME: Eventually this logic should actually do dispatches to 1 * FIXME: _Float16 type is legal only when HW support float16 operation. 1 DebugLoc DL; // FIXME: this is nowhere 1 // TODO: Consider adding a switch that strips possibly unimportant content, 1 // TODO: This could possibly be more precise with modules. 1 // FIXME: This is just taking a guess, r2 may very well no longer hold the 1 // AC: TODO: check if 16-byte CAS available and use it to 1 // FIXME: Do something with the .line. 2 // TODO: unit testing 1 /// TODO: Add a pointer to the context (DW_TAG_enumeration_type) once that no 1 /// FIXME: It's not clear that this is a good or useful query API. Client's 1 # TODO: Refactor the InitTensorOp to take an element type attribute and 1 // TODO Maybe there's cases where the target doesn't have to be the header, 1 {"32BIT_BRANCH", /* FIXME populate this */ B(_0)}, 1 // FIXME: This hard codes a shift distance based on the number of bits needed 1 // FIXME: Pass in the location of the macro name, not the 'if' token. 1 // FIXME: This file needs to be updated to support scalable vectors 1 // TODO: handle this case 1 // FIXME: Maybe deduce whether the data is little or big-endian using some 1 # TODO: consider supporting constructor "overloads", e.g., through a custom 1 // FIXME: Cleanup this code, these bits should be emitted based on semantic 1 // TODO: Extend for N use. 1 // FIXME: Support a vector of pointers. 1 // FIXME: This is not true on Darwin/PPC. 1 // FIXME: The mnemonic won't match correctly if its not in lower case. 1 // FIXME: We're generating redundant loads and stores here! 1 // TODO: Serialize the target specific register hints. 1 // TODO: If we can verify the same behavior for arbitrary types, the 1 // FIXME: Need to take scratch memory into account. 1 // FIXME: Actually check whether we have 'constant_tsc' and 1 // TODO: Verify that this is a valid GPU mapping. 1 // TODO: Unify this with ConvertBackendLocation() 1 /// FIXME: This only handles include directives, we should at least handle 1 // TODO: p_vaddr value has to be adjusted for static-pie executables. 1 // TODO: we could extend SLSR to float and vector types. 1 // FIXME: Heuristics that works around the lack the live range splitting. 1 // FIXME: Handle LEA64_32r. 1 // FIXME: Given that the length of SVE vectors is not necessarily a power of 1 // FIXME - this will match "node_ " 1 // FIXME: The redecls() range sometimes has elements of a less-specific 1 # TODO Revisit this later on z/OS. 1 // !! FIXME FIXME FIXME !! 1 // TODO: make this work correctly. For now always report 1 // TODO Conform to Motorola ASM syntax 1 // FIXME: The CreateThread interceptor is not the same as a pthread_create 1 // FIXME: Uses of 'MD' past this point need to be audited. We may need to use 1 # FIXME: Hardcoding this isn't great, but assuming that the host ld version 1 # FIXME: link in //lldb/source/Host on Win (and netbsd) 1 // FIXME: Consider an option to allow short exception handling clauses on 1 // FIXME: this isn't the right predicate, should be based on the MCSection 1 // TODO: Fold this into emitFunctionBodyStart. 1 // TODO: This will need to be changed to use MC level 1 // FIXME: All missing headers are listed on the top-level module. Should we 1 // FIXME: Rename `addPreEmitPass` to something more sensible given its actual 2 // FIXME: Just emit the readlane/writelane directly 1 // TODO FMT Implement these improvements. 1 // FIXME: This is very similar to TargetLowering::LowerOperationWrapper. Can we 1 // FIXME: We should be able to return "true" here, but it can lead to extra 1 // FIXME: dsymutil-classic compat. dsymutil-classic doesn't consider labels 1 // FIXME: Without this check, occasionally when running the test suite there 1 // TODO: We don't split functions where a section attribute has been set 1 // TODO: Support floating point min/max. 1 #"//lldb/source/Symbol", # FIXME: 3-hop Dependency cycle (DataFormatters->Symbol->Expression->Interpreter->DataFormatters) 1 // FIXME: Decide whether to implement this for non-C++ languages. 1 // FIXME: Move this. 1 // FIXME this drops the error on the floor. 4 // FIXME: Write out the nops still? 3 // FIXME: This is a workaround for poor cost modelling. Min/Max intrinsics are 1 // TODO: This can be removed after we enable history tracking with 1 // FIXME: remember that we did this for module / chained PCH state? 1 // TODO: In the future we plan to improve stack coloring in the following ways: 1 // FIXME: Make this work on non-ELF. 1 // FIXME: Add support for shufflevector constant expressions. 1 // TODO: Currently, we consider only phi, bitcast, addrspacecast, and 1 // FIXME: If this disambiguation is too slow, fold the tentative lambda parse 1 // FIXME: Propagate Errors through to the caller instead of emitting 1 // FIXME: We should find a more generic solution to this problem. 1 // FIXME: really? What if it's e.g. `std::is_same::value`? 1 // FIXME: Clamp maximum size 1 // TODO: The code generation for ordered simd directive is not supported yet. 2 // TODO: Add type info about the overload error. 1 // TODO: Add folding here if ever necessary. 1 // TODO: this is too conservative, use dominance info in the future. 1 // FIXME: These should really have the size as a parameter. 1 case tok::OOS_DEFAULT: // FIXME: Add this cli option when it makes sense. 1 // TODO: Verify compares. 1 // FIXME: If `Metadata` returns an `llvm::Expected` the `AnyGenerator` will 1 // FIXME: Such a break must be at the end of a construct within this one. 1 // FIXME: Suggest replacing the attempted destructor name with a correct 1 // FIXME: Make this work on non-ELF. 1 // FIXME: It will be better just to find spare register here. 1 // TODO: Extend this to support aliases and equal constants. 1 /// FIXME: We plan to develop a decent Target abstraction for simple loads and 1 // FIXME: Should be able to have 2 separate matchdatas rather than custom 1 // TODO: This is not exhaustive. 1 /// TODO: Add New PM support for custom pass manager. 1 // FIXME: To make this prettier we should invent some stop reason for this, 1 // FIXME: This could also check if there are any indirect calls in the 1 // FIXME: We shouldn't need to do this, the target should be immutable once 1 // FIXME: fail correctly when there are dependent paths. 1 // TODO: Right now, regbankselect doesn't know how to handle the rtcGPR64 1 // FIXME: This is a gross over-approximation. What we really need is a way to 1 // TODO: This could be improved. We could also check that neither operand 1 // TODO: Let the `visitOperation` method decide how to propagate 1 // FIXME: Mask reg operations are probably ok if "this" VLMAX is larger 1 // FIXME: Should this instead by a run of SROA? 1 PRE_SYSCALL(compat_43_ocreat)(void *path_, long long mode_) { /* TODO */ } 1 // FIXME: We should be able to split unwind info into multiple sections. 1 // FIXME: Targets don't know how to fold subreg uses. 1 // TODO: support reversed access. 1 // TODO: Implementation is incomplete. Many intrinsics to tbd. 1 TuneCPU = "i586"; // FIXME: "generic" is more modern than llc tests expect. 1 // FIXME: This loop is *super* confusing. This is at least in part 1 // TODO: Could have multiple extracts? 1 // TODO: A 'not' op is better for analysis and codegen, but demanded bits must 1 // TODO: add _P10 enties to Linux MASS lib and remove the check for AIX 1 // FIXME: Manually selecting to avoid dealing with the SReg_1 trick 1 // FIXME: Make the checker useful on C++ code. 1 // FIXME: Add reduction support. 1 // FIXME: SCEV expansion has no way to bail out, so the caller must 1 // TODO: This should be legalized to s32 if needed 1 // FIXME: Should this be caught and done earlier? 1 // TODO: Turn the below function into iterative function, instead of 1 // FIXME: Populate documentation 1 // FIXME: Implement async lookup 1 // FIXME: Should scc->vcc copies and with exec? 1 // FIXME: add a note about the attribute location in MutexExp or D 1 // TODO: It would be nice if analyzeBranch() could provide a pointer 1 // FIXME: VLIW architectures need to update this field accordingly. 1 // FIXME: This is wrong when mapping to the canonical type for a dependent 1 /// FIXME: Reduce the size of this. 1 // FIXME: open files cannot be deleted. 1 /* TODO replace with general release procedure? */ 1 // FIXME: This doesn't handle an overloaded ->* operator. 1 // FIXME: Update this code once tablegen can handle it. 1 // TODO: Should probably leave the copy and let copyPhysReg expand it. 1 # TODO: delete this once ODS can support dialect-specific content 4 /// FIXME: We'll probably want to eventually define a base 1 //TODO: to get rid of "distance" 1 // FIXME: this hack should possibly go away once we can handle 1 // ScopStmt, so the map can be local to this scope. TODO: Refactor with 1 // FIXME: This is a huge hack; we reuse the input preprocessor because we want 1 // FIXME: This is temporary; eventually, CIndex will always do this. 1 // FIXME: the checks for the DWARF sections are very fragile and should be 1 // FIXME: Most of this is copy-and-paste from SmallVector.h. We can 1 // FIXME: increase the limit to 8 once this bug is fixed: 1 // TODO: We can catch more cases by using a range check rather than 1 // FIXME: This would be a lot easier if we could return a new instruction 2 // TODO swap: fp_control_t fpu_fcw; 1 /// TODO: This is very specific functionality that should live somewhere else, 1 // FIXME: This should be in the MachineVerifier. 1 # TODO: Need to further constrain 'IdMemorySemantics' 1 // FIXME: Should we only exclude it from umbrella modules within the 1 // FIXME: consider doing manual inline for small constant sizes and proper 1 // FIXME: Debug Info Emission depends on block order and this assumes that 1 // FIXME: Add vector support? Need to be careful with setcc result type below. 1 # TODO: use debug levels for VERBOSE messages 1 // FIXME: Need to support shift, cmov, and more instructions. 1 /// FIXME: Hardcoding sizes can cause issues: 1 // FIXME: We should be able to handle these cases in TableGen. 1 // FIXME: This isn't right if .macro is involved (but hopefully, no 1 // FIXME: See if we can just internalize directly here via linkage changes 1 // TODO #2: We didn't go into the nested expressions before, so it 1 // TODO: Add a support for nonloc::LocAsInteger. 1 // FIXME: The long term goal is for the MCOperand list to not contain 1 // TODO: how can we delay here if D is captured by its initializer? 1 // FIXME: Currently we limit this to the bigger pattern case, 1 // FIXME: If the module has macros imported then later has declarations 1 // FIXME: Shouldn't this be the default? Why do we need to handle this? 1 // FIXME Diagnose ODR error if the two initializers are different? 1 // FIXME: Is there some better way to check for In64BitMode? 1 // FIXME: Use this update if VarTemplatePartialSpecializationDecl is fixed 1 // TODO: Omit call site entries for runtime calls (objc_msgSend, etc). 1 // TODO Correctly handle exception specification in Wasm EH 1 // FIXME: operator new takes size_t, for which we need stddef.h, for which 1 // FIXME: deal with multiple levels of PHI indirection? 1 /// FIXME: Figure out a way to consider 'RegSeen' from all code paths. 1 // TODO: handle variadic function 1 // TODO: There's no need to store the entire configtable, it'd be plenty 1 // TODO: check the objective C lock? 1 // FIXME: Teach the SuffixTree to recognize these cases. 1 // FIXME: This encompasses the logic in HighRegPressure and MayReduceRegPressure 1 /// TODO: Figure out a way to avoid adding entry in 1 // FIXME: Implement for other architectures. 1 // FIXME (simon): Support valid branch relocations. 1 // TODO: what if that's a parallel region with a single thread? this is 1 // TODO: extend this to any other memref dereferencing ops 1 // FIXME: Really we would like to issue multiple 128-bit loads and stores per 1 // FIXME: MSDependentExistsStmt 1 // FIXME: we should not remove newlines here, either. 1 // TODO: Possible language extension: use the most general type of 1 // TODO check if pseudo expand uses free address register 1 /* Wait for styles (TODO: move to _V_) 1 // TODO: Automate the generation of the string case table. 1 // FIXME: struct return stuff 1 // FIXME: need to access other ExtendedValue variants and handle them 1 // FIXME: Sema is scary. Can we store ASTContext and Preprocessor, instead? 1 # TODO: Support Fortran 1 // FIXME: Remove this when the bugs stop showing up and rely on existing 1 {"PB_LA_PTR", /* FIXME populate this */ B(_0)}, 1 // FIXME: It's possible that optimizing a switch on powers of two might also 1 // FIXME: It doesn't really mean that the object has a trivial destructor. 1 // TODO: ordered region binding check (requires nesting implementation) 1 // FIXME: We create a bogus CompoundStmt scope to hold the contents of 1 // FIXME: There is a case that occurs in practice, like this: 1 // FIXME symbol from MpSubprogramStmt do not seem to have 1 assert(ResNo == 0 && "FIXME: PatFrag with multiple results?"); 1 // FIXME: assign the value returned by non void extracted function. 1 // TODO: Hoist this above the min/max bailout. 1 return TM.getPointerSize(0); // FIXME: Default address space 1 // FIXME: We should only do this when the shader actually uses this 1 // FIXME: Can we turn this into an error? 1 fatal("TODO: Scattered relocations not supported"); 1 // FIXME: Currently we only use namespace contexts. Use other context 1 PRE_SYSCALL(compat_43_ogetrlimit)(long long which_, void *rlp_) { /* TODO */ } 1 POST_SYSCALL(compat_30_ntp_gettime)(long long res, void *ntvp_) { /* TODO */ } 1 // TODO: Could specifically disable coalescing registers live across setjmp 1 // FIXME: We might want to defer PHI speculation until after here. 1 /// FIXME: currently this does not report references to overloaded operators. 1 // TODO: If InstSimplify could fold all cases where C2 <= C1, we could change 1 // FIXME: Multiply by 2 because we may clone nodes during scheduling. 1 // FIXME: This only benefits in the case where the kernel does not 1 // FIXME: Use LDM/STM with single register instead. 1 // FIXME: It would be useful to define a default allocation size (or add 1 // FIXME: This could just be RegistersByName[name] = register, except that 1 // FIXME: Make sure floating-point mappings are accurate 1 // TODO: Coerce None to default MlirLocation. 1 // TODO: we need to have a way to add inequalities in-place in 1 // FIXME: better error handling (at least, don't let other replacements be 1 // FIXME: For now we conservatively ignore out of bound accesses, but 2 // TODO: Be more specific with the unknown callee. 1 /// TODO: In the future, we may need to unify/generalize this with 2 // TODO: Factor out duplicate operand lists to compress the tables. 1 // FIXME: 4 and 8 are sufficient at the moment, but it's pretty ugly to 1 // TODO: Check if we need to keep it for F as well. 1 llvm_unreachable("FIXME: what goes here?"); 1 // FIXME: The ScheduleDAG currently loses information about which of a 1 // TODO: Along the false edge, we may know more things too, like 1 // FIXME: Implement better conflict handling. 1 // FIXME: This interface will need to be significantly extended to be useful. 1 // TODO: Make this an assertion once RenamedOp is fully accurate. 3 // TODO: Maybe need more checks here. 1 // FIXME: Add profiling support for code hints. 1 // TODO: Add a generic icmp too? 1 // TODO: it is neccessary to set proper SectionIndex here. 2 // FIXME: This really shouldn't be copyable, but is currently copied in some 1 // FIXME: what about overloads? Declarations can be used as keys but what 1 // FIXME: We can't currently provide an accurate source location and a 1 /// FIXME Currently this scheme does not support indirect call of setjmp, 1 // FIXME: Currently we allocate EC each time because we don't have 1 // FIXME: do not handle this yet. 1 // FIXME: Not sure it makes sense to use the alignment of the type if 1 // FIXME: This presumably means a pack ended up smaller than we 1 // TODO add next directives. 1 // FIXME: Currently, we call elf::executeObjcopyOnRawBinary even if the 1 // FIXME: We can replace this with equivalent alias.scope/noalias 1 // TODO: This limitation exists for compile-time reasons. Relax it if we 1 // TODO: Move extract patterns to tensor::ExtractOp. 1 // FIXME: atomicrmw 1 // TODO: Handle non-power-of-two types. 1 // TODO: consider if SymbolTable's constructor should behave the same. 1 // FIXME: The target should be able to choose sign-extended when appropriate 1 // FIXME: insertelement 1 // TODO: Using implicit property decl. 1 // TODO: verify fun_addr needs to be a callable address 1 // TODO: allow non-constant shift amount/divisor 1 // FIXME: It would be possible to preserve information from erase_if to 1 // FIXME: Need the equivalent of MachineRegisterInfo for frameindex operands. 1 // TODO: enqueue this block in circular buffer and send window size to 1 // FIXME: Should these even be selected? Handle these cases in the caller? 1 DEF_TRAVERSE_DECL(ObjCCategoryImplDecl, {// FIXME: implement 1 // FIXME: This lambda must only be used with this function. We should 1 // FIXME: This sanitizer does not yet handle scalable vectors 2 /// FIXME: When GNU tools learn how to parse UTF16 on Windows, we should 1 // FIXME: This logic should not be necessary anymore, as we now have proper 1 // FIXME: Find the best cut-off. 1 // FIXME: Do something better in this case. 1 /// FIXME: A LLVM (function or region) pass should not touch anything outside of 1 // TODO: Should this be some kind of interrupted error? 1 // FIXME: handle Vector types. 1 PRE_SYSCALL(compat_12_oswapon)(void *name_) { /* TODO */ } 1 /// FIXME: Handle decltype as well 1 # TODO: add unittests for the verifier functions: 1 // TODO: Always set this when creating the new specialization? 1 // FIXME: This is probably incorrect; consider invalidating an outer 1 // TODO: Extend this for ops that are FunctionLike. This would require 1 // TODO: The one-use restriction is not strictly necessary, but it may 1 // TODO: GEH - add this check for Linux* OS / OS X* as well? 1 // FIXME: Use the wide variants to handle Unicode filenames. 2 // FIXME: Better support for vector of pointers. 1 // FIXME: Remove string version. 1 // FIXME: It'd be better to start at the state from when we most recently 1 // FIXME: This is not guaranteed to be deterministic! Move to a 1 // FIXME: change this to 'raw' interface type, so we can used 'interface' type 1 // FIXME: We'd like this to show the implicit specializations Parent 1 # TODO: We should switch to platforms-based config settings to make this easier 1 // FIXME: Any other DeclContext kinds that can be safely disregarded 1 // FIXME: should we do anything for Android? 1 // TODO: This could be loosened to be the first *live* def, but care would 1 //TODO: Who creates the i8 stores? 1 # TODO: Due to ongoing CI outage on our Linux nodes, most configurations running on Linux 1 // FIXME: ExtractFunction should be unavailable inside loop construct 1 // TODO: Store the result of the fast check, as it might be used again in 1 /// TODO: This currently misses non-constant addrec step registers. 1 /// FIXME: This may not be true for targets like X86 which support many 1 // FIXME: a ParmVarDecl can have ClassTemplateSpecialization 1 // TODO: Investigate the cost/benefit of tail call elimination on debugging. 1 // TODO: Handle dynamic shapes. 1 // FIXME: load/store narrowing should be moved to lower action 1 // FIXME: Maybe we need a strict mode, where we always fix namespace 1 // FIXME: currently, "static" case isn't handled correctly. 1 // TODO: NEED To compile time dispatch on whether in_iter is a random access 1 // FIXME: using std::unique_ptr causes a malloc error 1 // FIXME: Perhaps this pass should also replace SEH_Epilogue by inserting nops 1 // TODO: This, along with a check for non-null value operands, should be 1 // FIXME: We probably shouldn't hardcode the shell path. 1 void setLastPC(pint_t pc) { /* FIXME: Implement */ } 1 // TODO: Enable multiple messages (KMP_MSG) to be passed to __kmp_msg; and 1 // FIXME: Currently disabled when using Clang, as we don't always have our 1 // TODO: Derive outlined function name from the parent FuncOp (support 1 // TODO: clear software watchpoints if we implement them 2 /// FIXME: Changing the ABI based on the callee name is unsound. The lib func 1 // FIXME: This is the sort of code that should eventually live in a Core 1 // TODO: If cloneInto can be modified such that if a mapping for 1 // FIXME: this check is overly optimistic. We may end up not sinking 1 // FIXME: Figure out how bits 2 or 8 can get set. 1 // FIXME Support symbols with no DF. For example: 1 // TODO: We could allow any shuffle. 1 // TODO: Factor the logic of "what constitutes as an entity being passed 1 // FIXME this should be CPlusPlus11 but that causes test cases to 1 // TODO: Could be replaced with a "bufferization strategy" object with virtual 1 /// FIXME: The default needs to be removed once all the code is updated. 1 // FIXME: We have several different dispatches on decl kind here; maybe 1 // TODO: Should this be inside the render function? The iterator seems to 1 // FIXME: We need to run the same destructor on every element of the array. 1 // TODO: Eliminate direct memory allocations, use string operations instead. 1 // TODO: This could be optimized to avoid all the copying. 1 // FIXME: This is a huge HACK. This should be removed when the pass manager's 1 // FIXME: Remove this workaround when freeze related patches are done. 1 // FIXME: should get it from the bitcode? 1 // FIXME: What does the original arg index mean here? 1 // FIXME: There are many other MF/MFI fields we need to initialize. 1 // TODO: insert any other missing checks 1 // TODO: need to add a test case for "Unknown" and other SMC. 1 // TODO: do a binary search if Entries is big enough for it to matter. 1 // FIXME: This is a hack to prevent us from propagating function poiner in 1 // FIXME: Once callee expressions are defined to be sequenced before 1 // FIXME: We should reorganize again getPageSize() on Win32. 1 // FIXME: The size of this is arbitrary and doesn't seem to change the 1 // FIXME: we should support importing a submodule within a different submodule 1 # FIXME: Move these to real targets. 1 // FIXME: We would like the translation unit's Scope object to point to 1 /// FIXME: the choice of the marking syntax makes it impossible to represent 1 float ynf(int __n, float __x) { // TODO: we could use Ahmes multiplication 1 /// FIXME: this is really just shoring-up a deficiency in alias analysis. 1 // FIXME -- Loc can be wrong here. 1 /*FIXME: IsNested*/ false, Loc, CaptureType)); 1 // TODO: We currently can't generate copies correctly when stores 1 // FIXME: Maybe make this smarter, and see whether the loops are dependent 1 // TODO: If in the future constants do not have one global value number, 1 /// FIXME: Updating the XRayLogImpl struct is an ABI breaking change. When we 1 # FIXME: it is unknown if this is the actual minimum bound 1 // TODO: Generalize this code to support keeping values on the stack across 1 // TODO we can pick an constant operand for the shape. 2 // FIXME: We need to compare template parameters here to avoid incorrect 1 // FIXME: It seems some instructions do not support single precision denormals 1 // FIXME: Should handle floating point promotions. 1 /// TODO: Refactor this and the C-API to be based on an Identifier owned 1 // TODO: we need a proper context manager, like MLIRContext, for managing the 1 // FIXME: this should go away once all DNLocs are properly initialized. 1 // FIXME: PICBase = getGlobalBaseReg(&MF); 1 // FIXME: This intrinsic should probably be removed from the IR. 2 // FIXME: Currently, the set of symbolic strides is sometimes queried before 1 // FIXME: Sync this with InitializePredefinedMacros; we need to match int8_t 1 # TODO: implement llvm/Support/* headers 1 // FIXME: Consider making the maximum number of iterations configurable. 1 // FIXME: For some reason GCC passes -lgcc and -lgcc_s before adding 1 // TODO: support 0-d corner case. 9 // TODO: We should mitigate this problem some time in the future 1 // FIXME: in-function stack adjustment for calls is limited to 24-bits 1 // TODO: apply range metadata for range check patterns? 1 // FIXME: In many contexts, X can only be a 1 // TODO: This isn't guaranteed to replace the sub if there is a logic cone 1 // FIXME: We do not reflow if the indent of two subsequent lines differs; 1 // FIXME: We should probably do at least some minimal parsing of the 2 // TODO: actually think if this is the correct exiting block to place 1 // TODO: Report the error message properly. 3 // FIXME: We could insert for VGPRs if we could replace the original compare 1 // TODO: Add functionality to include separate markdown pages. 1 // FIXME: We should update the CPUType, CPUSubType in the Object file if 1 // FIXME: Currently, if there're more than one job, we disable 1 /// TODO: Provide mechanisms for exception handling and cancellation points. 1 // FIXME: Do we really need both of these? 1 // TODO: We could generalize this for more than splats. See/use the code in 1 // FIXME: Add to global/local DTU list. 1 // TODO: Handle allocas. 2 // TODO: handle non-reduction outside users when tail is folded by masking. 1 // FIXME: this is getting the alignment of the character, not the 1 // FIXME: This emits a different error message than 1 /// TODO: The user of the trunc may be an bitcast to float/double/vector or an 1 PRE_SYSCALL(compat_50___lstat30)(void *path_, void *ub_) { /* TODO */ } 1 // FIXME: Track enough information so we know which case we're in. 1 // FIXME: figure out why this only works when Moo gets 1 Score *= 4; // FIXME: important keywords should have specific boosts. 1 // TODO: For simplicity, we just grab the first one. It may be likely that we 1 // FIXME: Support other SVals. 1 // FIXME: not clear how to mangle this! 1 // TODO: The above 4 cases are not exhaustive. In particular, it is possible 1 // FIXME: is this still valid? 1 // FIXME: Check that offsets match computed ones. 1 // TODO: Produce G_REV32 and G_REV16 once we have proper legalization support. 1 // FIXME: Handle longer conjunctive and disjunctive clauses. 1 // FIXME: Use ServerCancelled error once it is settled in LSP-3.17. 1 // TODO: Remove restrict to single load op restriction. 1 // FIXME: This transform is restricted from changing the select between 1 /// TODO: Figure out if the attribute related helper functions should live 1 /// FIXME: Implement for other node types. 1 // FIXME: Consider adding a check that the suitable prevailing definition 1 // FIXME: Will this work for 64-bit floating point immediates? 1 // FIXME: That's not exactly the same as "might be usable in constant 1 td_file = "Options.td" # FIXME: rename? 1 // FIXME: These operations were unfortunately named. fminnum/fmaxnum do not 1 // FIXME: JumpTable and ExternalSymbol address currently don't like 1 // FIXME: Handle specialization. 1 // FIXME: pass proper LangOptions. 1 // FIXME: Should (size_t, std::align_val_t) also be considered non-placement? 1 // TODO: use funnel shifts? 1 // FIXME: Update printAttributedBefore to print these once we generate 1 /// FIXME: Historically this function has returned false when given a vregs 1 // FIXME: There is a very unfortunate problem here, some troubled 1 // FIXME: this needs reimplementation too after the TargetParser rewrite 1 // FIXME: Relax this constraint to cover all basic blocks that are 1 // TODO: Should we quiet a signaling NaN? 1 // FIXME: Add fixit to fix the code for case one and two (match1). 1 PRE_SYSCALL(compat_13_sigreturn13)(void *sigcntxp_) { /* TODO */ } 1 // FIXME: compatibility with dsymutil-classic. UseODR shouldn't 1 # TODO Remove the str form which is used by update_test_checks.py and 1 // FIXME casts! 1 // FIXME: since we're shuffling with undef, can we just use the indices 1 // FIXME: should we account for an LSDA at an absolute address? ld64 seems 1 // FIXME: Detect non-ASCII whitespace characters too. 2 // TODO: Expand ISD::PARITY. Need to move ExpandPARITY from LegalizeDAG to 1 // TODO: Store the base type in the CXXDerivedObjectRegion and use it. 1 // TODO: Figure out which other flags need to be set. 1 // FIXME: MSVC introduced /Zc:twoPhase- to disable this behavior in their 1 XRAY_NEVER_INSTRUMENT { // FIXME: Implement in aarch64? 1 // TODO: There are additional exec masking dependencies to analyze. 1 // TODO: Add support for local variables that are expressed in terms of 1 // TODO: compute InternalAdditionnalPressure. 1 // 2.4. TODO: Either document or disable any other case that the following 1 // TODO: __mspabi_[srli/srai/slli] ARE implemented in libgcc 1 // FIXME: Fold in x+1, -x, and ~x when applicable. 1 // FIXME: It seems Legalized is false iff CCCode is Legal. I don't 1 // FIXME: Implement the Not operator to take a single matcher instead of a 1 // FIXME: Visit explicitly-specified template arguments! 1 // TODO: (ABI) Revisit and decide how large it should be. 1 // TODO: Can handle more cases here. 4 // FIXME: or just use the summary line as abort message? 1 /// FIXME: The default for EnableLoopVectorization in the cl::opt should be 1 // FIXME: Provide a source location for the _Atomic keyword. 1 // FIXME: This condition should be a lot more complicated that it is here. 1 /// TODO: This currently won't work when using DLLs as it requires properly 1 // FIXME: This needs linker information via a 1 // FIXME: use err_attributes_misplaced 1 // TODO: validate the reduction operation -- it must be a pure 1 // FIXME: This attribute needs to actually be handled, but if we ignore 1 // FIXME: Fail more softly if the diagnostic level is unknown? 1 PRE_SYSCALL(fexecve)(long long fd_, void *argp_, void *envp_) { /* TODO */ } 1 // TODO: Add reference and pointer types (with some appropriate proxy type) 2 // TODO: else we should assert that there was, in fact, a policy choice to 1 // TODO: Look if and how fir.box can be promoted to affine. 1 // TODO: a subset of the value is in the location. 1 // FIXME: it might be a worthwhile optimization to not mask loaded 1 // FIXME: Handle every attribute type that has arguments of type to import 1 // FIXME: Change if above assumption does not hold. 1 // TODO: lck_rw_destroy(2 arguments). 1 /// FIXME: It's really frustrating that we have to do this, but SSA-form in MIR 1 // TODO: Do the transform if it only requires adding pointer casts. 1 // FIXME: Cache this sorted list in Scope structure, and DeclContext, so we 1 // FIXME: We apply this promotion once per partitioning. It's safe, but 1 // FIXME: The code below tries to commute 'UseOpIdx' operand with some other 1 // TODO: drop reliance on a specific pattern. 1 // TODO: we may consider expanding ROTL/ROTR on older GPUs. Currently on GPUs 1 // FIXME: We could use the section but add the bit to the relocation value. 1 // FIXME: Detect non-deduced exception specification mismatches? 1 // FIXME: implement more hooks. 1 // FIXME: We can reduce the size of this table very easily. First, we change 1 // FIXME: Allow clients to provide heuristics for improved splitting. 1 // FIXME: How does clang tell us there's no return value? We need to handle 2 // FIXME: The ASTs should make finding the definition easier. 1 // TODO: It might be worth using a pseudo here to avoid scc clobber and 1 // FIXME: This miscounts tok:unknown tokens that are not just 1 // TODO: We should really be able to check all the incoming edges if this is 1 // FIXME: The previous type is cleared but not removed from 1 // FIXME: This is a hack. 1 /// TODO: add rules... 1 // TODO misc2, misc3 ? 1 // FIXME This matcher does not respect FTZ or DAZ yet: 1 // TODO Conf.VisibilityScheme can be lto::Config::ELF for ELF. 1 // TODO: Extend support for operator<=> to ObjC types. 1 // FIXME: Should we silently eat an argument that we can't convert into a 1 // FIXME: Do this lazily, when each macro name is first referenced. 1 // FIXME: The filename may be a virtual name that does probably not 1 // FIXME: Add feature in `raw_indented_ostream` to ignore indent for block 1 // FIXME: Consider making the default behaviour for finding a style 1 // TODO: Any other flags to propagate? 1 // FIXME: should this ask the cost for Intrinsic's? 1 // FIXME: use a real diff instead, this is bad with include-insertion. 1 // FIXME: Should a 'std' equivalence also cover the predefined 1 // FIXME: This has potential of causing problem. If 1 // FIXME: Select to VOP3 version for with-carry. 1 // TODO: Manually commit rather than using non-trivial destructor, 1 // FIXME: What about type templates that have only been annotated as 2 // TODO: These helpers are currently type polymorphic over the class of integer 1 // FIXME: avoid re-calculating this every time. 2 // TODO: Handle triangular loops. 1 // FIXME: This is duplicated with the selector. (See: 1 // TODO: this could be templated if the various decl types used the 1 // TODO: generalize on a per-need basis. 1 // TODO: it would be neccessary to set proper section index here. 1 // TODO: The set of packed operations is more limited, so may want to 1 // TODO add test 1 // TODO: keep track of the last subsection so that this symbol appears in the 1 // FIXME: It's not responsibility of the Store to transform this lvalue 1 // FIXME: the location here is not quite right. 1 // FIXME: Can ID ever be NULL? 1 // reduces compile-time significantly. TODO: When we *do* use BFI, we should 1 // TODO: support non-unit strides once there are use cases. 1 // TODO: Look through eliminable cast pairs. 1 // TODO: We are not checking one-use because the elimination of the multiply 1 /// TODO: Implement microMIPS64 support. 1 /// TODO: Create and propagate ExtendedValue according to properties listed 1 // FIXME: This pass is really intended to be invoked during IR optimization, 1 // TODO: We could try and sub-partition this cluster if only some blocks 1 // TODO: This is non-optimal, but dealing with the concurrently happening 1 // TODO: Do we really want this barrier? It triggers unnecessary hazard nops 1 // TODO: the actual threshold to be tuned here because the size here is based 1 // FIXME: Handle non-GNU attributes 1 // FIXME: Handle Using(Shadow?)Decls here to create 1 // TODO: determine whether we want to recurse backward into the other 1 // FIXME: remove this after switching to NPM or GlobalISel, whichever gets there 1 // TODO: what if this fails because of DiagnoseUseOfDecl or something 1 // FIXME: Is there a better way to check for load fold barriers? 1 // FIXME: Use a more specific diagnostic type. 1 // TODO: Handle undef as zero 1 // TODO: Use better location 1 // FIXME: All blocks should have signatures-as-written, even if the return 1 # FIXME: With this setup, targets are not relinked automatically 1 // FIXME: We are not accounting for potential differences in implicitly passed 1 // FIXME: This isn't consistent with the 'exact' type name matches above. 1 // FIXME: This implementation of ElemFromList is O(1) in instantiation depth, 1 // FIXME: We use a fatal error here because historically LLVM has tried 1 // FIXME: Should we allow complex __fp16? Probably not. 1 // TODO: This shouldn't be public. 1 /// FIXME: Once DirectoryEntryRef is "everywhere" and DirectoryEntry::getName 1 // TODO: Relax the one-use constraints. 2 // TODO: This is used for the SwitchMatcher optimization. We should be able to 1 // FIXME: Provide convenience methods to determine hotness/coldness of other IR 1 // TODO parse the floating point registers 2 // FIXME: If the header is excluded, we should write out some 1 // FIXME: Issue a diagnostic if we parsed an attribute-specifier-seq 1 // FIXME: the rename of overloaded operator is not fully supported yet. 1 // FIXME: zero shift amount is also legal here, but we can't *easily* check 1 // FIXME: VectorTypeLoc is unfinished 1 // FIXME: Explore options to avoid eager initialization of fields as some of 1 // TODO: We might want to consider enabling these options on AIX in the 1 // FIXME: We do not yet add regions for the newly generated code to the 2 // TODO: we need to filter OpKill here to avoid inlining it to 1 // TODO: Sdiv check for not exact for some reason. 1 // TODO: can we be smarter about machine pointer info? 3 // FIXME: This should update the threshold only if it exceeds the 1 // TODO: Parse back references and lengthless template instances. 1 // FIXME: This perhaps should be stricter, but the current legality 1 // TODO: We could try to match extracting the higher bytes, which would be 1 // TODO Error check that the number of symbol table entries fits in 32-bits 1 // FIXME: postvisits eventually go in ::Visit() 1 // TODO: For AVX512DQ + AVX512VL, we also have cheap casts for 128-bit and 1 // FIXME: If this becomes a problem, we can make a version that just returns a 1 // FIXME: Hack to recognize vpcom{ub,uw,ud,uq,b,w,d,q}. 1 // FIXME: Add lifetime/invariant intrinsics (See: PR30807). 1 // FIXME: observe config files, immediately expire time-based caches, reparse: 1 bool DoMove = (LastLoc - FirstLoc) <= NumMove*4; // FIXME: Tune this. 1 // TODO: apply nonnull return attributes to calls and invokes 1 // FIXME do not use copy 1 /* FIXME: Implement */ 1 // FIXME: is the use_iterator stable enough to mutate register uses 1 // FIXME: Move this to a private config.h as it's not usable in public headers. 1 // FIXME: we may get multiple DocumentHighlights with the same location 1 // FIXME: nested expansions not in TokenBuffer 1 // FIXME: Use a generation count to check whether this is really up to date. 2 // FIXME: Rename BlockScope -> ClosureScope if we decide to continue using 1 /// TODO: should vectors maybe be split out into their own thing? 1 // TODO: Add move constructor and operator= when a testable situation arises. 1 //FIXME: Disable CMN, as CCodes are backwards from compare expectations 1 // TODO: Should we try to emit this once in the entry block? 1 "FIXME: We only handle trivial array types so far!"); 2 // FIXME: Visit DeclarationName? 1 // TODO: Handle other types of loads. 1 // FIXME: Maybe this should be an assertion. Are there cases 1 return /*FIXME:*/ Msg->getLeftLoc(); 1 // FIXME: Should this discard the symbols? 1 // TODO: Operator doesn't expose all necessary functionality via 1 // FIXME: We cant distinguish between a constant or variable thread limit. 1 // FIXME: Right now, the longest repeated substring from a specific index is 1 // FIXME would be nice tablegen to generate these predicates and converters 1 // TODO: Preserve branch weight metadata, similarly to how 2 // FIXME: STATICS! 1 // TODO: We can't handle these instructions. 1 bool IllegalOpsAllowed; // TODO: Make use of this. 1 // TODO: this is unsafe in the context of a PatternRewrite. 1 // TODO: Figure out how to actually combine multiple debug locations. For 1 // TODO: Support non-local call-slot optimization? 1 PRE_SYSCALL(compat_09_ouname)(void *name_) { /* TODO */ } 1 // FIXME: Can we enable Complain here? 1 // TODO: These are non-conditional passes that run between 1 // TODO: use all stride levels once DmaStartOp is extended for 1 // FIXME: this can be probably made an implementation detail of the default 1 // TODO: We could use SimplifyInstruction here to fold PHINodes and 1 // FIXME: Driver shouldn't take extra initial argument. 1 // FIXME: Remove the dest file if we failed, and it didn't exist previously. 1 # FIXME: Target name should be kept consistent with definition 1 // FIXME: Return false for x87 stack register classes for now. We can't 1 // TODO: This could be extended to allow vectors. Datalayout changes might be 1 // TODO: Enhance logic for other BinOps and remove this check. 1 // TODO: Do this for call site arguments (probably also other values) as well. 1 // TODO: PTRACE_POSIX_SPAWN? 1 // TODO: We may put Kind.isReadOnlyWithRel() under option control, because 1 // TODO come up with a n-ary matcher that subsumes both unary and 1 // TODO: check C762 - all bounds and type parameters of component 1 // FIXME: We probably need to make this out-of-line to avoid redundant 1 // FIXME: take a TemplateArgumentLoc* (or TemplateArgumentListInfo) instead. 1 // TODO: Optionally warn on use of non-standard intrinsics: 1 // FIXME: Should this be using a root path / call getSystemRoot()? For now, 1 // TODO: If thread is done with work and times out, disband/free 1 // FIXME: Define in terms of createReplaceableForwardDecl() by calling 1 // TODO: When selective normalization is implemented, handle multiple 1 // FIXME: Diagnose redundant specifiers. 1 // FIXME We need this because of ImportError. 1 // FIXME: We still have implicit uses on SGPR spill instructions in case they 1 // TODO: add a fast path multiplying new length at compile time if the info is 1 // FIXME: support 64-bit C_FILE symbol. 1 // FIXME: Remove TargetOptions that affect per-function code generation 1 // TODO: big-endian targets 1 // TODO: Check this in verifier. 1 // FIXME: Several methods should be pure virtual but aren't to avoid the 1 // FIXME: Add a vector deleting dtor type. It goes in the vtable, so we need 1 // FIXME: Unaligned accesses not lowered. 1 // TODO: Print the other CFI Operations. 1 // TODO: use input range if available 2 // FIXME: Later on, support for fb for HLASM has to be added in 1 curr_frame.GetStackID()); // TODO: remove this after some testing 1 // FIXME: Remove this, one day. 2 COMPPGM2(enable_exception_msb, compute_pgm_rsrc2_excp_en_msb, EXCP_EN_MSB), // TODO: split enable_exception_msb 1 // FIXME: Exp is currently unavailable for nested expansions. 1 // TODO: We could walk the complex types here and see if everything is 1 // FIXME: We could make a copy of the scratch register. 1 // FIXME (Alex L): Add code that accounts for macro locations. 1 const float *__a) { // TODO: placeholder until OCML adds support. 1 // FIXME: Look at the element types of aggregates to see if there are vectors. 1 // FIXME: These should have correct memory space and thus should be filtered 1 // TODO: Add timestamp and description. 1 // FIXME: expose other fields? 1 // TODO: Exose the attribute set to the ACS repair callback 1 # FIXME: Allow overriding builtins here 1 /// TODO: Replace remaining uses of MCSubRegIterator. 1 // FIXME: use -stop-after so we could remove PrintLSR 1 // FIXME: for Python, we cannot allow certain characters in 1 # FIXME: Use an API for this, not parsing the description. 1 // routines do not read values visible in the IR. TODO: Consider special 1 // TODO: Cache CFGBlocks for each ExplodedNode. 1 // FIXME: it would be nice to include the subtarget feature here. 1 // TODO: pass Data as StringRef/ArrayRef? use StringRef::copy method. 1 // FIXME: Assert that `LParenToken` is indeed a `l_paren` once we have fixed 1 // FIXME: When we sort includes, we need to make sure the stream is correct 1 // FIXME: we're silently ignoring invalid data here 2 // FIXME: This overestimates the number of non-zero bytes for bit-fields. 1 // TODO: Add a depth parameter to dependence graph construction. 1 // FIXME: Revisit the decision to do this; the main reason was to support 1 /// FIXME: remove in favor of member. 1 // TODO: Further verify that the element type can be sampled 1 // FIXME: The first 'template' keyword is a child of `NestedNameSpecifier`, 1 // TODO: This function only handles some simple cases. An alternative would be 1 // FIXME: A better long term fix is to re-calculate Ranges after sorting. 1 // TODO: We're also bailing of AVX512BW isn't supported since we use VK32 and 1 // TODO: This is only correct if there either is no further scf.parallel 1 // TODO: It's generally bad to access stdout/stderr in a library. 1 // TODO: implement those 1 // FIXME: This should be a cast from a 1-bit integer type to a boolean type, 1 // TODO: implement this 1 // FIXME: When intrinsic definition is fixed, this should have an MMO already. 1 // TODO: Pick a killed regiter to avoid save/reload. There is problem 1 // TODO: Allow deferring argument locations. 1 // TODO investigate refactoring synthetic section finalization logic into 1 // FIXME: We should probably have folded COPY (G_IMPLICIT_DEF) earlier, and 1 // FIXME: A free function definition can have default arguments. 1 // FIXME: Does int/fp matter for this? If so, we might need to restrict 1 /* TODO reinitialization of library */ 1 // TODO: Make this work with non-unit step loops. 1 // FIXME: the usual format is actually better if unwinding isn't needed. 1 // TODO: see if there's a better way of expressing these variable 1 // FIXME: Account for original alignment. Could fragment the root array. 1 // TODO: if necessary, this can be extended to also compose in any 1 // @TODO: Can we just disable this? 1 // FIXME: this is necessary because CommandObject::CheckRequirements() 1 // FIXME: This should be based off of the maximum size in B of an outlined 1 // FIXME: We do not verify inline asm operands, but custom inline asm 1 // TODO: The loop stack should not need to be in the program state since it is 1 bool LegalizeIllegalOps; // TODO: Make use of this. 1 // TODO: See comment in PointerMayBeCaptured regarding what could be done 1 // FIXME this really should be context sensitive, where we record 1 "TODO: Please, write a test and replace this with a diagnostic!"); 1 // FIXME: we shouldn't repeat this logic in both the Features and Cost 1 // TODO Sometimes storing the LSDA address every time is not necessary, in 1 // FIXME: See ScheduleDAGSDNodes::EmitCopyFromReg. For now, scheduler 1 // FIXME: getFixupKindInfo() and getFixupKindNumBytes() could be fixed to 1 // TODO: Model their backedge values explicitly. 1 # TODO: Print more stuff for other kinds of points. 1 // TODO: See which abbrev sizes we actually need to emit 1 // FIXME: This is assuming the heuristics in emitThumbRegPlusImmediate 1 /// TODO: Reuse opportunities for RAR dependencies. 1 // FIXME: What is this? 1 // FIXME: Make this the iterator's operator*() after the 4.0 release. 1 // FIXME: LibFunc_powf and powl TBD. 1 // FIXME: Is this the best way to print wchar_t? 1 // FIXME: This should be deduced from the scheduling model. 1 // FIXME: New EH - Add the clauses in reverse order. This isn't 100% 1 /// FIXME: this function currently does not add noalias metadata a'la 1 // FIXME: This upgrade is done during linking to support the C API. See 1 // FIXME: Fill these in. They are for incremental linking. 1 // TODO: Model compare and branch explicitly in VPlan as recipes. 1 // FIXME: Accept these as an extension too? 1 // FIXME: Move the truncation aspect of this into Sema, we delayed this till 2 // FIXME: This is a very ad-hoc check. it would be better handled in some 1 // FIXME: This accepts other cases it shouldn't! 1 // TODO others 1 loc, "TODO: box value is missing type parameters")); 1 // TODO: Review code and check that this calculation does not yield 1 // TODO: we should use the incremental DomTree updater here. 1 // TODO: C1234, C1235 -- defined I/O constraints 1 // TODO: The memory mapping code to setup a 1:1 shadow is based on msan. 1 // TODO: verify that earlyclobber ops are not used. 1 /* public API - prototypes - TODO: doxygen*/ 1 // TODO: coshape 1 // TODO: Adjust state of args appropriately. 2 //: FIXME: remove this once PR13375 gets fixed 1 // FIXME: this should depend on the calling convention. 1 // FIXME: Disable full jump table processing for AArch64 until we have a 1 // TODO: check if we should be retrying? 1 // TODO: Remove the call, after making sure the counter is not used by 1 // FIXME: We need to force the emission/use of a guard variable for 1 // FIXME: Should use the data layout? 1 // FIXME: This is not necessarily the case when -ffunction-sections is 1 // FIXME: Should atexits be allowed to run concurrently with access to 2 // TODO: Figure out whether isAtomic is really necessary (see D57601). 1 // TODO: wire up window size changes 1 // FIXME: we could read the signature out of the import and validate it. 1 // FIXME: MSVC seems unable to handle a lambda argument to Invoke from within 2 // GEH TODO: shouldn't we pass some sort of location identifier here? 1 // TODO: Use source file full path to generate the unique module id 1 // TODO: Add all the compound branches here. Can we do this in Relation model? 1 // FIXME: move to a non-test utility library. 1 // FIXME: This won't track "self" in messages to super. 1 // TODO: There is also f64 rsq instruction, but the documentation is less 1 // TODO: If the x86 backend knew how to convert a bool vector mask back to an 2 // TODO: Should really be buildSExtOrCopy 1 // FIXME: Cache the injected template arguments rather than recomputing 1 // TODO: On first reference to LibPath this should create a JITDylib 1 // TODO: We don't do TRE if dynamic allocas are used. 1 // TODO: Would be preferable to only load this value once. 1 // TODO: bulky 1 // FIXME: We could try to reschedule the AND. 1 #"//lldb/source/Symbol", # FIXME: Dependency cycle. 1 // TODO: Handle unmerging into GPRs and from scalars to scalars. 1 // FIXME: For now just do scalars: 1 // FIXME - we could handle more complex cases via TokenFactor, 1 /// FIXME: Remove in favor of std::span once we can use c++20. 1 // FIXME: this checks both LTO and ThinLTO. It happens to work as we take 1 // FIXME: Diagnostics. Note the location of the definition as a label. 3 // FIXME: Do not reset the pragma handlers. 1 // TODO: handle outputs. 1 // FIXME: Can/should this be done in the UnwrappedLineParser? 1 // FIXME: This generated code sucks. 1 // FIXME: Investigate if we could use runToolOnCodeWithArgs from tooling. It 1 // FIXME: The below manglings don't include a conversion, so bail if there 1 // TODO: the "order" argument type is "int", not int32. So 1 // TODO: A child loop whose header is also a header in the current 1 // FIXME: ColumnWidth actually depends on the start column, we need to 2 // FIXME: Add a test for `voidType()` that does not depend on C++. 1 case BuiltinType::Ibm128: break; // FIXME: No suffix for ibm128 literal 1 // FIXME: Allow folding when register classes are memory compatible. 1 { ISD::ZERO_EXTEND, MVT::v32i16, MVT::v32i8, 3 }, // FIXME: May not be right 1 llvm_unreachable("FIXME: Objective-C types are unsupported!"); 1 // FIXME: the interceptor is not as fast as real memset. Consider lowering 1 // FIXME: AR->getNoWrapFlags(SCEV::FlagNW) 1 // TODO: Use assembly to call cpuid on the inferior and query ebx or ecx 1 // TODO: Check for procedure name in declare target directive. 1 // FIXME: As usual, we could be more specific in our error messages, but 1 // TODO: Probably should be zext 1 // FIXME: This function check the maximum table size and density, but the 1 // TODO: convert to using SCRATCH instructions or multiple SRD buffers 1 // FIXME: We also need to take ElementRegions with symbolic indexes into 2 // FIXME it is not obvious how this should work for alignment. For now, say 1 /* TODO associate cv with a team instead of a thread so as to optimize 1 // TODO: may be better to pass function scope and not lookup it every 1 // TODO: Reorder methods to be utilities first and parse*Type 1 // FIXME: Ideally we would have separate instruction definitions with the 1 // FIXME: See note on "finalize" below. 1 // TODO: Enable UndefinedSanitizer to diagnose an overflow here. 1 // TODO: Verify the assumption here that the immediately enclosing region is 1 // FIXME: older versions of ld64 expect the "arm64" component in the actual 1 // TODO: The case when there is no scavenged register needs special handling. 1 // FIXME: We should unconditionally split the block here. 1 // FIXME: Add a callback to retain the llvm::Module once the JIT is done. 1 // TODO: To check recursive operations we need to check all of the nested 1 // TODO: implement addNoAliasAttrs once 1 // FIXME: Refactor these to ../Common/Matchers.h 1 // FIXME: Can we track this? Is it necessary? 1 // TODO: Check for declare simd regions. 1 // FIXME: Mac OS X specific? 1 // FIXME: provide a way to get sources and ASTs for other files. 1 // FIXME: When all loop passes preserve MemorySSA, it can be required and 1 // TODO: Should we consider the mask when looking for a stride? 1 /// FIXME: Do we need all these temp symbols? 1 // FIXME: Remove when memoized. 1 // TODO: We can support this case, by sinking the instruction after the 1 // TODO: Needs support for masked loads/stores of "scalar" vectors. 1 // TODO: Try harder to reduce compare of 2 freely invertible operands? 1 // FIXME: Dump locations. 1 // TODO TargetIndexLocation is a target-independent. Currently only the 1 // FIXME: some build systems like Bazel will take time to preparing 1 // FIXME: Change to remove IsSimple == 0. We're being conservative here, 1 // FIXME: Assert this is a shader return. 1 // TODO: Is that needed? 1 // FIXME: This is a hack, and doesn't do anything really intelligent yet. 1 // FIXME: It would be possible to propagate a negative value instead of 1 // TODO: to use a custom range with boundaries overlapping 1 // FIXME: Allow AssemblerVariantName to be a comma separated list. 1 // FIXME: This is wrong. A '\' followed by a newline is always removed, 1 // FIXME: Ideally, no further passes should rely on kill flags. However, 1 // FIXME: Extraction from label, switch and case statements 1 // will still give an answer that bypasses other volatile loads. TODO: 1 // TODO: Do we need the super register implicit use? 2 // FIXME: Use atomic operations here so that there is no data race. 1 // Now check for an fadd operation. TODO: expand this for integer add? 1 // TODO: diamond, triangle cases 1 // TODO: add support to erase aliasInfo entries if deemed necessary. 1 int __kmp_num_locks_in_block = 1; // FIXME - tune this value 2 // FIXME - need better way (e.g. Metadata) to avoid generating this global 1 // FIXME: Subtarget is null here, so can't Subtarget->hasAddr64() ? 1 // FIXME: Allow unaligned atomic load/store on x86. (It is not 1 // FIXME: investigate why the test fails when adding a new USR to the USRSet. 1 // FIXME: Should '.\\' be accepted on Win32? 1 // TODO: consider checking it here is already a compatible reduction 1 // FIXME: Remove this switch when all testcases are fixed! 1 // FIXME: Change AliasSummary to hold a ValueInfo instead of summary pointer 1 // FIXME: One day we might want to implement adjustment of leading whitespace 1 // TODO: We could use a heuristic and either use: 1 // TODO: Out-of-place bufferized value could be considered writable. 1 // FIXME: block support. 1 // TODO: create Location subclass for binary blob 1 // enough that preserves all bits. TODO: check here for "known" sign bits. 1 // FIXME: Do we support attributes on the @implementation? If so we should 1 // TODO: Handle this once getVectorInstrCost can cost for load/stores. 1 // TODO: Remove once multiple srcs w/ coalescable copies are supported. 1 // TODO: We could emit code to handle the initialization somewhere. 2 // FIXME: Should be derived from the scheduling model. 1 // TODO: call BLAS-2 DGEMV(x,y) 1 // TODO: This should take a const BreakpointID. 1 // TODO: __HAS_FMAF__, __HAS_LDEXPF__, __HAS_FP64__ are deprecated and will be 1 // FIXME: In the absence of cache misses (i.e. L1I/L1D/iTLB/dTLB hits/misses), 1 // FIXME: InMemoryFileAdapter crashes unless the buffer is null terminated! 1 // FIXME: Allow undef matching with Constant (mask) splat analysis. 2 // FIXME: this is pretty unsatisfactory, but there isn't an obvious 2 // TODO: If we tracked more than one register here, we could potentially 1 // FIXME: Sometimes tryInstructionTransform() will add instructions and 1 // FIXME: Add a similar negative test for `isInteger()` that does not depend 1 // FIXME: fix Len == 8 and other irregular type lengths. 1 // FIXME: We would like an efficient form for this, so we don't have to do a 3 // see FIXME there. 1 // FIXME: This function needs to go away for a number of reasons: 1 // FIXME: Handle array fields of structs. 1 // FIXME: assumes exactly one instruction is used to save each callee-saved 2 // FIXME: Is there some kind of AttrVisitor to use here? 1 // FIXME: Store 'Unexpanded' on the lambda so we don't need to recompute it 1 // TODO: Add support for taking a Block arg to construct the 1 // TODO: Change to Assume=true but making sure we don't exceed the threshold 1 # FIXME: index std::placeholders symbols, placeholders.html page is 1 // FIXME: This routine is being called mid-way through the loop pass manager 1 // FIXME: Report this better. 1 // FIXME: Cost arbitrarily set to 1 because there doesn't seem to be a 1 // TODO: Lots more we could do here: 1 // FIXME: Returns uniform if there's no source value information. This is 1 // TODO: support other situations better. 1 /// of TODO list for the model with diminishing returns, to be completed as 1 // FIXME: this could be done better, by performing a lookup of all 1 // FIXME: Perform error recovery. 1 // TODO allow merging of operations when one block does not dominate the 1 #"//lldb/source/Target", # FIXME: 2-hop dependency cyle (Interpreter->Target->Expression->Interpreter) 1 // FIXME: No multi-register return values yet, though I don't foresee 1 context_.Say("TODO: %VAL() argument"_err_en_US); 1 // FIXME: MemberPointer chunks don't carry the location of the *. 1 // FIXME: Support more types of counter-based loops like decrement loops. 1 // FIXME: We also need to tell Sema that we're in a 1 // FIXME: We don't actually canonicalize this, we just make it absolute. 1 // TODO: Ideally we should share Inliner's InlineCost Analysis code. 1 // FIXME: Add convertability check to coroutine_handle<>. Possibly via 1 // proper recovery can happen. FIXME: Perhaps filter the corrected expr to 1 // FIXME: Classify these cases better. 1 // TODO: The number of read advance entries in a class can be significant 1 // FIXME: Use CallEvent to abstract this over all calls. 1 /// TODO: We currently execute only per-part unless a specific instance is 1 // TODO: merge these two routines. For the moment, we display the best 1 // TODO: Remove this option. OMP_NUM_THREADS is a list of positive integers! 1 // FIXME: Instead of doing this here, maybe the Driver code doing 1 /// TODO: Split out DW_TAG_unspecified_type. 1 /*FIXME: It should be extracted like this. 1 // FIXME: argv and envp handling. 1 // FIXME: metadata (if Complain is set) 1 /// TODO: 1 // FIXME: Handle case where a scalable vector is extracted from a scalable 1 // TODO: For now, just look for an earlier available version of this value 1 // TODO: Consider propagating weight down the domination line as well. 1 // TODO: This function is almost the same as ELFAsmParser::ParseDirectiveSize 1 // TODO: Update CallDescription to support anonymous calls? 1 // FIXME: aarch64 support is missing. 1 // FIXME: This will produce an error if the definition of the interface has 1 // TODO: generate these strings using ODS. 1 // FIXME: GCC does not appear to mangle the template arguments when 1 // TODO: handle arrays 2 // FIXME: Teach -fsanitize=undefined to trap this. 1 // FIXME: We insert fences for each atomics and generate 1 // TODO: There are other places where load PRE would be profitable, such as 1 /// FIXME: The invalid bit along the return value is to emulate some 1 return SDValue(); // FIXME: Could/should use `ISD::ADD`? 1 // FIXME: Factor out duplication with partial specialization version above. 1 // FIXME: Dependent types do not work yet. 1 // FIXME: Implement 'find_as' for shared_ptr/T*. 1 // TODO: This could be enhanced to handle arbitrary vector constants by 1 // TODO: in the future, when regions don't intersect and satisfy 1 // FIXME: for do-while, this only covers the `do`.. 1 // FIXME: more complex types (arrays, references to raw pointers, etc) 1 // FIXME: Instead of re-lexing and looking for specific macros such as 1 // TODO: Emit an error here. 5 // TODO: This probably should not overwrite MemParalleLoopAccess. 1 // FIXME: Provide a known merge target to the second and subsequent such 1 // TODO Apparently, this is currently needed for OpenCL as mentioned in 1 // FIXME: Should make sure no callers ever do this. 10 // TODO: Can this be shared to also handle LLVM intrinsics? 1 // TODO: Implement an instruction mapping table of 16bit opcodes to 1 /// - exception-specifications (TODO: C++0x) 1 // TODO: Use small-string optimization to avoid allocating. 1 // TODO: Add other W instructions. 1 // TODO: it would be neccessary to set proper section index here. 3 // TODO: There currently isn't any mechanism to do 1->N type conversion 1 // FIXME: We should use a narrower constant when the upper 1 // FIXME: This is an approximation of the instantiation-dependent name 1 // TODO: replace this with something less conservative 3 // FIXME: Doesn't do the right thing for cases where the vector is partially 1 {ISD::UMIN, MVT::v16i16, 6}, // FIXME: umin is cheaper than umax 1 // FIXME: canBreak and mustBreak aren't strictly indentation-related. Find a 1 // FIXME: Remove this check as soon as clang stops doing this; it hides bugs. 1 /// FIXME: Currently only supports JSON compilation databases, which 1 // TODO: Find a good way to add them to OptTable instead and them remove 1 // FIXME: If TempParams is empty and none of the function parameters 2 // TODO: Should we do this if we can widen *some* comparisons, but not all 1 // FIXME: We can also print optional parameters of an overload. 1 // FIXME: I'm not entirely sure I like using a fake decl just for code 1 // FIXME: one-use check is not needed in general, but currently we are unable 1 // TODO: add parsing of other clauses. 1 /* TODO use these in more places as determined to be needed via profiling */ 1 // FIXME: Add hashing support for the remaining types. 1 # FIXME: Standardize on the builtin echo implementation. We can use a 1 // TODO: there could be several prefixes one after another 1 // FIXME: Remove this one transition to Align is over. 1 // available, or the value operand. TODO: We could do dominance checks to 1 // FIXME: Need to teach this about 32-bit mode. 1 // FIXME: It's not clear what, if any, default this should have - perhaps a 1 // TODO: for now f64 tensors only, no dim ordering, all dimensions compressed 1 // TODO: Support for this type will be added later when the Fortran 2003 1 // FIXME: Do a more careful analysis of x86 to build a conservative 1 // FIXME: We must leave subregisters of live super registers as live, so that 1 // FIXME: it would be better to scavenge a register here instead of 1 // FIXME: These warnings can be removed when lld only uses these features 1 // FIXME: should we clear the other bits in ListWithSameDeclaration? 1 // TODO: Support allocator calls. 1 POST_SYSCALL(compat_60_sa_enable)(long long res) { /* TODO */ } 1 // FIXME: Deal with AttrList. 1 // TODO: allow extraIndices to be added at any position. 1 // TODO: Unify printing code with linalg ops. 1 // FIXME: Add the trimmed whitespace to Column. 1 // FIXME: Keep a file ID map instead of creating new IDs for each location. 1 // FIXME: This is hugely overconservative. 1 // TODO: Use range information. 1 // TODO should we convert this to an AND if the RHS is constant? 1 // TODO: Use an associative array to support multiple vulkan launch calls. 1 // FIXME: Find a spare bit on IdentifierInfo and store a 1 // TODO check only the paths from `parent` to `to`. 1 // FIXME: Instead of printing enums as an integral value and specifying the 1 // FIXME: see function \todo 1 // TODO: enable once decided, in particular re disabling bin packing. 1 // FIXME: The metadata treats the minimum as 16? 1 /// FIXME: When we get time we should add a way for the user to set modules 1 // FIXME: VF 2 for these FP operations are currently just as 1 // FIXME: This is related to the code below to reset the target options, 6 // TODO: this should use the MLIR data layout when it becomes available and 1 // FIXME: Assign a more sensible memory space to static locals 1 // FIXME: For MSVC, we should make a function pointer global in .CRT$X?? so that 1 Layout.Flags = 0; // TODO: Fix this 1 // FIXME: `freopen` should be handled separately because it takes the filename 1 // TODO: Handle errors similar to symbols. 1 // TODO: move TentativeParsingAction here. 1 // FIXME BitVector::operator&= does not resize the LHS but this does 1 // TODO: Is synchronization needed since out of parallel execution? 1 // TODO: This operation is expansive. If it ever gets called multiple times we 1 // TODO: for now we eagerly internalize functions without calculating the 1 // TODO: Here and below portions of the code can be enclosed into if/endif. 1 // FIXME: Do not hardcode. 1 // FIXME: This usage is too tricky and in the future we would like to 1 // TODO: Avoid some calling conventions? 1 // FIXME we should insure programmatically that the expression parser's 1 // TODO: notifiy platform? run static deinits? 1 // TODO: Handle local ids in the source domains while using the 'projectOut' 1 // FIXME: It's uncertain whether or not we should handle this at the moment. 1 // FIXME: Arch specific. 3 // TODO: Support reductions. 1 // TODO: We could enable the following two according to [0] but we haven't 1 // TODO: call BLAS-2 CGEMV(y,x) 1 // FIXME: If we already have a partial specialization set, 1 /// FIXME: This is intended purely as a temporary workaround for code 1 // FIXME: use the AST to do the inference. 1 // FIXME: Eliminate these ...Target functions and derive separate tool chains 1 // FIXME: Should have a helper function like getEquivalentVGPRClass to get the 1 // TODO: Finish graph output support 1 // FIXME: Can we turn that into an assert? 1 " .aaaaaaaa];"); // FIXME: Indentation seems off. 1 // TODO: Would need to remove those in a fix-it. 1 // TODO: What about itt_sync_obj?? 1 // TODO: This is not correct. Given that exp is an integer, here are the 1 // TODO: Remove these multilibs once relative vtables are enabled by default 1 // FIXME: AST may contain remaining references to the failed object. 1 // FIXME: This is a bit quadratic. 1 // FIXME: Is there some better way to support this? 1 // TODO: This could be generalized to number of sign bits (negative numbers). 1

TODO

1 /* FIXME: This can be an either or for RTM/HLE. Deal with this when HLE is 1 // FIXME: the raw_identifier may contain leading whitespace which is removed 1 // TODO: use ranges::min here. 2 // FIXME: Warn on this? 1 // FIXME: This will give bad diagnostics pointing at the wrong functions. 1 # FIXME: Most of these functions are cribbed from LIT 1 // TODO: ARM-style pointers to member functions put the discriminator in 1 # FIXME: need libclang_rt.asan*.a.syms? 1 // TODO: SignaturesWithConstantForms should be empty here. 1 // FIXME: Add a specific mode for C11 6.2.7/1 in StructuralEquivalenceContext 1 /// FIXME: Returns 0 for member pointer call exprs. 1 // FIXME: This is a bit of a hack. Do better. 1 // FIXME: shouldn't this be guarded by some variable? 1 # TODO: Set the path to the Repository directory. 1 // FIXME: Constant splat analysis does not allow undef elements. 1 // FIXME: Horrible hack to handle the BFXIL->BFM, SBFX->SBFM, and 1 // TODO: While this recursion limit does prevent pathological behavior, it 1 // TODO: Verify for stack layout for SysV 1 // FIXME: this overcounts the */ as a continuation of the 12 when breaking. 1 // FIXME: These section checks are too strict: We should match first and 1 # FIXME: support symbols with multiple headers (e.g. std::move). 1 // FIXME: this might not be the best behavior. 1 // FIXME: Fix callers and remove condition on N. 4 // FIXME: If any of the special case versions from InstantiateAttrs become 1 // TODO: handle conflicting names 1 /// FIXME: This specialization should be moved into TargetProcessControlTypes.h 1 // FIXME: only set 'labelOffsets' when all clients migrate out of it. 1 /// FIXME: Consider changing the order in LoopInfo. 1 // TODO: Use a store with the casted new alloca? 1 // TODO: Don't waste that last word if lenParameters == 0 1 // TODO: What would be the balance between the conditions in the function and 1 // FIXME: We should eliminate the need to have ObjCImplementationDecl passed 1 // FIXME: This class is will be removed after the transition to llvm::Error. 1 // FIXME: This check should verify that this is indeed an artificial member 1 // FIXME: Are there other cases for which a custom diagnostic is more useful 1 // FIXME: This function is called multiple times for the same template 1 // FIXME: Remove this when we don't need this: 1 // FIXME:Is it useful to print out the expression for a non-dependent 1 // TODO: consider moving this to ODS. 1 // FIXME: Throw error when multiple sub-architecture flag exist 1 // TODO: Handle the following Index/ID/Predicate cases. They can 1 // TODO: LDS 1 // TODO: Unify with private memory register handling. This is complicated by 1 /// FIXME: upstream this into SetVector/SmallSetVector itself. 1 // TODO: Handle situations when call site parameter value can be described 1 // TODO: handle vXi8/vXi16. 1 // TODO: Currently ParseTypeFromDWARF(...) which is called by ParseType(...) 1 // FIXME: Metadata should be attched directly to the global directly instead 2 // FIXME: in case there is no future sema completion callback after the 1 // FIXME: The dead frame indices are replaced with a null register from 1 // FIXME: Stop lying and consume only the appropriate driver flags 1 // TODO: There may be cases where the object decl is not indexed for some 1 // FIXME: DSP accumulator registers, MSA registers 1 // FIXME: Supporting '-header-cpp-output' would be useful. 1 // FIXME: It would be good to recover by accepting the attributes, 1 // TODO detect tigerlake host from model 1 // FIXME: Validates that repetition-mode is loop if LBR is requested. 1 // FIXME: Should we handle it as an optimization? 1 /* FIXME: No longer have access to handle from CreateFileMapping(). */ 1 // FIXME: We should be tentatively tracking scraped sections and discarding 2 /// FIXME: This currently includes the Preheader and After blocks even though 1 // FIXME: If we have a suggested module for a '#include', and we've already 1 # FIXME: Hashing for SBTypes does not seem to work correctly, uses the typename instead, 1 // FIXME: This limitation makes this feature somewhat useless on object file 1 // TODO: Add a better heuristic to select the loop to be interchanged based 1 /// FIXME: Heed the advice above. 1 # FIXME: asan_ignorelist.txt 1 // FIXME: Less-than 32-bit wchar_t generally means UTF-16 1 // TODO FMT Implement [format.args]/5 1 // FIXME: Why are half the "default" bits ignored based on the addressing 2 // FIXME no floats at the moment 2 InstantiateFunctionDefinition(/*FIXME:*/ Inst.second, CurFD, true, 1 // FIXME: until llvm.memcpy.inline supports dynamic sizes, we need to 1 // FIXME: Manually selecting to avoid dealing with the SReg_1 trick 1 // FIXME: After putting complexity threshold to the symbols we can always 1 // TODO: The subtraction-related identities shown below also hold, but 1 // FIXME: extractelement 1 // FIXME: Make g_dispatch_functions static table of 1 // FIXME: we could support it by stripping all the information introduced 1 // FIXME: attributes and CC 1 // TODO: Once we have extract/insert subvector cost we need to use them. 1 // FIXME: After the tables are shrunk, can we get rid some of the 1 // FIXME: is it possible for the stack to not be a single allocation? 1 // FIXME: This is not covered by the language rules yet. 1 // TODO: support more than single-block regions. 2 // TODO: Register context for a WoW64 application? 1 // FIXME: Make Clang ignore Objective-C accessibility for expressions 1 // TODO: array offset subcomponents must be converted to LLVM's 1 // TODO: clean up created ops on errors 1 // TODO: implement masks 3 // TODO: Mark legacy %VAL and %REF arguments 1 // TODO: consider adding an optional runtime check for an unknown (untested) 1 // FIXME: Maybe we can do this in-place and don't need this additional vector. 1 // FIXME Make sure PIC style GOT works as expected 1 // TODO: Add support to enable MallocChecker to start tracking the raw 1 // TODO: Pushing this in a DFS ordering will greatly speed up the dataflow 1 // TODO: Enable this assert when targets are fixed. 1 // TODO: This can be dropped once support for typed pointers is removed. 1 // TODO: Ideally, what we'd like is to have a switch that allows emitting 1 // TODO: add support for non-zero segment selector size. 1 // TODO: This is a pretty hacky way to do this. Can we do something that 1 // FIXME: Canonical declarations of some symbols might refer to built-in 1 // FIXME: Suffix mapping contains invalid entries for C, so only enable it for 1 // TODO: We should really distinguish between libcall availability and 1 // TODO Correctly handle exception specification in Emscripten EH 1 // FIXME: In the non-ARC case, this will still be a hard error if the 1 FIXME: consider if serializing to JSON would bring interoperability 1 // TODO: Be less conservative. 1 // FIXME: Should use legalizer helper, but should change bool ext type. 1 // FIXME: For absolute pointer addresses, we just return that value back as 1 // FIXME: We should handle the discriminator here, but dsymutil doesn't 1 // FIXME: Ordering here? 1 // FIXME: Doesn't correctly model the FP mode switch, and the FP operations 1 // FIXME: Parse child blocks 1 // FIXME: Add Expr::IgnoreParenImplicitAsWritten() with this definition. 1 // FIXME: missing DW_AT_location is OK here, but other errors should be 1 // TODO: We can do better for PHI nodes. In cases like this: 1 // FIXME: This algorithm is a absolute mess because every TypeLoc returned 1 // TODO: add alloca 1 // FIXME: Taking advantage of MOVT for ELF is pretty involved, so we don't 1 // FIXME: We don't support merging narrow stores with mixed scaled/unscaled 1 // FIXME: Apply AtomicChanges directly once the refactoring APIs are 1 // FIXME: fneg 1 // FIXME: Remove when we migrate over to just using SValBuilder. 1 // FIXME: Clamp for v_mad_mixhi_f16 handled during isel. 1 // FIXME: magic ABI constants. 2 // TODO: We could be 'smarter' and trim these kinds of ranges such that 1 // FIXME: Why are these not lower case? 1 // TODO: Handle complex extract indices 1 // FIXME: Add a more explicit test. 1 // FIXME: For now, we sink only to a successor which has a single predecessor 1 // FIXME do not throw away the lock after we acquire it.. 2 // FIXME for new PM: because of the old PM we currently generate ORE and 1 // FIXME: at the time this code was written, malloc() regions were 1 // FIXME: extend this to post-ra. Need to do some change in getForwardingDefMI 1 // FIXME: For some reason GCC passes -lgcc before adding 1 // FIXME: Need to exclude other relocations that only support specific 1 /// FIXME: This routine should be used very, very rarely, in cases where we 1 // TODO The __mspabi_mpysl*_hw functions ARE implemented in libgcc 1 // TODO: This could be refined a lot. The attribute is a poor way of 1 // FIXME: Concepts: Do not substitute into constraint expressions 2 // FIXME: This is small hack. Given 1 // FIXME: redundant trailing comma should also be removed. 1 // FIXME: Change the GVSummaryMapTy to hold ValueInfo instead of GUID 1 /// FIXME: add condition that models 'expression or variable declaration' 1 PRE_SYSCALL(modctl)(long long cmd_, void *arg_) { /* TODO */ } 1 // FIXME We create a new bitcast for every annotation because that's what 1 // TODO: Support leaf functions; only add size of save+reserved area when 1 // FIXME: Nameless structures used in definitions of 'ABC' and 'CDE' are 2 // FIXME: This is just taking a guess, r3 may very well no longer hold the 1 // TODO: relies on the impossibility of a current and a temporary loads 1 // FIXME: What if we encounter multiple packs with different numbers of 1 // FIXME: GCC does not appear to mangle the template arguments when 1 CharUnits cookieAlign = getSizeAlign(); // FIXME: Ask the ABI. 1 # FIXME: Actually, this is probably an instance of PR6753. 1 // FIXME: libunwind on darwin is broken, see PR49692. 1 // FIXME: I don't see why we shouldn't be supporting multiple predecessors 1 // FIXME: We ought to do this for -integrated-as without -via-file-asm too. 2 // FIXME: We don't support class-specifiers nor enum-specifiers here. 1 // FIXME: Handle only memset for now. Supporting memcpy/memmove should be 1 // FIXME: It isn't at all clear why this is necesasry, but without it we 1 // FIXME: Add a method on \a DILocation that does this work. 1 // FIXME: x86 doesn't implement getInstSizeInBytes, so 1 // TODO: Add support for cancelling requests. 1 // FIXME: change to enterBasicBlockEnd() 1 // TODO The __mspabi_mpyul*_f5hw functions ARE implemented in libgcc 1 // TODO: This might ideally be done better with a dominator/postdominators. 1 // FIXME: If not in C++, shall we translate to the C equivalent of 1 // TODO: Handle cases where Reg is a super- or sub-register of the 3 // FIXME: Clean this up by using an LValue for ReturnTemp, 1 # TODO: change to NamedTuple 1 // FIXME: Update when POWER9 scheduling model is ready. 1 // FIXME: For now, just conservatively guestimate based on unscaled indexing 1 // TODO: notify of error? 1 // FIXME: Unify with TUKind. 1 // FIXME: We need to patch the marks for stale preambles. 1 // TODO: Do we need to clamp maximum bitwidth? 1 // FIXME: Once this has stabilized, consider moving it to LLVM. 1 /// FIXME: remove this once MachineScheduler is the only client. 1 /// TODO: We could use a single addPre/Post(ID) hook to allow pass injection 1 // TODO: Is it worth considering an Operation.clone operation which 1 // FIXME: What if we have no nested-name-specifier? 1 // TODO: Call SimplifyDemandedBits for non-constant demanded elements. 1 // TODO: remove this once we either fix library matching or avoid 1 // FIXME: This code is duplicated from Target::EvaluateExpression, and it is 1 // FIXME - not handling wrong options yet: 1 // FIXME: should be no errors here. 1 // FIXME: Do more range combining. 1 // FIXME: Need to handle arbitrary downcasts. 1 // FIXME: This code needs refactoring as it appears in multiple locations 1 // TODO: Currently the __builtin_popcount() implementation using SSE3 1 // TODO: Handle other methods, such as .get() or .release(). 1 // FIXME: see if we can use the breakpoint id style parser? 2 // TODO: See if we can do a better error than just "invalid ...". 1 // TODO: Why are some tests have "mingw" listed as OS? 1 // FIXME: Maybe this could be a stack of maps that is pushed/popped as we 1 // TODO: ! character min and max is tricky because the result 1 // TODO: this is a very pessimistic cost modelling for Mul, 1 /// TODO: Canonicalize paths on creation. 1 // FIXME: Is this really right? 2 // FIXME: Detect eDebuggerFrame here. 2 // FIXME: Once we get the set show stuff in place, the driver won't need 1 DEF_TRAVERSE_DECL(ObjCImplementationDecl, {// FIXME: implement 1 // FIXME: MSVC doesn't support aligned parameters by value. 1 // FIXME: this does not work with multiple inheritance. 1 // TODO: If ProcModel has a base model (previous generation processor), 2 // TODO: Make previous parameters part of the signature for Objective-C 1 // FIXME: This should be replaced with something that doesn't rely on 1 // FIXME: When using a segment base (like TLS does) we end up with the 1 case Instruction::Fence: // FIXME: refine definition of mayReadFromMemory 1 /* TODO: Only emit this function if we can't use linker magic. */ 1 // FIXME: build corresponding nodes for the name of this namespace. 1 // FIXME: Cache the number on the AL object if non-dependent? 1 // FIXME: This function assumes "this" is the first non-sret LLVM argument of 1 // TODO: bitcast(relocate(p)) -> relocate(bitcast(p)) 1 error("TODO: Implement ARM_RELOC_BR24 for dylib symbols"); 1 // FIXME: Re-enable assert once PR20057 is resolved. 1 // TODO: Track a known state too. 2 // FIXME (Alex L): First selected SwitchCase means that first case statement. 1 // FIXME: We'd like to just use the qualifier in the TemplateName, 1 // FIXME: There are instructions which are being manually built without 1 // TODO: Internal NAMELIST error tests 1 # (TODO: This isn't a very clean model for feature-test 1 // FIXME: These are rare but not impossible. We should output some kind of 1 // FIXME: Can we canonicalize the constant so that it's always on the 1 // FIXME: VLDRS / VSTRS -> VLDRD / VSTRD 1 /// TODO: Create a enum class for the Reserve2Flags 1 ompt_task_implicit); // TODO: Can this be ompt_task_initial? 4 // FIXME: These calls are currently unsupported. 1 // FIXME: I'm not sure if this case holds true outside of copies. If it does, 1 // FIXME: This should be per-kernel. 1 // TODO: This assumes we've done basic processing on all uses and 1 // FIXME: Handle select and phi nodes. 2 // FIXME: Add a test for `hasLocalQualifiers()` that does not depend on C++. 1 // TODO: Store 'srcSet' to avoid recalculating for each depth. 1 // FIXME: Also check the value is odr-equivalent. 1 double jn(int __n, double __x) { // TODO: we could use Ahmes multiplication 1 // FIXME: Return this value to the caller so they don't need to recompute it. 1 {ISD::UMIN, MVT::v8i16, 4}, // FIXME: umin is cheaper than umax 1 // FIXME: Unimplemented. 1 // FIXME: This is a hack; extern variables declared locally should have 1 // FIXME: Do we need to support these? 1 // TODO: In what way do we need to take Reg into consideration here? 1 // TODO: decide on the interface and add support for complex elements. 1 // TODO: This should be implemented by tblgen. 1 // TODO: handles sparse elements attribute 1 // TODO: ConvOp conversion needs to export a descriptor with relevant 1 // TODO: if/when we need finer control add an `opName` parameter. 2 // TODO: This check needs to be extended while implementing nesting of 1 // FIXME: This should be NumberOfRvaAndSizes to match the COFF spec. 1 /// FIXME: remove this in favor of the MachineInstr interface once pre-RA-sched 2 /// FIXME: Seems like a layering violation that the AsmDialect, which is X86 1 // TODO: Could also check for an induction variable containing single 1 // FIXME: Refactor this and the account subcommand to reduce code 1 // FIXME: Try to remove some of the duplication with HoistThenElseCodeToIf. 1 // TODO: handle 'affine.if' ops. 1 // FIXME: Should this function really return keywords too ? 1 // FIXME: this should be able to do something for scalable vectors 1 // TODO: If FNEG had fast-math-flags, they'd get propagated to this FSUB. 1 # TODO: Call the linker explicitly instead of calling the compiler driver to 1 // TODO: VPLoopInfo is initially computed on top of the VPlan plain CFG, which 1 // TODO: This reference is relative to the pic base. not supported yet. 1 // FIXME: This file contains structural duplication with other parts of the 1 // FIXME: Check for blocks support in "to" context. 1 // FIXME: This is bad, we should be wrapping before "() => {". 1 // FIXME: Load constants into registers (e.g. with fld1) to not break 1 // FIXME: Change CC for the whole chain of musttail calls when possible. 1 // TODO: Instructions with multiple defs could have multiple 1 // TODO: We should be able to look up the alternative name for 1 // FIXME: add printing support for the environment. 1 // TODO: support 0-d vectors when available. 1 // FIXME: Get width another way for fir.real/complex 1 // FIXME: These language options are also defined in setLangDefaults() 1 // FIXME: Ascending over StackFrameContext maybe another method. 1 // FIXME: Definition (needs findExplicitReferences support) 1 // TODO: We canonicalize to more instructions here because we are probably 1 Record.push_back((unsigned)E->getReceiverKind()); // FIXME: stable encoding 1 // FIXME: generate fixit for this case. 1 // FIXME: Add any other expr types that could be be seen by the delayed typo 1 // FIXME: This is using the thumb1 only constant value for 1 // TODO: Check if we can use a sparse matrix here. 1 // FIXME: We really want to remove the bogus case stmt from the 2 // FIXME: This should really check the extload type, but the handling of 1 // TODO: Support custom and typed events in the graph processing? 1 // FIXME: this isn't quite right! If there's a final unelided call 1 // opportunities. Don't duplicate them. TODO: When conditional exits are 1 // TODO: Make sure fmin_legacy/fmax_legacy don't canonicalize 1 // TODO: We could support non-identity map as long as the merged 1 // TODO: Drop this assertion and the transitive type traits anytime after 1 /// TODO: Should LTO cause any differences to this set of passes? 1 # FIXME: Also, the executable can't find libclang.dll since that's 1 // FIXME: This is not a context in which a '<' is assumed to start a template 1 /// decltype-specifier :: FIXME: not implemented, but probably only 1 break; // FIXME: can this actually happen in TemplateArgumentLoc? 1 // FIXME: This pressure check is fundamentally broken. First, this is checking 1 // TODO: For TFE with d16, if we used a TFE type that was a multiple of <2 x 1 // FIXME: Mangling? 1 // but currently this check is under a FIXME and is not actually done. 2 return false; // TODO support the mode. 1 // FIXME: remove macro with ID if it is undefined. 1 // FIXME: No source location information! 1 // FIXME: We may be able to use the NumToSkip values to recover 1 // TODO: unify the error message. 1 // TODO: report the error up the stack. 7 // FIXME: many of these accesses do not need to be checked for races 1 // TODO: Determine a scheme to resolve when the labels are similar enough. 2 // FIXME: Move this to a separate method, so that CreateASTConsumer doesn't 1 // FIXME: We use the 'unsafe' accessor for the access specifier here, 1 // TODO: We might want to report double free here. 1 // FIXME: FMF is allowed on phi, but propagation is not handled correctly. 1 // FIXME: Division expansion needs to preserve the dominator tree. 1 // FIXME: In AArch64ISelLowering, this isn't worked around. Can/should we try 1 // FIXME: Do we need to guard against integer overflow? 1 // FIXME: We should accept a PreservedAnalysis from the CG updater so that if 1 // TODO: Handle other cases. For now, fail to find construction contexts. 1 # TODO: switch to -pthread once the rest of the build system can deal with it. 1 // TODO: This could probably be generalized to handle other overflow-safe 1 // TODO: Do we care about column on these entries? If so, we need to plumb 1 // FIXME: better error handling. Keep the behavior for now. 1 // TODO: We can select this with f32 denormals enabled if all the sources are 1 // FIXME: Once we implement scope handling, we want the parent region 1 // FIXME: Also emit the constant initializer value. 1 // TODO: pthread_rwlock_destroy(1 argument). 1 // FIXME: Remove respondsToCallback from CheckerContext; 1 // TODO: This works, but what actual alignment requirements do we have? 1 // CSFDO-TODO: This could be slow, change AllChildContext so we can 1 /// TODO: Create a custom, unrelated node for DW_TAG_array_type. 1 // TODO: Only a sanity check for now. Add more edge cases when the 1 // FIXME UnwindPlan::Row types atDWARFExpression and isDWARFExpression are 1 // TODO: some diagnostics if failure to vectorize occurs. 1 // TODO: implement over-aligned alloca. (Note: also implies 1 // TODO: Refactor to use built-in conversion functions 1 // FIXME there is no actual debug info here 2 // FIXME: It would be helpful if we could look up the initial file and inlinee 1 // FIXME Should we remove these Decls from the LookupTable, 1 // FIXME: The hint threshold has the same value used by the regular inliner 2 // TODO: support reduction parallelization too? 1 // TODO: improve the filtering condition to make it more applicable. 1 // TODO: We'd doing two recursive queries here. We should factor this such 1 // FIXME: Eventually migrate into its own file, and have it managed by 1 # FIXME: Should we have a tool that enforces this? 1 // FIXME: Is there a defined extension notation for the MS ABI, or is it 1 // TODO: Handle G_OR used for add case 1 consumeError(std::move(Err)); // FIXME this drops errors on the floor. 1 // FIXME: Going to the primary template here isn't really correct, but 1 // FIXME: we should try to use the file locations for other fields. 1 // FIXME: at the moment the implementation 2 // FIXME: this state can be merged with (1), but the following assert 2 /// TODO: This isn't per-function state, it's per-basic-block state. But 1 // TODO: Check the type of the callee arguments. 1 // TODO: Figure out what to do if we fail to allocate any more stack 1 // FIXME: We could probably with some care handle both volatile and atomic 2 // FIXME: We should dyn_cast this when supported. 1 // TODO: also hoist in the dynamic case. For now this relies on subsequent 1 // TODO: consider having such functionality inside AsmParser. 1 // FIXME: This should be target-independent, inferred from the types declared 2 // FIXME: this is overly conservative. 1 // FIXME: We should find a nicer way to make the labels for metadata, string 1 // FIXME: Handle ds_read2 / ds_write2. 1 // FIXME: Per-identifier location info? 1 // FIXME: Once we implement scope handling, we will need to properly lookup 1 // FIXME: Eventually support symbolic offsets. 1 // TODO: handle non-unit strides. 1 // GEH - TODO: fix this to copy parent task's value of tasking_ser flag 1 // TODO: Add more intrinsics. 1 // correctly, so we need to cast to i8*. FIXME: is this actually 1 // FIXME: Can we also match a mixed sext/zext unscaled/scaled pair? 1 // FIXME: use the result to filter out symbols. 3 // TODO: we can support transforming reduce to VNNI intrinsic for across block 1 // FIXME: Locating macro in duplicate definitions doesn't work. Enable 1 // FIXME: We need to track the instantiation stack in order to know which 2 // FIXME: Produce this as the current token directly, rather than 1 // TODO: May be able to widen depending on alignment etc. 1 // FIXME: We don't really know where to find the 1 CPol |= AMDGPU::CPol::GLC; // TODO no-return optimization 1 // FIXME: Doesn't consider the order of declarations. 1 // TODO: Handle other predicates. 1 // FIXME: Can this ever happen? 1 // FIXME This logic was written around x86_64 behavior -- ARM64 doesn't 1 // FIXME this may need to be an architectural-dependent behavior; if so we'll 1 // FIXME: Doesn't collect files from umbrella header. 1 // FIXME: There aren't many uses of CommaJoined -- try removing 1 /// FIXME: consider supporting more completion cases with this option. 1 // FIXME: this function returns either a LangAS or a target AS 1 // FIXME: show references to macro within file? 1 // FIXME: This should not be treated as a SFINAE context, because 1 // TODO: Add a check for optional regions here when ODS supports it. 1 * FIXME: We should consider moving other platform defines to use this technique 1 // FIXME: We could fold any GEP index to zero that would cause UB if it were 1 // TODO: Should this try to look through readfirstlane like GWS? 1 // TODO - support non-uniform vector amounts. 3 // FIXME: Handle huge page requests (MF_HUGE_HINT). 1 // FIXME: This is inconsistent; we usually suggest detecting 1 // FIXME: This should use ConsumeExtraSemi() for extraneous semicolons, 1 // FIXME: If there are more than one transformation in the LoopMD (making 1 // FIXME: Need much better heuristics. 1 // FIXME: switch 1 PRE_SYSCALL(__acl_delete_file)(void *path_, long long type_) { /* TODO */ } 1 // FIXME: it would be better to scavenge a register here instead of 1 // FIXME: Once we properly handle constructors in new-expressions, we'll 1 // FIXME: SelectionDAG always passes false for 'AllowOverlap', apparently due 1 // TODO: capture ops with consistent numbering so that it can be 1 // FIXME: Improve overload handling. 1 // FIXME: Why isn't this the type alloc size? 1 // TODO: Remove these as they're deprecated; use the AttrList exclusively. 1 // TODO: Add support for DW_OP_push_object_address within a DW_OP_entry_value 1 // FIXME: This is a heuristic that works around the fact that 1 // FIXME: Currently emit unprefix'ed registers. 1 // FIXME: we probably need a size limit here, but we've 1 // FIXME: This is a hack. There should be a better way to determine this. 1 /// FIXME This is a workaround because we don't support certain ARM 1 // FIXME: Expose the type name so we can also insert using declarations (or 1 // FIXME: fix this properly, https://reviews.llvm.org/D100388 1 // FIXME: LLVM hard-codes its prologue values. We just copy the 1 // TODO: This may be unsound, because it only catches some forms of 1 // TODO: Should generalize bitcast action into coerce, which will also cover 1 // TODO: This can be generalized in two important ways: 1 // FIXME: We should probably in some way ensure that the subtarget 1 // TODO: We should be able to take the intersection of the existing 1 // TODO: Generic fusion is not fully implemented by fusion utilities yet. 1 // FIXME: insert empty lines between newly created blocks. 1 // FIXME: This is probably unnecessary, since Ty should reference RD 1 // FIXME: NECESSARY??????????????????????????????????????????????????????????????????????? 1 // TODO: This check does not recognize `IndirectGotoStmt` which is a 1 // TODO: checker for method calls on non-refcounted objects 1 // TODO: Needs a test case once we have a pattern that uses this. 1 # FIXME: Because of the way nested function scopes work in Python 2.x we 1 // FIXME: Handle the enum constant without prefix qualifiers (`a = Green`) 1 // TODO: perhaps we need a new symbol type ST_Section. 1 // FIXME (Alex L): Test for BlockDecl. 1 // FIXME: use RequirementDependence to model dependence? 1 // FIXME: for ObjCId, ObjCClass, and ObjCSel, make sure that the "to" 1 // TODO: Assign() 1 // FIXME: This is not optimal recovery, but parsing the body is more 1 // FIXME: This stealth ownership transfer is horrible. This will probably be 1 // TODO: Implement more Scalar TTI for WebAssembly 1 // TODO: implement evaluation of strdup/strndup 1 // FIXME: We have to enter REG-EXCESS before we reach the actual threshold 1 # FIXME: These are only included from .cpp files at first glance. 1 // TODO: Figure out any more contexts in which we can omit the surrounding 1 // an integer. FIXME: performAddrSpaceCast 1 // FIXME: Limit to scalars for now. 1 // TODO: Report error. 6 // TODO: This is copied from a previous implementation. Is it necessary? 1 /// TODO: Also support a - UMIN(a,b) patterns. 1 // TODO: Normalize the other types of dynamic memrefs. 1 // TODO Conform with all supported Motorola ASM syntax 1 assert(getChild(0)->getNumTypes() == 1 && "FIXME: Unhandled"); 1 // FIXME: Should the following dyn_cast be DILexicalBlock? 1 // TODO: investigate what if we remove "if" below and run algorithm on range [__first, __last-1) 1 // FIXME: Is there a better way to do this? 1 // FIXME: Is CurContext correct for this? Should we go to the (instantiation 1 // TODO: Don't scalarize on Evergreen? 1 // FIXME: Is it possible to create an ExprWithCleanups that produces a 1 PRE_SYSCALL(compat_50_settimeofday)(void *tv_, void *tzp_) { /* TODO */ } 1 llvm::report_fatal_error("TODO: substbase of MutableBoxValue"); 1 // TODO: Provide a helper to determine the implied ABI alignment and check in 1 // FIXME: The other checks should be redundant with allStackObjectsAreDead, 1 /// [!C99] init-declarator-list ';' [TODO: warn in c99 mode] 1 // TODO: implicit barrier: should be exposed 3 // FIXME: This should be done using Requires and 1 // FIXME: In C++0x, a constructor template can be a default constructor. 1 // TODO: Evolve toward matching ReturnLike ops. Check for aliasing values that 1 "// FIXME: long", 1 // TODO: Support other compilers here 1 // FIXME: add a fir::is_integer() test 2 // FIXME: Move the tentative declaration logic into ClassifyName so we can 1 // FIXME: remove TI here, `DuplicateInstructionsInSplitBetween` has a bug 1 // FIXME: While there's only one unary transform right now, future ones may 1 // FIXME - We should go through and figure out which lock kind works best for 1 // TODO: Update the histogram as well when we have it ready. 1 // TODO: Delete this once psABI reserves a new relocation type for fall thru 1 // FIXME: This is unsound because these functions could be indirectly called 1 // FIXME: This may not be useful information as it can be obtusely gleaned 1 // TODO: Add dynamic asserts for negative lb/ub/step, or 1 // FIXME: Handle <=> here. 1 // GEH - TODO: fix this to copy parent task's value of team_serial flag 1 // TODO: cdbg_user 1 /// defined. We should not need this, see FIXME in GenerateProtocol. 1 // FIXME: remove usage from ClangdLSPServer and make this private. 1 // FIXME: Add the Encoding parsed fields as needed for checks, 1 // TODO: This is debug information embedded in the binary which should be 1 // TODO: Handle LICM 1 // FIXME: Pass should maintain scavenger to avoid scan through the block on 1 // TODO: remove reloc sections for the removed section, handle symbols, etc. 1 // TODO: Consider making this a failure. 1 // TODO: Emit Arg.mActualAccQual. 1 // TODO: Attach return value attributes to the 1st operand to preserve them? 1 // TODO: The logic here checks only that the function is address taken, 1 // FIXME Merge the functions into one decl. 1 // FIXME: Just check this once on startup. 1 // FIXME: It isn't clear whether this is really the right place to run this 1 /// FIXME: We might be able to simplify this by having the asm streamer create 1 // FIXME: PDB does not have information about scoped enumeration (Enum 1 // TODO: we might need to add a parameter to this function in case the byte 2 // TODO: use DWARF info to get size/alignment here? 1 ! TODO c_f_procpointer 1 // TODO: Refine based on subtargets which support unaligned access or 128-bit 1 // FIXME: In very big clones even multiple variables can be unintended, 1 // FIXME: For a c-style function nested inside an objc implementation 1 /// TODO: disallow arith.constant to return anything other than signless integer 1 // TODO: expand to writeable arguments 1 // FIXME: add detail messages. 1 // FIXME: implement testing for #assert's. 1 // FIXME: We should probably just synthesize an external symbol and use 1 // FIXME: Do we want to warn about subframeworks without umbrella headers? 1 // TODO: Can any fast-math-flags be set on these nodes? 1 COMPPGM2(enable_exception, compute_pgm_rsrc2_excp_en, EXCP_EN), // TODO: split enable_exception 1 // TODO: We could make use of this to do it once for blocks with common PHI 1 // FIXME: Use the name from \c DirectoryEntryRef. 1 // FIXME: a ClassTemplateSpecialization or CXXRecordDecl can have 1 // TODO: Handle the case when both Ptr1 and Ptr2 are GEPs of some common base 1 // FIXME: Make this configurable? 1 // FIXME: SEHFinallyStmt 1 // TODO: Add some test cases that ensure this is really the right choice. 1 // FIXME: #pragma clang attribute does not currently support statement 1 // TODO: Unary ops are trivially OK, so accept SGPRs? 1 # TODO: Linalg verification does not currently allow symbols. 1 /// TODO: Handle types of Instructions which can be equal even with different 1 // FIXME: -fembed-bitcode -save-temps will save optimized bitcode instead of 1 POST_SYSCALL(compat_12_oreboot)(long long res, long long opt_) { /* TODO */ } 1 // FIXME: We will have to rework the repairing cost model. 1 /// information about how the use may be satisfied. TODO: Represent multiple 1 // FIXME: Can we use assume() without getting into an infinite recursion? 1 // TODO: Only parse the name if it's a MachineBasicBlockLabel. Deprecate once 1 // FIXME: This largely duplicates what we would do below. The difference 1 // FIXME: Compatible calling conventions. 1 // FIXME: I'm not sure what this is. 2 // TODO: Since fp32 is expanded, the shuffle cost should always be 0. 1 // FIXME Check for ODR error if the two definitions have 1 // FIXME rounding mode needs to be more flexible 1 // FIXME: Use _LIBCPP_DIAGNOSE_WARNING to produce a diagnostic when __src 1 // TODO: Only Try to form v2s16 with legal packed instructions. 1 // FIXME: Understand exactly what cases this addresses and 1 // Places where BLAS routines could be called are marked as TODO items. 1 // duplexes. (TODO: This will invalidate the L4_return* instructions to form a 1 // FIXME: This is ugly, find a better way. 1 // processed. FIXME: Double check this 1 // FIXME: This is ugly and coupled. Make transferCompileCommand ensure it? 1 // FIXME: select 1 // FIXME: Offsets greater than 16 bits are not yet implemented. 1 POST_SYSCALL(compat_60_sa_yield)(long long res) { /* TODO */ } 1 // TODO: Use local table in methods to avoid this mutable member. 1 setBooleanVectorContents(ZeroOrOneBooleanContent); // FIXME: Is this correct? 2 // FIXME: If the name resolves to a file with different stat information, 1 // FIXME: Support all forms of 'template' unqualified-id '<'. 1 // FIXME: It would be better to insert this before a waitcnt if any. 1 // FIXME: move this to the DAG Combiner! Note that we can't regress due 1 // FIXME: Avoid quadratic complexity. 1 // FIXME: PATCHPOINT instructions announce a Def that does not always exist, 1 // FIXME: right now we just discard the packet and LLDB queries 1 // FIXME add continue at address support for $C{signo}[;{continue-address}]. 1 // TODO: Could probably handle variadic functions. 1 // TODO: We could do cycle-checking on the memory phis to allow valueizing for 1 /* TODO clean the threads that are a part of this? */ 1 // TODO: DBG_LABEL 1 // FIXME: Move to ASTMatchers. 1 // FIXME: Filter the bogus crossing function range. 1 // FIXME: Should this be an assert? 1 // stage is occupied. FIXME it would be more accurate to reserve 1 // FIXME: for now initialize MCObjectFileInfo with default values 1 /// TODO: We should upstream the methods in GenericOptionParser to avoid the 1 // TODO: An actual implementation for non Posix system should be added. 1 // FIXME: These probably don't need to be ints. int:5 for depth, int:8 for 1 // FIXME: Implement better conflict handling. 1 // TODO: When the Max Complexity is reached, we should conjure a symbol 1 // TODO: This is largely obsolete now. Will need to be removed 1 // TODO: Perform appropriate actions according to the data-sharing 2 // TODO: Investigate promotion cap for O1. 6 XRAY_NEVER_INSTRUMENT { // FIXME: Implement in arm? 1 // FIXME: Optimize to allow individual templates to be deserialized. 1 /// FIXME: 'use-external-name' causes behaviour that's inconsistent with how 1 // FIXME: This is a manually un-factored variant of the basic code inside 1 // FIXME: We should be able to get rid of this method and use the va_arg 1 // TODO: VLEN might be capped at 16 bits in a future V spec update. 1 // TODO: move helper function 1 ## TODO: This define is only used for the legacy atomic operations in 1 // TODO: Verify the popping of dirContext requirement after nowait 2 // FIXME: the entry block will hold function parameters. 1 // FIXME maybe? 'strerror_buff_size' is likely to exceed the 1 // FIXME Add some kind of record of which DIE names have already failed and 1 // TODO: Handle specific intrinsics. 1 // TODO: parent_team->t.t_level == INT_MAX ??? 1 using AnyArgExpr::AnyArgExpr; // FIXME: Same. 2 // TODO: This should become an "emit thread local global" method on TLOF. 1 // TODO: formatted_raw_ostream uses "column" to mean a number of characters 1 // TODO Handle filters (= exception specifications). 1 // TODO: We could try sorting the objects to find a hole in the first bytes 1 // TODO: Determine whether default case is reachable. 1 // FIXME: There should probably be logic here to find libc++ on Windows. 1 // FIXME: We should be able to handle this in TableGen as well. It would be 1 // FIXME: Add support for wrapping and running statements. 1 // TODO: Drop this once tensor constants work in standard. 1 // TODO: Do this for vectors too? 1 // FIXME: We are not able to determine the compile unit. 2 // FIXME: Provide identifier based completions for the following contexts: 1 // FIXME: We also do not attempt to look through Phi/Select's yet, which might 1 // TODO: 3 // TODO: We could also add a flag to allow operations to opt in to this 1 return ArgType(); // FIXME: Is this a known extension? 1 // FIXME: This is probably a bug in gtest. EXPECT_TRUE should expand to 1 // FIXME: Move this check into Instruction::willReturn. 1 // TODO: generalize! 1 // TODO: This is one area where the optimization could be made more 1 // FIXME: using toValue to get the type won't work with array arguments. 1 // FIXME the final character of a JSON dictionary, '}', is the escape 3 // FIXME: Currently we only generate a diagnostic for the first header. Give 1 // FIXME not sure what the _sigtramp equivalent would be on this platform 1 // FIXME: SEHExceptStmt 1 // FIXME: readonly #1? 1 // FIXME: check for the largest legal type we can load/store to. 1 // FIXME: Memoize so that selection is evaluated only once. 2 // FIXME: These translations are supposed to be removed when lit tests that 1 // TODO: This doesn't necessarily capture all potential cases. 1 /// TODO: The pass is missing zero-trip tests. 1 /// TODO: A large part of this logic is duplicated in InstSimplify's 1 // FIXME: Pass in a correct Pattern argument, otherwise 1 // FIXME: Should UMI be deallocated/destroyed? 1 // FIXME: shared because std::functions (and consequently 1 // FIXME: better printing for dependent type 1 // FIXME dereferenceable should be correct here, regardless of 1 // FIXME: If this is a fixed-arity pack expansion from an outer level of 1 // FIXME: see if alignment helps. 1 // TODO: handle other conditional instructions (e.g. CSET) 1 // TODO: This is loading value of the scalar into registers 1 // FIXME: These are taken from the heuristic-based cost visitor: we should 1 // FIXME: Consider using SpecialCaseList to specify a list of functions that 1 // FIXME: This seems like a pretty lame hack. The way this comes up is when we 1 // TODO: lck_rw_alloc_init(2 arguments) => returns the mutex. 1 // FIXME: should not overwrite ASTMutationListener when parsing model files? 1 // FIXME: a more precise solution would require an interprocedural 1 // FIXME: Need to actually do the number of candidates part above. 1 // FIXME: Missing definition of 2 /// FIXME: VTTs are Itanium ABI-specific, so the definition should move 1 // FIXME: getCanonicalName might fail to get real path on VFS. 1 // TODO: support 0-d corner case. 16 // FIXME: Add proper Windows support to AnsiColorDecorator and re-enable color 1 // FIXME: This should be removed when template instantiation propagates 1 // FIXME: We should also get rid of inline qualifier. 1 // TODO: DOT_PRODUCT, NORM2, PARITY 1 // FIXME: We could enforce CurrentSet intersect Required == {} here if we 1 // FIXME: finishing the function body while in an expression evaluation 1 // TODO: use a dedicated constant for ImpossibleCost. 1 // TODO: Factor this out + handle the lower level const pointers. 1 // FIXME: 's...' is a declarator and '{...}' is initializer 1 // FIXME: Instead of relying on the ParentMap, we should have the 1 // TODO: use the dependence analysis to check for 1 switch (Tok.getKind()) { // FIXME: move this predicate somewhere common. 1 // FIXME: We should be able to use for any target that has an 1 // TODO: OpEmitter should not have a Record directly, 1 // FIXME: 'local constant', for example, const char var[] = "abc", declared 1 // FIXME: The current argument materialization hook expects the original 1 // FIXME: There are leaks from checkers that assume that the BugTypes they 1 // TODO: UTF-8 encoding 2 // FIXME: This is a workaround for https://llvm.org/PR42914, 1 /// TODO: Initialize the list of memory accesses. 1 // TODO complex.constant 1 // TODO: The ABI requires an extra load. not supported yet. 1 // FIXME: We could skip this at the cost of longer encodings with AVX-512 1 // FIXME: Are initializers affected by volatile? 1 // TODO: There are 16 FCMP predicates. Should others be (not) canonical? 1 // TODO: This function does not do the right thing when SignBitOnly is true 1 // FIXME: Support Microsoft's __super 1 // TODO: Find a way to share the split file marker with other tools. We don't 1 // TODO: Vector types with more than four elements can be translated into 1 // TODO: Reduce the weight by exploiting nsw/nuw? 1 // FIXME: Not done properly for some reason. 1 // FIXME: Stmt::SwitchStmtClass is worth handling, however it is a bit 1 // FIXME: we should apply the qualifier types to the indirect fields 1 // FIXME: 'tag' should be removed, and a LocationContext should be used 2 /// TODO: Co-allocate the expression elements. 1 // TODO: Add notes about the actual and expected state for 1 // TODO: Explore whether it would be profitable to pre-compute and store 1 // TODO: If intrinsics have fast-math-flags, propagate them. 6 // FIXME: Should we just use 'normal' FP_EXTEND / FP_TRUNC instead of special 1 /// FIXME: Keeping this here seems like a big layering issue, we should look 1 // TODO: Is register only support adequate? 1 // Update e_header flags. See the FIXME and comment above in 1 // FIXME: push both code fragments down and CSE them? 1 /* TODO: Add support for the case where there are multiple CFI instructions 1 // FIXME: If we're only computing linkage, can we bail out here? 1 // FIXME: We should **not** skip non-inline namespaces. 1 // TODO: This default value follows MSan. DFSan may use a different value. 1 // FIXME: The old redeclaration context is not handled. 1 /// FIXME: Technically 0 is a valid hash. 1 // TODO: Turn it into signed long 1 // FIXME: Remove this and make the appropriate fields public. 1 // FIXME: We can possibly optimize this later to cache this value. 1 // TODO: propagate field offsets 1 // FIXME: capture TypeAliasDecl and UsingDirectiveDecl 1 // FIXME: we could special-case undef element, IFF we know that in the 1 // TODO: Make this return something (an AggregateError?) that gives more 1 // FIXME: Handle known negative input? 1 {"HALF_SECTDIFF", /* FIXME populate this */ B(_0)}, 1 // FIXME: Currently we insert temporary destructors for default parameters, 1 # TODO: We should split out host vs. target here. 1 // FIXME: If we want to support export, we probably need to add the 1 /// TODO: We should probably use an on-disk hash table (stored in a 1 // FIXME: We are at an unreachable point, there is no reason to emit the block 1 // FIXME: When direct register moves are implemented (see PowerISA 2.07), 2 // TODO: why aren't we using isa_integer? investigatation required. 1 // Add number of children. TODO: Handle case where we have more than 256. 1 // FIXME: This should probably use a class hierarchy, raw pointers between the 1 // FIXME: dsymutil-classic compatibility. I'd rather not 1 /// FIXME: output seems suboptimal when one of the operands is a constant 1 continue; // FIXME: Report a reference to a non-existant type. 1 // TODO: The error should be propagated up the stack. 1 // FIXME: Refactor these attributes as LLVM attributes instead of string 1 // FIXME: Support string-literal module names here. 1 // Be conservative and don't widen into a sibling loop. TODO: If the 1 // TODO: For a 32-bit target, we need to adjust the LEA variables with 1 //: TODO: add here the missing jmp instructions once they are implemented 1 // TODO: We need to complete this mapping of COFF symbol types to LLDB ones. 1 // FIXME: This could check for UndefValue because it can be merged into any 1 // FIXME: We'll need to have a way to manually override this as needed. 1 // hostrpc interface, FIXME: consider moving to its own include these are 1 // FIXME: This is copy&pasted from Sema. Put it in a common place and remove 1 // TODO: Put your matchers here. 1 pint_t getLastPC() const { /* FIXME: Implement */ return 0; } 1 // TODO: once the constraint manager is smart enough to handle non simplified 1 // TODO: llvm-objdump sets the type_ptr to the 1 // FIXME: use fold expression in C++17 1 // FIXME: Predicates should stop this from reaching here. 1 /// TODO: Allow UDivExpr if we can find an existing IV increment that is an 1 // TODO FMT Validate whether lazy creation is the best solution. 1 // FIXME: Figure out how to specify paths so the following tests pass on 1 // TODO: Enhance logic for other casts and remove this check. 1 // FIXME: Check for failure. 1 // TODO: Any other instructions to be added here? 1 context_.Say("TODO: %REF() argument"_err_en_US); 1 // TODO: remove the G_AND via demanded bits analysis. 1 // FIXME: We really need to improve the relocation validation. Basically, we 1 // TODO: investigate this further. PPCG calls collect_call_domains. 1 // FIXME: Track references. 1 // TODO: We could rewrite post visit to eval call; 'malloc' does not have 1 // TODO: We should be able to merge physical reg addresses. 1 // FIXME: Remove this once LTO.cpp honors config->exportDynamic. 1 // TODO: This needs checking to see the impact on compile-times, which is why 1 // FIXME: We just need to make the nan quiet here, but that's unavailable 1 // TODO Currently we don't generate imported exceptions, but if we do, we 1 // FIXME: support moving typedef, enums across namespaces. 1 // FIXME: true for safety, false may still be correct. 1 // FIXME: This class is only here to support the transition to llvm::Error. It 1 PRE_SYSCALL(sysarch)(long long op_, void *parms_) { /* TODO */ } 1 // TODO: create utility functions for these checks in Linalg 1 // TODO: optimized implementation using constant values 2 // FIXME: don't do catch yet. 1 // Only include names that correspond to user variables. FIXME: We should use 1 // FIXME: __BOOL__ should not be defined under -std=c89. 1 // TODO: Blocks should be either inlined or should call invalidate regions 1 // TODO: should we report variant information for ctors/dtors? 1 // TODO: 7 // TODO: Return the number of reachable queries. 1 // FIXME: Implement this optzn for PPC64. 1 // TODO: Arbitrary choice, could be improved 1 TODO: The original parser relies on parse ordering to arrive at the 1 // TODO: Serialize unnamed LLVM alloca reference. 1 // FIXME: selector is missing here! 1 // TODO: Change to CharTy when we support symbolic casts 1 // FIXME: at run-time detect assembler capabilities or rely on version 1 Record.push_back(E->getCastKind()); // FIXME: stable encoding 1 // FIXME: Add a similar test that does not depend on C++. 1 // FIXME: This is a temporary hack to allow a single instructionClobbersQuery 1 // TODO: This should either (a) not be in the SDNode hierarchy, or (b) not 1 // TODO: check if we should be setting the promotion type too? 1 // TODO: Add remaining reduction operations. 3 // FIXME: Cleanup this code, these bits should be emitted based on semantic 1 // FIXME: base currently unused. Needs manual work to construct the new locale 2 return false; // TODO: Handle multiple return values. 1 // TODO: Support vector constants. 1 // thread that is attached to via the (FIXME implement) OnThreadAttached () 1 // FIXME: We should return 0 when building kexts. 1 // TODO: DEFAULT_WEIGHT makes sense during static predication, when none of 1 // TODO: fill in FPU regs.... 2 // TODO: This add likely already exists in the loop. 1 // FIXME: For ifunc related functions we could iterate over and look 2 /// FIXME: allow mappings into macro arguments. 1 // TODO: Rework error reporting once diagnostic engine is exposed 3 // FIXME: Figure out whether this makes sense. It doesn't affect the 1 // TODO: `.d` should be eventually removed once `-M` and its variants are 1 // FIXME: warn that 'exestr' is deprecated. 1 // FIXME: Despite the accessor name, the offset is really in bytes. 1 // TODO: copy over pure symbolic constraints from this and 'other' over to the 1 // TODO: This seems to hide a bug in the declare variant handling. If it is 1 // FIXME: In this case, we should not add this decl to the lookup table. 1 // TODO: go grab dims when necessary, for now PadTensorOp returns a static 1 // FIXME: This may not be lambda-friendly. 1 // FIXME: Deal with non-primitive types. 1 break; // FIXME: We only generate one warning for each declaration. 1 // FIXME: ObjCClassRef/ObjCProtocolRef for forward class/protocol 1 // FIXME: Recurse into array types. 1 // FIXME: Implement... 1 Record.push_back(E->getBridgeKind()); // FIXME: Stable encoding 1 // FIXME: Generalize this for even non-member global variables where the 1 // FIXME: We can probably avoid the recomputation of all dependences by 2 // FIXME: This is needed only to preserve calls in print() results. 1 // TODO: There are a lot of Simplify*'s we could call here, if we 1 // TODO: extend the slicing utility to compute slices that 1 PRE_SYSCALL(compat_60_sa_yield)(void) { /* TODO */ } 1 /// TODO: Its semantics w.r.t undef requires further discussion; we need to 1 // FIXME: Report errors through EPC once that functionality is available. 1 // TODO: extend this for arbitrary affine bounds. 1 // FIXME: format lazily, in case vlog is off. 1 // FIXME: Do all fixed-point types represent zero as all 0 bits? 1 PRE_SYSCALL(compat_13_sigpending13)(void) { /* TODO */ } 1 // TODO: make these trailing objects? 1 // FIXME: Do we need to adjust the penalty? 1 // TODO: add a fake entry for the folded instruction so that this is 1 // FIXME: what about CC and IdxReg? 1 // FIXME: this is a known good value for Yonah. How about others? 1 // FIXME: Conservatively refuse to convert an instruction which isn't in the 1 // TODO: Avoid meta instructions other than dbg_val. 1 // TODO: check if this sequence can be hoisted above __kmp_task_start 1 /// TODO: The following accessors don't take alignment rules between elements 1 // FIXME: Emit location directives 1 // TODO: We could shrink the load and fold if it is non-volatile. 1 // FIXME: Should not be querying properties of types from the parser. 1 // TODO: Have some sort of hint or other heuristics to guess occupancy based 1 // TODO: Cache dependence analysis results, check cache here. 1 // FIXME: Once we get the set show stuff in place, the driver won't need 1 // TODO: support MULTILIB_REUSE 1 // TODO: Allow atomic swap and bit ops for v2s16/v4s16 1 // FIXME: Add the missing header to the header file where the symbol comes 1 // TODO: Currently argument values separated by space e.g. 1 // FIXME: Try this before emitting the fixit, and suppress diagnostics 1 // TODO: Does WebAssembly need to care about setjmp for register coloring? 1 # FIXME: Several of the config settings go in a global config header but 1 // FIXME: Ideally, all the diagnostics in a group should have the same 1 // FIXME: We may be able to do better in the face of results with mixed 1 /// FIXME: a bitfield is not a reasonable abstraction for talking about 1 /// TODO: Per PR2563, we could infer value range information about a 1 // TODO: save comma locations if some client cares. 1 // FIXME: what about constant pools? 1 // TODO: Encode more debug instructions. 1 // TODO: Add support for different source vector width. 1 // FIXME: Is this still necessary? 1 // FIXME: Assert the answer is sane once we handle .macro correctly. 1 0xFFFFFFFFu, 0xFFFFFFFFu}, // Intel MCU // FIXME: is this correct? 1 TODO: Add a picture. 1 // TODO: It might be beneficial to select RISBG and shorten to AND instead. 1 // FIXME: check whether all uses of Base are load/store with foldable 1 // FIXME: multicharacter literals such as '\xFF\xFF\xFF\xFF' 1 // FIXME: Avoid the allocation/copy if at all possible. 1 /// FIXME: This interface is prone to being used incorrectly. 1 // TODO: cleanup all the convolution vectorization patterns. 1 # FIXME: `-Wl,-bE:` bypasses whatever handling there is in the build 1 // FIXME Enable it, once the check is implemented. 1 // FIXME: Assume only the first tree is the pattern. The others are clobber 1 // TODO: Handle long double in other formats. 1 // FIXME: String literal breaking is currently disabled for Java and JS, as it 1 // FIXME: Put in the same order is DeclNodes.td? 1 // bail out. TODO: we might want to accept limited recursion. 1 // FIXME: Move backend command line options to the module. 1 // FIXME: Should we support init_priority for thread_local? 1 // FIXME: fpow has a selection pattern that should move to custom lowering. 1 // TODO: This needs to consider the correct type system to use. 1 // FIXME: This currently contains the set of StoredDeclMaps used 1 // FIXME: Shouldn't this just filter on llvm.metadata section?? 1 // TODO: This code assumes that the PrologExit (or the LatchExit block for 1 // TODO: what if A is VOLATILE in A%B%C? need a better test here 1 // TODO: "LargestSize" is an approximation for "largest type that 1 // FIXME: If the type is wider than it needs to be, e.g. i8 but all values 1 // TODO: Support construction of string elements. 1 // FIXME: We should actually use two different concepts for analysis results 1 return error("expected '}'"); // FIXME: Report a note that shows '{'. 1 // TODO: We could fully implement merge semantics here if needed. 1 // FIXME: We use ManagedStatic to erase the pass registrar on shutdown. 1 // FIXME: Add retpoline support and remove this. 1 // FIXME: do something smarter here. 1 // FIXME: Warn on inconsistent use of -march and -mabi. 1 // FIXME: Unify control over GlobalMerge. 2 // TODO: Restore the use-lists to the in-memory state when the bitcode was 1 // TODO: Parse the other CFI operands. 1 # FIXME: Maybe define NO_XPC_SERVICES 1 // FIXME: handle sseregparm someday... 1 // FIXME: This is a bit conservative, since in the above case we could use one 1 // FIXME: This algorithm assumes instructions have fixed-size offsets. 2 // FIXME: Move allocation logic out of MachineFunctionInfo and initialize 1 // FIXME: when clang starts to support msp430x ISA additional logic 1 // FIXME: Use different diagnostics for overflow in conversion to promoted 1 // FIXME: this does not appear to be covered by any tests 1 // FIXME: These emission are non-const because we mutate the symbol to 1 // TODO: This could look through floating-point casts. 1 // FIXME: Macro names in a definition are not detected. 1 // TODO: support loop nests that return values. 1 // FIXME: Actually implement this function. 2 // FIXME: Making InnerAM null at this point isn't very nice. Most analyses 1 /// FIXME: Simply returns an alignof() expression if the argument is a 1 // FIXME: we want this at normal exit, too! 1 // TODO: Actually emit the initializer value. Otherwise the global has the 1 # FIXME: "ENABLE_SHARED" doesn't make sense, since it is used just for 1 // FIXME: See FIXME above regarding result code interpretation. 1 // FIXME: Try to avoid this if all uses could actually just use the FPR64 1 // FIXME: It would be better to not add the declaration to the temporary 1 // FIXME: We would like an efficient form for this, so we don't have to do 1 // TODO: UTF-8 decoding 1 // FIXME: explore immediate values too. 1 Entity.setDiag(PDiag); // TODO: avoid copy 1 // TODO: Consider disable pre-lTO ICP for MonoLTO as well 1 // FIXME: Grab an IntRange for the condition rather than using the unpromoted 1 - Copy over a copy of the Repository Directory. (TODO: Prefer to ensure that 1 // FIXME: If there are both visible and hidden declarations, we need to take 1 // TODO: This is the same logic as above but handles the cmp-select idioms 1 // TODO: Check more intrinsics 1 // TODO: Convert this over to using ModuleSubstreamVisitor. 1 // TODO: Per SPIR-V spec: "Before version 1.4, the interface’s 1 // FIXME: Add in naming conventions to handle: 1 // FIXME: (Alex L): Canonicalize implicit template instantions, just like 1 // FIXME: matcher should ignore copies 1 // FIXME: even thread local variables? 1 // FIXME: it is entirely possible that PHI translating will end up with 1 // FIXME - we don't have the mechanism in place to do per-architecture 1 // FIXME: Consider the time-space tradeoff of just storing the unit pointer 1 /// mode is legal for a load/store of any legal type. TODO: Handle 1 // TODO The truncate also isn't actually necessary because we would already 1 #if 0 // TODO: Enable this when wasm gets multiple-return-value support. 9 // FIXME: Using the instsimplify logic directly for this is inefficient 1 // FIXME: Allow outlining from multiple functions with the same section 2 // TODO: Sink/common this with other potentially expensive calls that use 1 // FIXME: Support init-statements in Objective-C++20 ranged for statement. 1 // FIXME: This is only needed because tablegen requires number of dst operands 2 // TODO: may be under StructureStmt 1 // FIXME: There probably needs to be some canonalization 1 // FIXME: If an externally-visible declaration extends multiple temporaries, 1 // FIXME: Most/all of these should be implemented via attributes. 1 // FIXME: This might be wrong: _getdents doesn't take a struct linux_dirent *. 1 // TODO: We can improve this by tracking if any necessarily beneficial 1 // FIXME: doesn't work: no ExpectedType set in ParseCXXNewExpression. 1 // TODO: Actually try to prove it is not. 1 // FIXME: Fix this test to also work in non-C++ language modes. 1 # TODO: We don't need an object library for internal consumption. 1 // FIXME: Add test for the nullptr case. 1 // FIXME: We could look at the token sequence in a lot more detail here. 1 // FIXME: Strictly speaking MFHC1 only reads the top 32-bits however, we 1 // FIXME: FinalizeISel pass calls finalizeLowering, so it's called twice. 1 // FIXME: we create DefaultVRAI here to match existing behavior pre-passing 1 // FIXME: The LinkageSpecDecl here should be added to m_decl_context. 1 //TODO: change this to defs? 1 // TODO: Insert the guard after top comments. 1 // TODO: For now use a void*, however pointer identity is not sufficient for 1 // FIXME: See the allocation of EC in initialize(). 1 // FIXME: Remove LTmp once we have c++17. 1 // FIXME: should this function return false when unable to write exactly 1 // TODO: Move noalias annotation code from LoopVersioning here and share with LV if possible. 1 // FIXME: use %pc22/%pc10, if system assembler supports them. 1 // FIXME: We could add timestamps to isCancelled() and CancelledError. 1 // TODO: We could sign extend narrower types. 1 // TODO: Ask TTI whether synchronization scope is between threads. 1 // FIXME: Remove LTO class friendship once we have bitcode symbol tables. 1 // TODO: We should match the related pattern for bitreverse. 1 // FIXME: This might apply to other languages and token kinds. 1 // TODO: We can make it aggressive again after fixing PR39569. 1 // FIXME: This is quadratic if we have lots of reuses of the same 1 // TODO: Handle FreezeInsts. Since a frozen value could be frozen inside 1 // TODO: CheckMemoryLayoutSanity is based on msan. 1 // FIXME: This really should be in BuildFunctionType. 1 // TODO: Should this and other atomic instructions support building with 1 // TODO: consider latency as well for TCK_SizeAndLatency. 1 // FIXME: Sema doesn't treat a T[1] union member as a flexible array 1 // FIXME: See above, though the extra environment complicates things. 1 /// FIXME: Type hierarchies in Objective-C can be deep. We could most likely 1 // TODO: Verify the constants here 1 // TODO: set index 1 // FIXME: Make the type of the result buffer correct instead of 2 // FIXME: diagnose if no Thumb2 1 views for each qualifier. TODO: Non-fast qualifiers --> 1 // FIXME: This isn't really what 'as' does; I think it just uses the implicit 1 // TODO: The following CodeGen passes don't currently support code containing 1 // FIXME: This gives internal linkage to names that should have no linkage 1 // FIXME: If this is a problem, recover from it by creating a multiplex 1 // FIXME: support subtargets which have neon/fp-armv8 disabled. 1 // TODO: This transform is safe to re-use undef elts in a vector, but 1 // FIXME long double 2 // TODO: Recognize that a bunch of other objc runtime calls have 1 // FIXME: do we need to check if the type is NSString*? What are the 1 // FIXME: Add a test for `conditionalOperator()` that does not depend on 1 // FIXME: __cxa_demangle aggressively insists on allocating memory. 1 // TODO: The definition and use of this "dump requested" constant 1 // FIXME: Consider assigning over existing elements, rather than clearing & 1 // TODO: check strides. 1 // TODO: We should generate a pc-relative mov instruction here instead 1 // FIXME: In practice this doesn't work: the AutoType you find inside 1 // FIXME: Current this just generates the Function definition, but really this 1 // FIXME: Add isImplicit to CXXConstructExpr. 1 // FIXME: Should flush denorms depending on FP mode, but that's ignored 1 // TODO: Are these all needed? 1 # TODO Clean up duplication of asm/common build_function_body_dictionary 1 // TODO: Can we actually use the dependence info analysis here? 1 // FIXME - can we do this more securely if we know first_insn? 2 // FIXME: stack slot colouring should account for slots that get merged. 1 // FIXME: should check if immediate value would be valid for an ARM 2 # TODO: compare_results decouples comparison from the output, we should 1 /// TODO: Presumably vftables use the same algorithm. 1 // FIXME: That isn't necessarily true, we should try to mmap stdin and 1 // FIXME: We could skip this for functions which unconditionally return 1 // FIXME: This is a bit ugly due to creating a merge of 2 pointers to 1 # FIXME: respect height 1 // TODO: Use the 2nd operand (Storage Class) to validate the OpTypePointer 1 // FIXME: @catch (Class c) ? 1 // FIXME: This doesn't return the correct result when xctest (a 1 // FIXME: This needs linker information via a 1 // TODO: Add tests for `cfi_*` directives 1 /// FIXME: Stop evaluating if we're in EM_ConstantExpression or 1 // TODO: The memory size may be larger than the value we need to 1 // FIXME: If these aren't protocol references, we'll need different 1 // typically gets hoisted out of a loop. TODO: return a good value for 1 // TODO: Should 0 be special cased? 1 // FIXME: better error handling. For now, just print an error message in the 1 // TODO: Previously, this error was ignored and we treated it as if 1 // TODO: remove this. 1 // FIXME: Enable non-C++ cases once we start spelling types explicitly instead 1 // TODO: Allow indirect use. 1 // FIXME: Scalable offsets are not yet handled in the offset code below. 1 return; // FIXME: is this correct? 2 // FIXME: Should we try to filter out FixIts that apply to our generated 1 // TODO: Handle G_OR used for add case 1 // TODO: We probably need to clean up the lock stack as well. 1 // TODO: Should we just remove all kills? Is there any real reason to 1 // TODO: Should these point at something? 1 // TODO: Loosen the requirement for fully relaxed math semantics. 1 // FIXME: arg->getIsOmitted() == "false" means we haven't implemented 1 // TODO: Not checking Warning. Will be dropped. 1 // FIXME: The BarrierNoopPass is a HACK! The inliner pass above implicitly 1 // FIXME: we should produce a symbol for F instead. 1 // FIXME: We could potentially recurse down through the last element in the 1 // (FIXME: "template friend class A::B;"). 1 // FIXME: Implement in powerpc64? 2 KMP_ASSERT(!__kmp_root[i]->r.r_active); // TODO: can they be active? 1 //FIXME: if not reducible flow graph, make it so ??? 1 // TODO: Can we be smarter about MachinePointerInfo? 1 // FIXME: This may fail; we don't require that all conflicting modules 1 // TODO: This should be a folding of Add into Contract in core but while they 1 /// TODO: Split up flags. 2 // FIXME: This is poor design, the OCD should have a pointer to the category 1 // FIXME: Find out how this interacts with the std::align_val_t fallback 1 if (!MO1.isReg()) { // FIXME: This is for CP entries, but isn't right. 5 // TODO: Fold more cases: 1 // TODO: Report an error when using a duplicate bit target flag. 1 // FIXME: Set address space from attrs for C++ mode here. 1 // FIXME: This should never happen. 1 // FIXME: For new PM, use pass name directly in commandline seems good. 1 PRE_SYSCALL(compat_50_futimes)(long long fd_, void *tptr_) { /* TODO */ } 1 // FIXME: It would be better to scan the text once, finding either the block 1 // FIXME: I don't think NumCmps is the correct metric: a single case and a 1 // FIXME: Get the strings for DeclContext from some localized place 1 // TODO: Implement DoExtraAnalysis when subsequent legal checks support 1 // FIXME: Attributes? 1 // TODO: dropDim 1-liner helper. 2 // Materialize callee address in a register. FIXME: GV address can be 1 // FIXME: For now, avoid instructions with multiple defs, unless 1 // FIXME (Alex L): Account for the return statement in extracted code. 1 // FIXME: any interesting patterns to be caught with larger limit? 1 // FIXME: Not accounting for callee implicit inputs 1 // TODO: Actually filp MayIncludeUndef for the created range to false, 1 // FIXME: see discussion in https://reviews.llvm.org/D112851, 1 // TODO: Handle exp10() when more targets have it available. 1 if (MRI.getType(Src).isVector()) // TODO: Handle vectors directly. 1 // FIXME: Figure out some way to analyze functions defined in other modules. 1 // FIXME: Audit interactions between these two options and make them 1 DebugLoc dl; // FIXME: this is nowhere 3 // FIXME: Should we also permit fixed-length SPLAT_VECTOR as a fallback to 1 strings.push_back(str); // TODO: consider deduplicating strings 1 // TODO: This is a simple brute force implementation. This can be 1 case BuiltinType::Half: break; // FIXME: suffix? 1 // FIXME: this is thread-unsafe, but should not cause problems most of the time. 1 // FIXME: Try to use a similar approach in Sema instead of relying on 1 // TODO: Consider a target hook for valid address spaces for this xforms. 1 // FIXME: Unlikely to be true for CodeSize. 1 TODO: make inline function (move to header file for icl) 1 // TODO: Decide this based on the number of loop iterations that will be 1 // FIXME: Clean this up. 1 // TODO: Support conservative min/max merging instead of cloning. 1 // TODO: Implement an actual map for fast lookup for "hashable" call 1 message(":?? : "); // FIXME: Show line number. 1 // TODO: support tensor types. 1 // TODO FMT See whether it's possible to do this transformation during the 1 // FIXME: support read+write arguments. Currently READWRITE and WRITE do the 2 // FIXME: Add support for per-signature activeParameter field. 1 // FIXME: This should come from a process default. 1 // FIXME: t2ADDrr should be split, as different rulles apply when writing to SP. 1 // FIXME: Compute the set of active module macros at the specified location. 1 // FIXME: This pass currently can only expand a pseudo to a single instruction. 1 // TODO: We need custom lowering for vector (v2f64) args. 2 // FIXME: consider replacing raw_ostream & with something like SmallString &. 1 // TODO: this should be replaced by MLIR data layout when one exists. 1 // FIXME Need to select better first value for lane0. 1 // FIXME: LOH interface supports only MachO format at the moment. 1 // TODO: This pass just hoists/replaces math ops - all analyses are preserved? 1 Record.push_back(static_cast(D->getStorageClass())); // FIXME: stable encoding 1 // FIXME: for some reason dsymutil-classic keeps the location attributes 1 // TODO: figure out remote case here! 3 // FIXME: Let the caller know if these fail to avoid duplicate diagnostics. 1 /// FIXME: some AST nodes cannot be DynTypedNodes, these cannot be specified. 1 int stepWithSEHData() { /* FIXME: Implement */ return 0; } 1 // FIXME: Can/should this happen? 1 // FIXME: We shouldn't need to do this, the target should be immutable once 2 // FIXME: Remove these when LegalizeDAGTypes lands. 1 // TODO: We probably need a new MemRegion kind to represent the storage 1 // TODO: We should also detect FP min/max. 1 # FIXME: We might not ship all the tools that these man pages describe 1 // FIXME: PUSH can be technically a leak, but let's ignore this for now 1 // TODO: generate these strings using ODS. 1 // FIXME: Introduce an AST matcher to implement the macro-related logic? 1 // FIXME: sort out public/private distinctions... 1 // TODO: Use TTI->getGEPCost here (it exists, but appears to be not 1 // TODO: check for incompatible implementations of the 1 // FIXME: is this really "NoReserve"? On Win32 this does not matter much, 1 // FIXME: It may be easier/cleaner to just add an 'optimize uses?' flag to MSSA. 1 // FIXME: This is overconservative; this transform is allowed in some cases 1 CHECK_LE(count, arr_size - 1); // FIXME: make this more flexible. 1 // FIXME: Use appropriate wrappers for poll.h and mman.h 2 /// TODO: add a regex for comments here and to the spec. 1 // FIXME: Handle Unicode quotation marks (smart quotes, fullwidth quotes). 1 // FIXME: Need to support i32. Current implementtation requires 1 // FIXME: Disable corrections that would add qualification? 1 // FIXME: This should only use space for first class types! 1 // FIXME: Ditto this. Purely so the Streamer and the ObjectWriter can talk 1 // TODO: consider including the actual size (including eventual padding due 1 // FIXME: For DWARF v5, do not generate the DW_AT_ranges attribute under 1 // FIXME: Share code with the other alias building directives. 1 // FIXME: Attributes should be included here. 1 // TODO: This logic should be a part of generic symbol escape callback. 1 // TODO: Use getBinOpIdentity() to generalize this. 1 // FIXME: Improve diagnostic by reporting the failed class's name. 1 // FIXME: handle the case when ATy != Loc.getElementType(). 1 // FIXME: This should take target-specified instruction sizes into account. 1 // TODO: Refactor addRuntimeLibSections to work properly on Mach-O and 1 // TODO: Split s1->s64 during regbankselect for VALU. 1 PRE_SYSCALL(compat_50_gettimeofday)(void *tp_, void *tzp_) { /* TODO */ } 1 // FIXME: Member pointers are not transformed correctly right now, that's 1 // TODO: Extend this for ops that are FunctionLike. This would require 1 // FIXME: We could keep these live registers around as zombies. They may need 1 // FIXME: We should be able to bail at this point with "nothing changed". 1 // FIXME: Try env vars (%WindowsSdkDir%, %UCRTVersion%) before going to registry. 1 // FIXME: Remove this once this is fixed in the AST. 1 // FIXME: This has nothing to do with the definition of converting 1 // TODO: There's nothing special about i32, any integer type above i16 should 1 // FIXME: Value of 8 is base on ppc32/x86 ABI for the most common cases. 1 // TODO: call BLAS-2 SGEMV(y,x) 1 // FIXME: detect splat constant vectors. 1 // FIXME: Add code below to iterate through the attributes and call Handle. 1 // TODO: Warn about unreachable code. 1 // FIXME: Maybe this should use DeclPrinter with a special "print predefined 1 /// FIXME: There is one major drawback of the reference graph: in its naive 1 // FIXME: The logic to identify tainted regions could be more 1 // FIXME: Could we fold this with the load? It would require careful EFLAGS 1 // FIXME: Diagnose assignment to protected identifier (e.g., register name). 1 // FIXME: `` should be a child of `MemberExpression` and `;` of 1 // FIXME: temporary hack: hard-coded paths. 1 // FIXME: We shouldn't need to get the function info here, the 1 // FIXME: Does this really make sense for all GNU toolchains? 1 // FIXME: DAG expansion gets better results. The widening uses the smaller 1 // FIXME: Can we avoid manually doing this? 1 // FIXME: Ironically, this assert actually fails in some cases. 1 /// TODO: Refactor with decomposeBitTestICmp()? 1 // FIXME: Whether extension should accept pragma should not 1 // FIXME: Having an MCSubtargetInfo on the target machine is a hack due 1 // TODO refactor this so the error gets popagated up instead of logged here. 1 /// FIXME: Once DirectoryEntryRef is "everywhere" and DirectoryEntry::LastRef 1 // FIXME: `ParamVarRegion` only supports parameters of functions, C++ 1 // FIXME: This is really heavy handed. It would be a bit better to use an 1 unsigned EltSize = EltVT.getFixedSizeInBits() / 8; // FIXME: should be ABI size. 1 // FIXME: LastRef should be removed from FileEntry once all clients adopt 1 /// TODO: use a more general approach that still allows these 1 // TODO release worker threads' fork barriers as we are ready instead of all at 1 // TODO find a way to make this an error, but not an assert 1 // FIXME: Split the DeclSpec into pieces for the standalone 1 // TODO: Cost of 0 hits assert, though it's not clear it's what we really 1 // FIXME: Ideally the gathered declarations and the declarations in the 1 // TODO: Quoted identifiers (objc methods etc) 1 // FIXME: Handle errors. 2 // FIXME: We should be able to generate this USR even if the 2 // FIXME: Add getInstructionCount to CallGraphSCC. 1 // FIXME: Compare unsaved file hashes and report mismatch in the reproducer. 1 // TODO: describe return value as depending on one or more of its arguments. 1 // FIXME: Sometimes the value that returns from ValDecl->getEndLoc() 1 // FIXME: Can this happen for floating point types? 1 // FIXME: Should handle CXXTryStmt if analyser starts supporting C++. 1 // FIXME: Make this nicer. 1 // FIXME: We previously checked that global var member of a type identifier 1 // FIXME: Set the correct return type when we initially transform the type, 1 // TODO: handle case where only one section needs the large index table but 1 // TODO: This is based on the fact that zero use operations 1 /// TODO: Return all matches for a given name by returning a 1 return 1; // FIXME: Generalize SDNodeXForm 1 // TODO: categorize sections by other flags for regular sections 1 // TODO: Add support for scf.parallel and affine.for loops. 1 // FIXME: This Decl should be more precise. 1 // FIXME: It would be nice to remove all such bonuses. At least it would be 1 // FIXME: Consider warning on some of the cases described in C11 6.4.7/3 and 1 # TODO: Create a FloatType in the Python API and implement the switch 2 // FIXME: There isn't a good way to know if the input source is complete or 1 // FIXME: For lack of any better information, do no harm... 1 // FIXME: error-handling 1 // TODO: There might be another oppurtunity to leverage SCEV's reasoning 1 // FIXME: Provide better range information for different 1 // FIXME: We probably want to make more tweaks to the printing policy. For 1 // FIXME this drops the error on the floor, but 1 // FIXME: using parseBool is causing multiple tests to fail. 1 /* TODO: tune for KMP_OS_DARWIN */ 1 // TODO: In 96-bit case, could do a 64-bit mov and then a 32-bit mov. 1 // FIXME: Remove this flag when it is no longer necessary to convert 1 // FIXME: Should we look these up somewhere other than the module. Its a bit 1 // FIXME: Use a more efficient way to find a matching context. 1 // TODO: Should be possible to merge FrameIndexes and maybe some other 1 // TODO: nvcc emits a warning when using long double on device; we should 1 // TODO: support constant struct 1 // FIXME: support stdlib macros 1 // FIXME: Actually complain, once we figure out how to teach the 1 // FIXME: There's only _ftruncate64 beginning with Solaris 11. 1 // TODO: Correctly identify unreachable blocks when chaining boolean operators. 1 // TODO: simplify this once the macro is available in all OS levels. 1 // FIXME: Support extraction from methods. 1 EXPECT_EQ(Some.shl(Some), Full); // TODO: [0xa << 0xa, 0xfc01) 1 // TODO: adjust naming patterns to avoid this order of iteration dependency 1 // FIXME: This is wrong; we should parse this as a typename-specifier. 1 // TODO: add syntactic sugar for 1/(2*PI) 1 // TODO: this is working around missing std::set::merge in some versions of 1 // TODO: Get more refined intrinsic costs? 1 // TODO: Generalize this check for sibling and more generic fusion scenarios. 1 // ATT: Memory leaks are here? TODO: Check it and fix. 1 # TODO: print message warning that we couldn't find a compatible lib? 1 // TODO: if(CoroParam(...)) need to surround ctor and dtor 1 // FIXME: Val could be a one-input PHI node, which we should look past. 1 // FIXME: Handle PHIs in Tail by turning them into selects (if-conversion). 1 // FIXME: The current CGSCC pipeline has its origins in the legacy pass 2 "// TODO: long", 1 // FIXME: Consider replacing this with NamedDecl::printNestedNameSpecifier, 1 // TODO: Because all of these things are constant, we can determine whether 1 // FIXME: It would be better to have a mode which *only* omits IR 1 // FIXME: Should we really fall through here? 1 // FIXME: There is, however, one case we can address: when the VarDecl pointee 1 // FIXME: On most platforms, `Target`'s component symbols are labels from 1 // FIXME: tune this limit, and/or come up with some better heuristics. 1 // TODO: Currently, we do not check what the for loop does with the iterated 1 // FIXME: For targets where long double, __ibm128 and __float128 have the 1 // FIXME: detect and handle SSE maskstore/maskload 1 // TODO Implement feature set parsing logics 1 // FIXME: This is perhaps a bit too defensive. We could try to follow the 1 // FIXME: In the .o files, we have a GSYM and a debug 1 // FIXME: Make determination of operator precedence more general and 1 // TODO: Could handle constant base + variable offset, but a combine 1 // FIXME: This should be a StringRef, but some of the calling code expect a 1 return true; // FIXME: Is this correct? 1 // TODO: Implement a real typed stack, and store the genericness of the value 1 /// FIXME: Add a verifier check for bad callee types. 1 // FIXME: Perform error recovery. 1 // FIXME: This logic can be greatly simplified by splitting it along 1 // TODO: To support shrink wrapping, this would need to copy 1 // TODO: Rename MetadataStreamerV2 -> MetadataStreamerYamlV2. 1 // FIXME: only if the shift is one-use? 1 // TODO: Investigate looping rather than always extracting/replacing specific 1 // FIXME: Handle "Depth" parameter in PrintStackTrace() function 1 // TODO: find a way to get this, statically, in a programmatic way. 1 // TODO: Create a more cross-platform way of determining device kernels. 1 // FIXME: this should get propagated down through anonymous structs 1 // FIXME: Refactor into a ProgramPoint method? 1 // FIXME: Collect all failing symbols before erroring out. 1 // TODO: For UDIV use SRL instead of SRA. 1 // FIXME: Hack to recognize vpcmp{ub,uw,ud,uq,b,w,d,q}. 1 Layout.FileNameOffs = 0; // TODO: Fix this 1 // TODO: If we see a signed comparison which can be turned into unsigned, 1 // TODO: Add support for X86::CMOVrm instructions. 1 case Decl::Label: // FIXME: Is this right?? 1 // TODO:: Generate the tuples using TableGen. 1 /// TODO: Vectorizing reductions is supported only for 1-D vectorization. 2 // FIXME: We are now always selecting the Intel Beignet driver if it is 1 // FIXME: Consume the l_square first so we don't need extra lookahead for 1 // FIXME: This should use the computed output file location. 1 // TODO: verify visibility for declarations. 1 // TODO: Implement the rest of the logic here. For example, two accesses 2 // FIXME: Call into Actions to add any init-capture declarations to the 1 // FIXME right now the only possible value would fit in 8 bits, 1 /// TODO: Handle GetElementPtrInsts, as some of the operands have to be the 1 // FIXME: We may be able to do this with related result types instead. 1 // FIXME: Simplify these by combining InlineSrcMgr & SrcMgr. 1 // TODO: support more aggressive createOrFold on: 1 break; // FIXME: Multiple type arguments are not implemented. 1 // FIXME: Enhance this expansion to use the .lit4 & .lit8 sections 2 // TODO: Return all matches for a given name by returning a 2 // FIXME: is there a way to tell if two labels refer to the same location? 1 Defs[Hexagon::SA0].insert(Unconditional); // FIXME: define or change SA0? 1 // FIXME: may need special handling. 1 // FIXME: fails on windows: paths have mixed slashes like C:\a/b\c.yaml 1 // FIXME: If this is a redeclaration of a function from another module, handle 1 // FIXME: On addr space mismatch we are passing NULL. The generation 1 // TODO: Possibly lift into a top-level method. 1 "// FIXME: long", 1 // FIXME: order? why not size expr first? 1 // TODO: The instruction always flushes denormal results (except for f16), 1 // FIXME: Assign the right address value for these symbols 1 // TODO: Generalize to handle a negated variable operand? 1 // FIXME: For catch, __except, __finally the first token on the line 1 // TODO The __mspabi_mpysl*_hw32 functions ARE implemented in libgcc 1 PRE_SYSCALL(compat_50_getitimer)(long long which_, void *itv_) { /* TODO */ } 1 // TODO: Would it be better to call into the fuzzer internals directly? 2 // TODO: Should s16 select be legal? 1 // TODO: change the 4th 0x75effffffffffffe to 0x75efffffffffffff when 1 // FIXME: These should be modeled as having the 1 // TODO: AVX2 is the current cut-off because we don't have correct 1 // FIXME: We shouldn't use BB for the location here. Unfortunately, because 1 // not-so-pressing FIXME: use locale to determine blank characters 1 // FIXME: Apply the current schedule instead of assuming the identity schedule 1 // TODO: Support DWARF5 1 // TODO: Should this be available as a constant utility function? It is 1 // TODO: Slow. Should only be enabled if -stats is used. 2 # FIXME: Expose iteration from CIndex, PR6125. 1 // FIXME: getLDSNoRetOp method only handles LDS_1A1D LDS ops. Add 1 // FIXME: Gross 1 // FIXME: use real operand location rather than the current location. 1 // TODO: it would be nice to templatize this on the key type. 1 // FIXME: Handle more intrinsics. 3 /// FIXME: This is redundant; we could store the same information directly on 1 // TODO: dispatch case; how do we put arguments on a call? 1 // TODO: Support the situation when the call doesn't correspond 1 // FIXME: Deal with Char_S/Char_U. 1 // and the store. TODO: The function should just return new env and store, 1 // TODO: Do the 32-bit immediates work? We shouldn't really need to handle 1 // FIXME: In section 2.6.2 of the DWARFv5 spec it says that "The 1 // TODO: These methods appear unused. Should they be removed? 1 // TODO: can the chain be replaced without creating a new store? 1 // TODO: These methods are deprecated in favor of CastOpInterface. Remove them 1 // FIXME: Shouldn't we use the launch flavor we were started with? 1 // FIXME: Check that all points have the same triple/cpu. 1 // FIXME: This function is pretty broken, since it can be called before the 1 // FIXME: It would be good to handle other obvious no-alias cases here, but 1 /// ELF-specific part. TODO: refactor into new class. 1 // TODO use xor r,r to decrease size 1 // TODO: What about other languages? 2 /* TODO the below shouldn't need to be adjusted for serialized teams */ 1 // FIXME: I may decide to disallow threads with no plans. In which 1 // FIXME: implement, but don't call REAL(malloc_stats)! 3 // FIXME: Should be controlled by command line option. 1 // TODO: For now, we give up if any of the control-flow components 1 // FIXME: Also check variadic function parameters. 1 // TODO: Make IgnoreSubsumingPositions a property of an IRAttribute so we 1 // FIXME: should we consume the discard error? 1 // TODO: Assert there's exactly one result. 1 /* TODO use general release procedure? */ 1 // TODO: expand to handle case where values appended are in order & after 1 // FIXME: signedness depends on the original integer type. 1 // TODO: Give here a one time warning if source file is missing. 1 // TODO: _chk variants 1 // TODO: The error should be propagated up the stack. 2 // FIXME: Use constant-folding in CFG construction to simplify this 1 // FIXME: Provide an argv0 here so we can find llvm-symbolizer. 1 // TODO: We could also try to generate a cbz if the value in LR is also in 1 // FIXME: We want to re-use the existing MemoryBuffer! 1 // TODO For VECREDUCE_(AND|OR|XOR) we could split the vector and calculate 1 /// TODO: add assertions for the static cases. 1 /// TODO: getMaxPressureDelta results can be mostly cached for each SUnit during 2 // FIXME: Should we handle this error differently? 1 // FIXME: This doesn't have to have any specific name, just any randomly 1 // TODO: Move size-based thresholds out of legality checking, make cost based 1 // FIXME: TBAA should have an explicit mode to support this and then we 1 # FIXME: -Wl,-rpath 2 // TODO: Handle multiple loops at a time. 1 // FIXME: This error message could be improved, it would be nice 1 // TODO: sync the logic between instrHasImmForm() and ImmToIdxMap. 1 // FIXME: Abstract telling the completion to insert the completion 1 // FIXME: This means cleanup funclets cannot handle exceptions. Given that 1 // TODO: Look through extensions for 32-bit soffset. 1 // FIXME: Could we provide information about which preprocessor conditionals 1 // !!! TODO: Remove lock operations for "char" since it can't be non-atomic 1 // TODO: check that the two instructions alias each other. 1 // FIXME : find good implementation. 1 // FIXME: This should be on the Type class! 1 // FIXME: This is a simplified version of what's in CFRefCount.cpp -- it makes 1 // FIXME: PollyTrackFailures is user-controlled, should not be set 1 /// FIXME: Currently if RangeT && is a rvalue reference to a temporary, the 1 # FIXME: Clean out output directory first. 1 // TODO: K&R: the meaning of '\\a' is different in traditional C 1 // TODO: for now only allow consecutive strides of 1. We could support 1 // TODO: Check for irreducible control flow. 1 // !!!!! TODO: check the per-task binding 2 // FIXME: This is a fairly terrible hack. We set the rest 1 // TODO: figure out a way to generate the description from the 1 return false; // FIXME: support 32-bit 1 // Add the dimensions of the array. FIXME: This loses CV qualifiers from 1 // FIXME: Ensure extraction from loops doesn't change semantics. 1 // errors during statepoint insertion. TODO: This should actually be in the 1 // FIXME: Name may be null here. 1 // FIXME: Support vector-GEPs. 1 // FIXME: We should not create these in the first place. 1 /// FIXME: if it is necessary to derive from InlineCostCallAnalyzer, note 1 // FIXME: Only pass GompNeedsRT = true for platforms with libgomp that 1 // TODO: cap maximum alignment 1 // FIXME: Go-to-definition in a template requires disabling delayed template 1 // FIXME: add more information. 1 // FIXME: improve common dependent scope using name lookup in primary templates. 1 // TODO: this is mutable because the generated interface method are not const. 1 //isExtension = true; // FIXME: implement #assert 1 // FIXME: Add support for parsing opcode_operands_table 1 TODO: Reimplement this without using psutil so we can 1 // FIXME: This loop is O(n^2) because dominates can be O(n) and in worst case 1 if (NumVisited > 10) // FIXME: Arbitrary limit to reduce compile time cost. 2 // FIXME: This check should be for a variable template instantiation only. 1 // TODO: Narrow this to intrinsics that have store-like effects. 1 // FIXME: This error shouldn't actually occur (the front end should emit 1 // FIXME: Should custom lower this. 1 // TODO: 'getMaxLoopDepth' does not support forward slice fusion. 1 // TODO: Should probably combine against FFBH_U32 instead of ctlz directly. 1 // FIXME: Move this down to AnyFunctionCall once checkers have more 2 // FIXME: Figure out how to keep this consistent with the XRay runtime. 1 // FIXME: This only makes sense for comparisons. If we want to, say, 1 // TODO: clang should use address space 5 for omp_thread_mem_alloc, but right 1 // FIXME: This is probably wrong. If src is an sNaN, it won't be quieted 1 // TODO: We could have a clean-up method to tidy the instruction. 1 // FIXME: actually use wcslen() to calculate it. 1 // FIXME: This is technically correct but gives a different result to gas, 1 // FIXME: Rather than doing the math here, we should instead just use 1 // FIXME: It'd be preferable to avoid doing this if we were given 1 // FIXME: Retain some type sugar to indicate that this was written 1 /// FIXME: This type of customization should be removed in favor of the 1 // TODO: Refactor parts common with the 'handleExecNameEncodedBEOpts' 1 // TODO: Extend this module to include utility functions for querying fusion 1 {"LOCAL_SECTDIFF", /* FIXME populate this */ B(_0)}, 1 consumeError(std::move(Err)); // FIXME this drops errors on the floor. 1 /// be called by the breakpoint's resolver. FIXME: how do I ensure that? 1 // FIXME: The unroller should make this decision directly instead, but 1 /// FIXME: Support these similar to ADD8ri/ADD16ri*. 1 // FIXME: this is redundant with part of setFunctionDefinitionAttributes 1 // FIXME: Don't parse and annotate expressions when disambiguating 1 // TODO: Consider extending this sinking to handle memory instructions. 1 // TODO: Support big-endian as well. 1 // FIXME: We also reject alloca's of the form [ 2 x [ 2 x i32 ]] or equivalent. Potentially these 1 // TODO: GEH - make sure root team implicit task is initialized properly. 2 // successor breaks the CFG constraints (FIXME: define these constraints). 1 // TODO: What about hosts that lack a C99 library? 4 // TODO: Add a check that any remaining users of Inst are after coro.begin 1 // FIXME: stable encoding for @required/@optional 1 // FIXME: Should be ok if they addresses are identical. But earlier 1 // FIXME: This entire discriminated union could be removed with c++17: 1 // FIXME: this case is tricky, so we are just conservative here. 1 // TODO: Split out the code below that operates on FP calls so that 1 // FIXME: This should be a pattern predicate and not reach here 2 // FIXME: match exception type against catch blocks 1 // TODO: Update WasmGlobalType to use ValType and remove this cast. 1 /// TODO: Update callers of \a RemapInstruction() and \a MapValue() (etc.) to 1 // FIXME: we're silently ignoring invalid data here 1 // FIXME: getGetElementPtr() actually creates an inbounds ConstantGEP, 1 // TODO: Make this handle dialect-defined functions, calls, and returns. 1 // TODO: remove as soon as everything is ready 1 // FIXME: These hints are valid only when the virtual call is made 1 // TODO: Input character set mapping support. 1 /// FIXME: These nodes are deprecated in favor of ADDCARRY and SUBCARRY. 1 // FIXME: Cope better with odd prefix widths. 1 /// TODO: Unify with ClassTemplatePartialSpecializationDecl version? 1 // FIXME: Actually merge here, don't just overwrite. 1 // TODO: Handle non-zero compare constants. 1 // FIXME: This is horrible, we should use our own list or something to avoid 1 // TODO: Replacing operands of intrinsics would be interesting, but 1 // FIXME: This doesn't seem optimal. Since all of the cases handled by the 1 // FIXME: Maybe we could use a CXXBaseSpecifier as the key and use a single 1 // TODO: accept affine too? 1 // TODO: This seems really ugly. Simplify this. 1 // TODO: get rid of this, and rely on pass-by-ref instead. 1 // FIXME: Add test for the missing TBD code path. 1 // TODO: ChownFile? 1 # FIXME: Use designated initializers to access non-first 1 // TODO: It might be useful for any out arguments, not just privates. 1 // FIXME: Indirect doesn't need extending, but fast-isel doesn't fully 1 // FIXME: This should also handle inlining if we aren't going to do inlining in 1 // FIXME: Both positive and negative access functions will be placed 1 // TODO: Handle v4s16 case. 1 Record.push_back(File.getFileCharacteristic()); // FIXME: stable encoding 1 // FIXME: Warn if the rule name is unknown. This is tricky because only 2 // TODO: if we have not read in the complete string, we need to realloc 1 // FIXME: We don't check the bases of X. That matches the standard, but 1 // FIXME: Make this work with -gsplit-dwarf. 1 // FIXME: We could elide the trap if the next instruction would be in 1 // TODO: We can truncate the result, if it fits into a smaller type. This can 2 // FIXME: For now we just create a "trivial" type source info based 1 /// FIXME: This is an unnecessary check on the critical path. Most are root/leaf 1 // TODO: Reconsider whether to always generate, this is more conservative 1 // TODO: swap header if needed... 1 // FIXME: VNEG FP and -0? I think we'll need to handle this once we allow 1 // FIXME: we may want to choose a different redecl, or combine from several. 1 // TODO: Determine if these methods should move to TypeSystemClang. 1 // FIXME: figure out why FoundDecl can be a VarTemplateSpecializationDecl. 1 // FIXME: Should we use narrower types for local/region, or account for when 1 // TODO: Check for extraneous machine operands. 1 // TODO: Handle default arguments. 1 // TODO: Since object files can contain a lot of DWARF info, we should verify 1 // TODO: Support profiling. 1 // FIXME: If we have lazy external declarations, this will not find them! 1 // TODO: Set "ForSigned" parameter via Cmp->isSigned()? 1 // FIXME: Add more functions: sqrt_finite, atanh, expm1, log1p, 1 /// TODO: Walk the entire domtree within this loop, not just the path to the 1 // TODO Import instantiated default arguments. 1 return ArgType(); // FIXME: Is this a known extension? 1 // FIXME: The COPY of subregister of Zvlsseg register will not be able 1 {R"cpp(// FIXME: rename virtual/override methods is not supported yet. 1 # FIXME: cover all of llvm projects. 1 // FIXME: The following are wrongly classified as C++ lambda expressions. 1 // FIXME: If we end up with a collection of these sorts of Darwin-specific 1 // TODO: One use checks are conservative. We just need to check that a total 2 // FIXME: This computed padding is likely wrong since it depends on inverse 1 // FIXME: Should we be expanding macros here? My guess is no. 1 // FIXME: Come up with a 'cleaner' concept. 1 // TODO: improve store placement. Inserting at def is probably good, but need 1 // FIXME: 'using' is used by LLDB for local variables, so we can't remove 1 // FIXME: We only need to check this once, not once each time we compute a 1 return; // FIXME: allow this only for recursive locks. 1 // TODO: This would be more appropriate in CheckDerivedType() 1 // FIXME: This can easily happen, if we have a reference to a submodule that 1 // TODO: Move this into the switch on opcode - it handles shifts already. 1 // [FIXME: swiftasynccc] Update to SwiftAsync once LLVM support lands. 1 // FIXME: Currently ObjC method declarations are incorrectly being 1 // FIXME: What's a good SWAG number for MaxOffs? 1 // FIXME: This does not handle pseudo loading instruction like TCRETURN* 1 // FIXME: we're erroneously downgrading the whole group, this should be Error. 1 // FIXME: Find corresponding parameter for argument 1 // FIXME: This should go into getRemainingLength instead, but we currently 1 // FIXME Support symbols with no DF. For example: 2 // FIXME: Handle loads from strings where the literal is treated as 1 // TODO: Do the same for OR, XOR, NOT etc? 1 // TODO: Maybe store this header information for each block, even just for 1 # TODO: LLVM adds /W4 instead, check if that works for the OpenMP runtimes. 1 // TODO: Atomic intrinsic subroutines: ATOMIC_ADD &al. 1 // FIXME: Remove this bit. 1 // TODO: If we know we don't have flat instructions earlier, we can omit 1 // FIXME: Get the caller to pass in a location for the lookup. 1 break; // TODO: Eventually convert into a compiler type? 1 // FIXME: use a more powerful algorithm to find minimal sum of chain_number and 1 // FIXME: For now the callbacks have to run in async mode - the 2 // TODO: This is a stopgap. We probably want to expand the dispatch API to take 1 // FIXME: Once we model std::move for smart pointers clean up this and use 1 // FIXME: A CXCursor_AsmLabelAttr should give the location of the label 1 // FIXME: Should we walk the chain of classes? 2 // TODO: UTF-8 decoding; may have to get more bytes in a loop 1 // transformation. TODO: could other variables trigger this? Do we have to 1 // FIXME: This assert can fail if there's a race between the above check 1 // alignments in the assume bundle. TODO: Consider generalizing caller. 1 // FIXME: Implement dispatch for symbolic pointers. 1 // TODO: Implement 1 /// FIXME: Please note that the default implementation here in terms of 1 //TODO:AZ: remove explicit insertion after refactoring is done. 1 // return // TODO: find the symbol for the function??? 1 // TODO list: 1 // FIXME: this is identical to the ELF one. 1 // TODO: introduce support for negative steps or emit dynamic asserts 1 // TODO: not sure spinning is a good idea here.. 2 // FIXME: Support vector of pointers. 1 // FIXME: Should this be further up? 1 // FIXME: Not accurate, the range gets one token more than it should. 1 // TODO: Add size computation for other types. 1 // TODO: add additional operands to allow source and destination striding, and 1 // TODO cases 2, 4 1 // subsequent defs. TODO: Handle the case where the consecutive uses are 1 // FIXME: What should we do if a vector literal is followed by a 1 // FIXME: Having no standard library prevents e.g. many fastmath 1 Record.push_back(D->getObjCDeclQualifier()); // FIXME: stable encoding 1 return; // FIXME: later on we might warn on uninitialized vars too 1 // TODO: We are not doing anything with UndefElts based on this call. 1 // FIXME: We should trivially coalesce subregister copies to expose CSE 1 // FIXME: Target specific behavior about how the "extra" bytes are filled. 1 /// FIXME: deprecated, switch to the DomTreeUpdater-based one. 4 // FIXME - maybe this should this be 1 // Parse a location if specified. TODO: Don't drop it on the floor. 1 // FIXME: Assuming VGPR for any undetermined inputs. 1 // FIXME: ignore overloaded operators. This would miss cases where operators 1 // FIXME: This disregards the locale, which is Very Wrong 1 // FIXME: This method is not efficent for (micro)MIPS64R6. 1 // FIXME: we could and should support this, but for now correctness at -O0 is 1 // FIXME: Generalize this to other ANY_EXTEND than i32 to i64? 2 // FIXME: do we have anything like this on Mac? 1 // TODO: We should not synchronize here but pass the AsyncInfo object to the 1 // TODO: evaluate whether it is beneficial to change how we calculate 1 // FIXME: `isReferenced()` is currently computed before dead code 1 // TODO: we may or may not want to include in-dialect lowering to 1 /// TODO: Replace remaining uses of MCSuperRegIterator. 1 // FIXME: Currently, the number of instructions in a function regardless of 1 // FIXME: What about debug intrinsics? This matches old behavior, but 1 // FIXME: How to better communicate Register number, rather than through 2 // FIXME: support invoking patchpoint and statepoint intrinsics. 1 // TODO: Sort by getOrdinal to ensure a determinstic section order 1 // FIXME: Handle bugs. 1 // TODO: handle struct types. 1 // FIXME: Remove constructor in C++17 to turn it into an aggregate. 1 // FIXME: maybe creating a new check name for this type of bug is a better 1 bool detached = false; // FIXME: how can we determine it on Windows? 1 // TODO: Use signatures in WebAssemblyMachineFunctionInfo too and unify 1 Record.push_back(E->getConstructionKind()); // FIXME: stable encoding 1 // TODO: consider whether this constructor should be restricted to take 1 // FIXME: This also accepts sequences of operators that are not in the scope 1 // FIXME: It may be possible to craft a function with a small stack that 1 // TODO: implement directly, rather than relying on inverse. Inverse is 1 // FIXME: Reorganize TableGen so that build dependencies can be more 1 # TODO: Add an option not to build. 1 llvm_unreachable("FIXME: switch statement ?"); 1 // FIXME: We should try to find a way to avoid this (rather expensive) edge 1 // TODO: If we happen to know there is no stack usage in the 1 // FIXME: This should not be a template, but 1 // TODO: Replace flang-new with flang once the new driver replaces the 1 // FIXME: We should also handle noreturn calls. 1 // FIXME: Add retpoline support and remove the error here.. 1 // TODO: Set LateAttrs and StartingScope ... 1 // TODO: Should load to s16 be legal? Most loads extend to 32-bits, but we 1 // FIXME: Currently we limit this to the bigger pattern, because 1 loc, "TODO: mutable box value is missing type parameters")); 1 // FIXME: Make the type of the result buffer correct instead of 2 // TODO: may be better to fail and use some vector -> scalar reduction. 2 // FIXME: Consider enforcing that `Cfg` meets the requirements that 1 // FIXME: This could work better if hints worked with subregisters. If 1 // TODO: Consider removing this in favor of affine.for -> affine.parallel 1 // TODO: Try to unify this and the normal call bits for ARM, then try to unify 1 // FIXME Volatility. 1 // Ignore this case. FIXME: force fixBranches() to preserve the offset. 1 /// TODO: For classes with multiple constructors, make sure that we don't offer 1 # FIXME: This matches how they are set up in the cmake build, 1 // FIXME: not true for a nested unnamed struct. 1 // FIXME: What are we going to do with -V and -b? 1 // TODO: real/complex(2 & 3) 2 // FIXME: Expand this to consider uses beyond the same basic block. To do 1 ! TODO: handle edge cases from 17.11.31 1 // FIXME: This initializes the entry counts of only the root nodes. This makes 1 // TODO: Support critical edge splitting if blocker has more than 1 successor. 1 // TODO: these are legitimately part of ConvolutionOpInterface. 1 // operands. FIXME: Consider unfold load folding instructions. 1 // TODO: Add other instructions 1 // TODO: We pass HasSampleProfile (whether there was a sample profile file 1 // FIXME: For resource conflicts in very long non-pipelined stages, we 1 // FIXME: Support combining -ast-dump-decl-types with -ast-dump-lookups. 1 OS << BB->getName() << ", "; // TODO: remove the last "," 1 // TODO: Handle dmask trim 1 // TODO: The original callers only used 32 and 64 so these are the only 1 FIXME: add release notes. 1 // FIXME: For now we don't track NSPanels. object for the same reason 1 // FIXME: These leading forward slashes are emergent behavior. VFS depends on 1 // FIXME: above applies in any case when offset between Op1 and Op2 is a 1 // TODO: This isn't 100% true. Some personality functions are proper 1 // FIXME: We should **not** match. 1 /// FIXME: This could have been a lot simpler by visiting AutoTypeLocs but it 1 assert not os.path.isabs(obj), "TODO: support abs path" 1 // TODO: support values if Op vectorized to Many-Ops whose results we need to 1 // FIXME: Armv8.6 makes the following extensions mandatory: 1 // FIXME: Only handle *easy* calls for now. 1 // FIXME: Should handle any type that round to s64 when irregular 1 /// it. It does not emit diagnostics (FIXME: that's not true if \p ConvertArgs 1 // FIXME: We currently only handle pseudoinstructions that don't get expanded 1 // TODO: Use IFS library directly in the future. 1 /// TODO: Separate the concepts of declaration contexts and lexical scopes. 1 // TODO: fill this in and put opcode name into Instruction::m_opcode_name, 1 // TODO: How do I get `size_t`? I assume from DataLayout? 2 // FIXME: This also covers [expr.await]p2: "An await-expression shall not 1 // FIXME: On the non-embedded POWER architectures, only some of the record 1 // FIXME: Make this an optional field. 1 PRE_SYSCALL(compat_50_utimes)(void *path_, void *tptr_) { /* TODO */ } 1 // TODO: Verify this is correct. 1 // FIXME - What about special registers used in mfspr/mtspr? 1 // FIXME: SEH catchpads do not create EH scope/funclets, so we could avoid 1 // FIXME: We temporarily return false 1 // FIXME: Don't bother with this if !tok.hasUCN(). 1 // TODO: implement 1 // FIXME: use newFrontendActionFactory. 1 // FIXME: Is the DeclContext correct? 1 // FIXME: There are no test cases covering this function. 1 // TODO: We bail completely on integer div/rem and shifts because they have 1 // FIXME: If someone forgets an @end on a protocol, this loop will 1 // FIXME: Fetch data from thread. 1 // FIXME: LTOCodeGenerator dtor is not invoked on Darwin 1 // FIXME: Since there is no perfect way to bind the non-zero character, we 1 // TODO: check for a (T:n)-specific summary - we should still obey that 1 // TODO: Consider a more specific warning for this case. 1 /// TODO: static cases can have more advanced checks. 1 // FIXME: This declaration could be masked. Investigate if 1 // FIXME: Take the demanded mask of the result into account. 1 // TODO: we could do this in a more sophisticated way inside 1 // FIXME: Preserve D as the FoundDecl. 1 // FIXME: Can we just pass undef's for the remaining arguments if we don't 1 // TODO: If anyone cared, we could track __label__'s, since we know that you 1 // FIXME: Currently we're using avr-gcc as reference, so we restrict 1 // TODO: If this logic becomes more complex, and we will perform PRE insertion 1 // TODO: Actually report errors helpfully. 7 // FIXME: Do this more cleverly if both values are known constants? 1 // TODO: This constant check should be generalized to other operations. 1 /// FIXME: There is room for improvement in this case, in terms of 1 // FIXME: here and elsewhere: use llvm::Annotations library to explicitly mark 1 // TODO: Add support for other offloading programming models here. 2 // FIXME: This is a hack; find a cleaner way to integrate this into the 1 } else if (BO.hasNoSignedWrap()) { // TODO: What if both nuw+nsw? 1 // TODO: It is understood that this is deeply incorrect as far as building a 1 // FIXME: If necessary, add a bit to indicate that this ObjCInterfaceDecl 1 // FIXME: Handle PCM/PCH files. 1 // TODO: Make sure that Clang-only options don't pollute Flang output 2 // TODO: make hashing work fine with such situations 2 // FIXME: There isn't a way to ask CPlusPlusLanguage and ObjCLanguage for 1 /// TODO: We currently just number in order. If we numbered by N, we could 1 // FIXME: Not testable. 1 // TODO: add cases for NetBSD, RTEMS once tested. 2 // TODO: Is this worth it if we're creating a less aligned memcpy? For 1 // FIXME: implement on this platform 1 // FIXME: these limits eventually should be as low as 2. 1 // FIXME: This may happen if we have __attribute__((...)) on the function. 1 // FIXME: __attribute__((nonnull)) can also be applied to: 1 // TODO Consider putting each function's exception table in a separate 1 // FIXME: getNumElements() will fail for non-fixed vector types. 1 // TODO: Provide DAG patterns which transform (and x, cst) 1 // TODO: Change the interface to allow single CIs expanded, e.g, to 1 // TODO: Recursively analyze aggregates or other constants. 1 // FIXME: ? 1 // FIXME: We can't check this via lookahead before we consume the token 1 # TODO: The returned callable should be an IR emitter but that is not 1 // FIXME: If the lock function was inlined and returned true, 1 // TODO: generalize this to an op interface when there is more than one op 1 // FIXME: Pass in and use the location of the header-name token in this case. 1 // TODO: probably need some extra checks for reduction followed by consumer 1 // TODO: generator number, bound, schema 1 // FIXME: Implement error handling that doesn't kill the host program! 1 // FIXME: Initialize the Near member for each memory group to avoid 1 // FIXME: EOF macro token coming from a PCH file on macOS while marked as 1 // TODO: If offset is too big, put low 16-bit into offset. 1 // ^ FIXME: This follows boost::make_zip_iterator's assumption that all 1 // FIXME: Does this crash when a non-standard definition 1 // TODO: Match source modifiers. 3 // FIXME: This does not belong here. 1 // TODO: Change push/pops to stack adjustment instruction 1 // FIXME: Restrict this to the nodes where it's valid. 2 // TODO: Add support for big endian. 1 // FIXME: The dead frame indices are replaced with a null register from 1 // FIXME: We probably want to add that. 1 // store folded into an instruction. FIXME: Take a guess that's it's 64 1 /// FIXME: Verify that this is needed. 1 // TODO: We want to change the name as soon as the old runtime is gone. 1 // TODO: The default logic is inherited from code in CodeGenPrepare. 1 // TODO: Rank compatibility was already checked but it seems to be 1 // FIXME: We should do this optimization if 'no signed zeros' is 2 // FIXME: We could probably handle weird extending loads better. 1 // FIXME: Grouping uses by function is way too aggressive, so we should have 1 // TODO: This isn't exactly ideal. There may be situations in which a 1 // TODO: Improve diagnostic reporting. 2 // TODO: Change intrinsic opcode and remove operand instead or replacing 1 // FIXME: If DiagDecl is an implicitly-declared special member function 1 /* TODO the first serial team should actually be stored in the info_t 1 // FIXME: ToUnderlyingType is not used. 1 // FIXME: Support hover for literals (esp user-defined) 1 // FIXME: The O32 case actually describes no shadow registers. 1 // FIXME: probably similar to ReleaseMemoryToOS. 1 // TODO: Check that 'sibStoreOpInst' post-dominates all other 1 /// FIXME: this analysis does not currently support re-entrant locking. 1 // TODO: Need distinguish register class? 1 // FIXME: Handle multibyte characters. 1 // FIXME: Lookup Module Summary. 1 // TODO: Handle more cost kinds. 5 flag_value.GetScalar() = 0; // FIXME - Set to 0 when debugging is done. 1 // TODO: Get rid of magic number 4. It it NVPTX's constant address space and 1 // FIXME: We need to specify a different reg bank once scalar stores are 1 // TODO:isGuaranteedToTransfer 1 // TODO: for all of these errors, reference previous statement too 1 // FIXME: This will report conflicts by pair using a file+offset format 1 // TODO: dlsym won't work on Windows. 1 // FIXME: It's okay if the OrImm sets NotKnownZero bits to 1, but we don't 1 // FIXME: Setting "FirstInDeclGroup" in CXCursors is a hack that only works 1 // TODO: Compute memory dependencies in a way that doesn't require always 1 // TODO: If Min/Max, we can also determine a minimum/maximum value if 1 "FIXME: Need to emit flat atomics here"); 1 // FIXME: Canonicalize paths correctly on windows. 1 // FIXME: Because of a bug, live registers are sometimes missing from 1 // TODO: The placeholder is needed to avoid replacing barePtr uses in the 1 // FIXME: These might be better as path objects. 1 // TODO: This should really be recovered from the specified target. 1 // FIXME: MD_tbaa_struct and MD_mem_parallel_loop_access should also be 1 # FIXME: For macOS and iOS builds, depend on lib in all needed target arch 1 // TODO C931 prohibits the use of a coindexed object as a stat-variable. 1 /// FIXME: Perhaps we should change the name of LateParsedDeclaration to 1 // FIXME: Try to handle DW_OP_deref as well. 1 // TODO: undef >>a X -> poison if the shift is exact 1 // TODO: This can probably be trimmed substantially. 1 // FIXME: Evaluate, if emitting a fix-it to simplify that statement is 1 // TODO: there are cases where we may still want to pad to larger sizes. 1 // FIXME: This is wrong for the ARM ABI, where some other module may have 1 /// FIXME: Currently this doesn't also depend on a function analysis, and if it 1 // TODO: generalize this pattern, relax the requirements here. 4 /// TODO: lowering of CHARACTER type cases is not handled yet. 1 // FIXME: Remove this hack when we support symbolic truncation/extension. 1 // FIXME: We should be using the number of registers determined during 1 // FIXME: Fix the complex the case where the symbol being renamed is located in 1 // FIXME: Add support for boolean expressions. 1 // FIXME: support dynamically sized G_MEMCPY_INLINE 1 const Align MemAlign(4); // FIXME: ABI type alignment? 1 // FIXME: since we're doing a post-processing, use a pseudoinstr here, so 1 // TODO: use an interface/adaptor to avoid leaking position in 1 // TODO: Could insert earlier and schedule more liberally with operations 1 // FIXME: Add iterators that abstract over the small and large form, and then 1 // TODO: Handle vector types once we are able to 1 /// FIXME: Generalize this for all values rather than just instructions. 1 // TODO Can we exclude call instructions that are marked as 'nounwind' in the 1 /// TODO: Probably it's worth to hoist the code for estimating the 1 // FIXME: Emit a proper error 2 // TODO: Use this algorithm to perform fast single-variable renaming in 1 // TODO: this should be relaxed to allow 1 // TODO: Using 16 and 8 bit operations is also possible for or32 & xor32. 1 // TODO: If we add a larger pattern match that starts from an insert, this 1 // TODO: We don't recognize self-insertion/widening. 1 // TODO: mark vfork call in BugReportVisitor 1 // FIXME: Determine whether the move constructor is a viable candidate 1 // FIXME: possibly refactor with logic in CXStoredDiagnostic. 1 /// TODO: Move this out of TargetLowering.cpp. 1 // TODO: Dump index contents 1 // FIXME: we may want to also print the size of the access here, 1 // FIXME: We should share epilog codes across epilogs, where possible, 1 // FIXME: Distinguish between dead code and an LLVM "undef" value. 2 // FIXME: Currently, this only tests that we don't exit with an error if a 1 // FIXME: it only parses "llvm.linker.options" metadata at the moment 1 // TODO: is relaxed store enough here (whole barrier should follow)? 2 // FIXME: frem should be handled separately. The fdiv in it is most of it, 1 # FIXME: Ideally, we would build the N32 library too. 1 // FIXME: Fix this test in non-C++ language modes. 4 // FIXME: a better alternative might be to store the unsafe stack pointer 1 // TODO Nested loops are currently widened as a result of the invalidation 1 // FIXME: Assure that the ValueList we were passed in is consistent with the one 1 // FIXME: There is no good reason for the domtree to require a print method 1 // FIXME: Check for C++ support in "to" context. 2 // FIXME: the motivation for capturing post-merge bitcode and command line 1 // FIXME: This might be wrong: _sigprocmask doesn't take __sanitizer_sigset_t *. 1 // TODO: Drop this transform once opaque pointer transition is done. 1 // FIXME: This is a temporary workaround until the reserved registers can be 1 // FIXME: Remove newline. 1 // FIXME: Ideally we'd get a declstmt or the VarDecl itself here. 1 // TODO: Support cases such as extract_slice(init_tensor) 1 // TODO: The algorithm below relies on both RPO and Postorder traversals. 1 elseif(MINGW) # FIXME: Also cygwin? 1 // TODO: We can easily support i4/i2 legal types if any target ever does. 1 // TODO: Track C++20 std::numbers. 1 // FIXME: check whether the next token is '<', first! 1 /// TODO: Separate from MDNode, or otherwise drop Distinct and Temporary 1 // FIXME: Move this to MCSubtargetInfo and use it in llvm-mca. 1 // FIXME: The following two loops would not be duplicated 1 // TODO: Evaluate whether that always results in lowest cost. Alternatively, 1 /// FIXME: remove this hack once the implementation is good enough. 1 // TODO: We can probably do more work on calculating the known bits and 2 // FIXME: Suppress the warning here if there is no initializer; we're 1 // FIXME: are more folds possible? 1 // TODO: Be more strict about this. 1 // FIXME: Find some way to avoid the copy? 1 // TODO: Identify and add different kinds of failures during slice computation. 1 // FIXME: is this necessary or correct? This handles the non-Region 1 // FIXME: extractvalue 1 // TODO: depending on profitability, elect to reduce the vector size. 1 // TODO: Should have same legality without v_perm_b32 1 // TODO: Do we need these to be typed? 1 // FIXME: This can give false "origin" that would lead to false negatives 1 // FIXME: Adding to live-ins redundant with reserving registers. 1 // FIXME: Some of these could be permitted with special handling, 1 // TODO: Theoretically we could use op-sel to use the high bits of the 1 // TODO: this is currently 24 bytes (20 bytes + alignment). 1 // TODO: Add a note to bug reports describing this decision. 1 // TODO: Really? Check that they are really branch target 1 // TODO: Do ".setMIFlag(MachineInstr::FrameSetup)" on emitted instructions 1 // FIXME: Pass Global's alignment when globals have alignment 1 // FIXME: function calls to overloaded operators are not fixed now even if 1 const double *__a) { // TODO: placeholder until OCML adds support. 1 // FIXME: This check is dubious. It's used to get around a problem where 1 // FIXME: We're SExt i1 to i64. 1 // FIXME: This is to handle i1 vectors with elements promoted to i8. 1 // FIXME: We may need different solutions, depending on the symbol 1 // TODO: ICV tracking to detect compatibility. 1 // TODO: Match vectors with undef elements, but undef may not propagate. 1 // FIXME: Implement our formatter to here or Support/Format.h! 1 /// FIXME: Generalize this for other kinds of declarations. 1 /// TODO: Implement the packing transformation. 1 // FIXME: Found two non registers to commute. This does happen. 1 // FIXME: This is vastly incorrect for patterns with multiple outputs 1 // TODO: it would be great to have a fixit here, since this is 1 // FIXME: This should be replaced with a real .td file alias mechanism. 1 // FIXME: chdir is thread hostile; on the other hand, creating the same 1 // TODO: Currently used for context chains when limiting debug info. 1 // FIXME: GNU ld permits INPUT_SECTION_FLAGS to be used here. We do not 1 // FIXME: Currently the caller of this function has no way to understand 1 # FIXME: Actual values for everything. 1 // FIXME: In this case, the declaration should only be visible if a module 1 // TODO: AbstractCallSite 1 // FIXME: this restriction could be relaxed if Cmp1 can be reused as one of 1 // FIXME: We need something similar to CXXRecordDecl::DefinitionData. 1 // TODO: The result of the intrinsics above is two-compliment. However when 1 "FIXME: Currently RNSuccIterator only supports NodeRef as " 1 // TODO: why we need this outConvertedType? remove it? 1 // FIXME: Check that resource-dir/built-in-headers exist? 1 /// FIXME: Historically this function has returned false when given vregs 1 // FIXME: Check V9 1 // FIXME: Sign extend 1 to all ones if that's legal on the target. 1 // FIXME: Not all targets may support EVL in VP_LOAD. These will have been 1 // TODO: can we keep this simplification? 1 // FIXME: May need no denormals check 1 // FIXME: Currently -fsanitize=leak is silently ignored in the presence of 1 // TODO: Investigate what happens with the next major version of MSVC. 1 // TODO: more fields than add/mul. 1 // FIXME: This is shared with define inline, move them to a common header once 1 // FIXME: Currently, documentation is generated as-needed due to the fact 1 // TODO: some of this code is common with G_BUILD_VECTOR handling. 1 // TODO: Should this use datalayout alignment? 1 // FIXME For now, all byval parameter objects are marked mutable. This can 1 // FIXME: Implement a base class search like we do for Itanium. 1 /// FIXME: Remove in favor of std::string_view once we have c++17. 1 // FIXME: Diagnostic should be able to natively handle types that have 1 // TODO: Merge this into generiic vXi32 MUL patterns above. 1 // FIXME: Calls have a *really* confusing interface around attributes 1 // FIXME: It should be safe to return false for the STO_MIPS_MICROMIPS but 1 // FIXME: Operands are not in canonical order at -O0, so an immediate 1 // TODO: We should constant-evaluate the initializer of any variable, 1 {R"cpp(// FIXME: We should also mark positions before and after 1 // TODO: when the leaf transfer rank is k > 1, we need the last `k` 1 # FIXME: Make this configurable? 1 // FIXME: Fix section flags/attributes for MachO. 1 // TODO: Add support for relocations in other sections as needed. 1 // FIXME: Autogenerate this list 1 // FIXME: There's a hack in our Store implementation that always computes 1 // FIXME: In the long-term, when we test more than source locations, we may 1 // FIXME: This check is too conservative now, it should be enough to only 1 // FIXME: Probably shouldn't bother trying to fold if not an 1 // FIXME: Currently the state might also already contain the marker due to 1 // FIXME: In the future it would be nice if we could avoid hardcoding these 2 case PPC::DIR_PWR8: Opcode = PPC::NOP_GT_PWR7; break; /* FIXME: Update when P8 InstrScheduling model is ready */ 1 // FIXME: We can safely allow undefs here. If Index was specified, we will 1 pcmd("// FIXME: do some kind of PRE_READ for all syscall arguments (int(s) and such).") 1 // TODO: Probably should have a recursion depth guard since you could have 1 // TODO: The error should be propagated up the stack. 1 // FIXME: Add an option for controlling how we explore immediates. 1 // FIXME: Handle MemberExpr. 1 // TODO: Double check with the next version of MSVC. 1 // // FIXME: This should never take place. 1 // FIXME: If anybody needs it, implement this obscure rule: 1 const Align KernArgBaseAlign(16); // FIXME: Increase if necessary 1 POST_SYSCALL(compat_43_ogethostid)(long long res) { /* TODO */ } 1 // FIXME: We really would like this in target specific code rather than 1 // TODO: recover from mistakenly-qualified operator declarations. 1 // TODO: Add support for related syntactical elements (i.e. comments, ...). 1 // TODO: we shouldn't cross the vector/scalar domains just for this 1 // TODO: Need to emit a wave reduction to get the maximum size. 1 // TODO: Should we allow mismatched types but matching sizes in merges to 1 // FIXME: avoid emitting redundant braces 1 // FIXME: It is known that the Ctor is present in 2013, and in 2017.7 1 // TODO: Allow arbitrary shuffles by shuffling after binop? 1 // FIXME: Can we figure out what the user actually typed (e.g. some alias 1 /// TODO: This isn't fully implemented yet. 1 /// FIXME: Remove once transition to Align is over. 6 // FIXME: we can probably make a more useful statement about non-code 1 // TODO: Add a method to AffineApplyOp which forward substitutes the 1 // FIXME: Eventually replace RegionRawOffset with this class. 1 // TODO: It would be nice to test consistency as well 1 // TODO: Perform finalization actions for variables. This has to be 5 // TODO: Operator delete is hardly the only deallocator -- Can we reuse 1 // FIXME: This only works after processFunctionBeforeFrameFinalized 1 // FIXME: The DwarfLinker can have some very deep recursion that can max 1 // FIXME:: check 64bit. 1 // TODO: That potentially might be compile-time expensive. We should try 1 // FIXME: Some more work might be needed to handle destructors correctly. 1 // FIXME: Correctly measure the length of whitespace in Split.second so it 1 // TODO: extend the generic vectorization to support windows and drop this. 1 { ISD::SETCC, MVT::v32i16, 2 }, // FIXME: should probably be 4 1 // FIXME add test for lea_rsp_pattern_p 1 // FIXME: Change code to allow this. 1 // FIXME: If the name is a dependent name, this lookup won't necessarily 1 // TODO Set the function indicator (bit 10, 0x0020) for functions 2 // FIXME: This is really slow. 1 // TODO: Add tests that show that the body of the programs have been read 1 // FIXME: The order of evaluation of these 'getResult' calls is very 1 // FIXME: This is a horrible name. 1 // FIXME: We should be more careful about sorting below comments as we don't 1 // FIXME: Move to FrameInfok 1 // FIXME: Swap ADDS<->SUBS if Offset < 0, erase instruction if 1 // FIXME: Emit optimized urem by constant instead of letting it expand later. 1 // FIXME: Newlines can also be escaped by a '?' '?' '/' trigraph. 1 // FIXME: ParmVarDecls that are part of a function type of a parameter of 1 // FIXME: We should remove all of them. However, AArch64 emits an 1 // TODO: return a good value for BB-VECTORIZER that includes the 1 // different but equivalent function versions. TODO: For OpenMP we currently 1 // TODO: get nproc directly from current task 1 // TODO: Implement an interface of eraseInstruction that works out the 1 // FIXME: Much of this should eventually migrate to CXXAllocatorCall. 1 // TODO: It may be okay to round to align, but that would imply that 1 // TODO: Add support for handling cfi_remember_state. 1 // FIXME: Variadic arguments are not handled at all right now. 1 // TODO: break down into transpose/reshape/cast ops 1 // FIXME: This can lead to the same subexpression appearing multiple times 1 // FIXME: Support relocations debug_addr. 1 // TODO: Loop variant strides should in theory work, too, but 1 // FIXME: Investigate why -fms-compatibility breaks tests. 1 // TODO: Make this `inline` once we update to C++17 to avoid ORD violations. 1 // TODO: This is way overconservative for unordered atomics (see D66309) 1 // FIXME: The following fields should not be mutable, but are for now so the 1 // FIXME: in theory there is a case that does not introduce a new branch, 1 // FIXME: This needs testing w/ member access expressions. 1 // TODO: Support DBG_VALUE_LIST and other debug instructions. 1 // FIXME: It may be possible to remove the isKill() restriction once PR18663 1 // FIXME: Not currently possible to express a shuffle mask for a scalable 3 // FIXME: Return memory to slab. 1 // TODO: Should handle vector splat. 1 // FIXME: This lets targets specialize the selector by subtarget (which lets 1 // TODO: make `const char *` when removing support for Python 2. 1 // TODO: Set proper options when more fortran standards 1 // FIXME: The two-phase mechanism by which we construct Types and fill 1 // TODO: We can relax this for targets like AArch64 as they have more 1 // TODO: Ideally, we should have a checker for each of these bug types. 1 // FIXME: "hideous" code from Sema::LazilyCreateBuiltin 1 // TODO: Handle these cases if they become meaningful 1 // FIXME: Consider adding braces before EMPTY_MACRO and after the statement. 1 // FIXME: should check if immediate value would be valid for an ARM 1 // FIXME: Once fast-isel has better support for VSX, conversions using 2 // TODO : Fill-up this table with more intrinsic. 1 // TODO: Can we improve YAMLIO to permit a more accurate diagnostic here? 1 // implement thunks. TODO: Adding support for branch islands! 1 // TODO: This single-use restriction could be relaxed by using tees 1 // TODO: support combines with other casts as well 1 // FIXME: This is inconsistent with the warning code in SemaChecking. Unify 1 // TODO: check that insertPoint is in this rather than some other block. 1 // FIXME: 9 // FIXME: This should come from the target. 1 // TODO: Use StringRef 1 StringRef Prefix = ""; // FIXME: This isn't the correct default prefix. 1 // FIXME: attribute locations. 1 // FIXME: Infer regclass from instruction alone. 1 // FIXME: This will also mark enums with braces in the arguments to enum 1 // TODO: 2 // TODO: If important, we could handle the case when the BitsToClear are 1 // FIXME: Add more precise value of e for long double. 1 // FIXME: Delete this structure. 1 // TODO: Does not require queue ptr on gfx9+ 1 // FIXME: maybe make this a user-tweakable setting? 1 // FIXME M68010 or later is required 1 // FIXME: #18950828 - we rely on relative offsets inside basic blocks to stay 1 // TODO: When a region inliner exists, use it. 1 // FIXME: It's really annoying that we don't have an 1 // FIXME: Exclude the optional ud-suffix from the highlighted range. 1 // TODO: Should probably note flat usage somewhere. SC emits a "FlatPtr32 = 1 // TODO: Use NullPointerIsDefined instead. 1 // FIXME: Move OnlyLocalDecls, UseBumpAllocator to setters on the ASTUnit, we 2 // FIXME: If the threshold is removed or lowered too much, we could end up 1 // FIXME: Support Decl Hoisting. 1 /// TODO: There are many opportunities for improving the heuristics here. 1 // FIXME: Doesn't print access specifiers, e.g., "public:" 1 // FIXME: Non-standard mangling for decomposition declarations: 1 // TODO: make this work with non-identity layout maps. 1 // FIXME: We might want to consider moving method definitions below class 1 // TODO: find an alternate to atomic refs for heap-allocated nodes? 1 // FIXME: This should be looking at E, not M. 1 // FIXME: Print the possible common types by printing the return types of 1 // FIXME: DependentSizedExtVectorType 1 // FIXME: Figure out cases where this is not true, and add projections 1 // FIXME: This is probably where inheritance would be a problem. 1 LIBLLDB_LOG_EXPRESSIONS)); // FIXME - a more appropriate log channel? 2 // FIXME: size expression and attribute locations. 1 // FIXME: use the loc for the template name? 1 // TODO: move this check to spv.func. 1 // FIXME: This is, unfortunately, linear time. 1 // TODO: Use a more targeted data structure. 1 // !!! TODO: Issue a warning? 1 // FIXME: Is this correct for the static relocation model? 2 // FIXME: If this is actually a C++11 attribute, parse it as one. 1 // FIXME: Use a different callback for a pp-import? 1 // FIXME: Implementation of a class with no @interface (legacy) does not 1 // FIXME: it should be ok to clone CallBrInst's if we correctly update the 1 // FIXME: we might need to merge the number of positive or negative bits 1 // FIXME: This definition of "copy elision has not failed" is unreliable. 1 // TODO: Not implemented. 1 // TODO: Other immediate-like operand kinds could be commuted if there was a 1 // TODO: What should MaxInstLength be? 1 // TODO: It is enough to check that the bits we would be shifting in are 2 // FIXME: is it really beneficial to sink the `not` here? 1 // FIXME: There are enough /bytes/ between the endpoints of the edge, but 1 // FIXME: What -std= values should be permitted for CUDA compilations? 1 /// FIXME: This currently supports a single match position but could be 1 bool DontSearchCurDir = false; // TODO: set to true if -I- is set? 1 // TODO: ideally we should still be able to generate memset if SCEV expander 2 // FIXME: Allow shared_ptr keys in DenseMap? 1 // FIXME: Maybe use std::variant and std::visit for these. 1 // FIXME: Portability. Filename concatenation should be in sys::Path. 1 // FIXME: If the source is a prvalue, we should issue a warning (because the 1 // TODO: also need to be checking this for regions symbols that 1 // FIXME: Diagnose this as field access into a scalar type. 1 // TODO: Convert this function to take ArrayRef 1 // TODO Delete after we stop supporting generation of GNU-style .zdebug_* 1 // FIXME: Should we consider the build-mode-specific path as the prefix? 1 // TODO: This is only a hot fix for SCoP sequences that use the same load 1 // TODO: allow modifications of loop-local variables 1 // FIXME: Is the HiCmpC->isOne() here correct for 1 // TODO: What exactly do we want to see as device ISA trait? 1 // TODO: This might not work if more than 1 recursive reference is 1 // FIXME: Remove this as soon as possible 1 // FIXME: this is profitable (for compiler time) to do at -O0 too, but 1 // FIXME: We set the section explicitly to avoid a bug in ld64 224.1. 1 "FIXME: AST inputs not yet supported here!"); 3 // FIXME: we may want to go through inttoptrs or bitcasts. 1 // FIXME: It would be better to preserve alignment information into CallArg. 1 // FIXME: Currently we disable this transformation in big-endian targets as 1 PRE_SYSCALL(compat_16___sigreturn14)(void *sigcntxp_) { /* TODO */ } 1 // cost of vector-4 for KNL. TODO: Check, maybe the gather/scatter 1 // FIXME: some words are hard to tokenize algorithmically. 1 // TODO: Delay the need of such type until codegen or find a way to use 1 /// TODO: point to the proper places. 1 // FIXME: This is not an optimal expansion, but better than crashing. 1 /// FIXME: Should this be looking through bitcasts? 1 // TODO: Currently min/max reassociation is restricted to integer types only 1 # TODO: It's difficult to display a good diff when frame numbers shift. 1 // FIXME: This should be an explicit check for Mesa. 1 // FIXME: Also consider what happens for something like this that involves 1 // TODO: do not rely on this behavior. 1 // FIXME: For now traverse explicit instantiations here. Change that 1 /// FIXME: We should have a good summary of the GVN algorithm implemented by 1 // FIXME: Imaginary. 1 // FIXME: Remove the second disjunct when we support symbolic 1 // TODO: Consider buffering symbols for the entire object file to reduce 1 // FIXME: The COFF spec allows either a 0-sized entry to just say 1 // FIXME: We shouldn't have to pass in the path info. 1 // effect the result. TODO: We could use a worklist here and make this run 1 // FIXME: it would be nice not to walk over the list of potential attributes 1 // TODO: Is this check needed? 1 // FIXME: For the linker case specifically, can we safely convert 2 // FIXME: Add tests for other types with getDecl() (e.g. RecordType) 1 // FIXME deprecate this. 1 // FIXME: This language rule no longer exists. Checking for ambiguous base 1 // TODO: `getSliceBounds` may return multiple bounds at the moment. This is 1 // TODO: remove after supported by Tablegen-erated instruction selection. 1 // FIXME: This should not be affected by the source drift issue as 1) if the 1 # FIXME: Rather than duplicating this -I flag in both the CMake and 1 // FIXME: This support could be added in the future. 1 // FIXME: is there a more intelligent way to check lock/unlock functions? 1 // TODO: use an interface/adaptor to avoid leaking position in 1 // FIXME: Add operand bundles for calls. 1 // FIXME: This loses the as-written tag kind for an explicit instantiation. 1 /// FIXME: We shouldn't need an explicit TargetTriple parameter here, and 1 // TODO: Look into removing this restriction by fixing backends to either 1 // FIXME: The ASTReader will already have complained, but can we shoehorn 1 /// FIXME: Deprecate this function once migration to Align is over. 2 // TODO: Remove 'memref' when we support more generic scenarios. 1 // TODO: We can avoid the neg on the fract? The input sign to fract 1 /// FIXME: also properly record: 1 // TODO: We could suggest a list of using directives replacing the using 1 return ast_ctx.UnsignedIntTy; // FIXME: the spec is fairly vague here. 1 // FIXME: Try to account for padding here. The real padding and address is 1 // FIXME: We should also incorporate the detected target features for use 1 // FIXME: Evaluate other kinds of `CFGElement`. 1 // FIXME: Is there a better condition expression we can return in this case? 1 // FIXME: Implement in mips? 2 // FIXME this is a poor heuristic - if we're greater than 16 bytes past the 1 // TODO: Implement `_sf` variants if/when they need to be emitted. 1 // FIXME: implement this 1 // FIXME: dsymutil-classic won't unique the same type presented 1 // FIXME: Also should handle region. 1 // FIXME: This would probably be a lot nicer in PostLegalizerLowering. 1 // FIXME: Take LangOpts into account; the language might not 1 // !!! TODO: Move buffer initialization of of this file! It may works 1 // FIXME: Can we define a safety predicate for CallBr? 2 // FIXME: This will use the vliw scheduler which is probably just hurting 1 // FIXME: Handle other CFGElement kinds. 2 // FIXME: Per core-2016/10/1019 (no corresponding core issue yet), permit 1 // FIXME: Support this search within frameworks. 1 // FIXME: Remove when darwin's toolchain is initialized during construction. 1 // FIXME: We could use the modules-ts, but that currently doesn't work. 1 // FIXME: check 64bit and handle %fcc1 - %fcc3 1 // FIXME: This should probably only return true for NUW. 1 // TODO: We could fold 64-bit immediates, but this get compilicated 1 // FIXME: This seems unsafe. If BatonSP actually *is* a CommandBaton, but 1 // TODO: Mask high bits with 'and'. 1 // FIXME: This typedef is here to enable SPS arg serialization from 1 // FIXME: Use Function::hasOptSize(). 2 // FIXME: If the known register value is zero, we should be able to rewrite uses 1 // FIXME: Refine when odd breakdowns handled 1 // TODO: decode other sections. 1 // FIXME: add support for adding other function return types besides void. 1 // TODO: is this heuristics good enough?? 1 // TODO: Technically we could try to pattern match scalar bitshifts of 1 // TODO: Looking at the user(s) to determine if this insert is a 1 // FIXME: As compiler doesn't have any information about overlapping addr 1 // FIXME: Skip this capture if the capture is not used, the initializer 1 // FIXME: This should be in the MachineVerifier, but it can't use the 1 // FIXME: StringRef may not be the right type to use as a result for this. 1 // FIXME: Can we avoid a linear search here? The table might be sorted by 1 // TODO: Add NoteTag, for how the raw pointer got using 'get' method. 1 // TODO: There are other cases we can skip this work, such as when we have a 1 // TODO: GEH - then replace r_active with t_active_levels if we can to reduce 1 decl->setAccess(clang::AS_public); // TODO respect proper access specifier 1 // TODO: add timeout version of GetPacket?? We would then need to pass 1 // FIXME: We should find a way to emit the runtime call immediately 1 // FIXME: This doesn't guarantee that we use the same ordering as 1 VisitStmt(S); // FIXME: no test coverage. 6 // FIXME: This code should be deleted once existing targets have 1 // FIXME: This should be eliminated. What we want to do is make this part of 1 // FIXME: We prefer to print the size directly here, but have no way 4 // TODO: Expand to allow for documenting templating. 1 // FIXME: Is this true in the case where we are hardening loads after 1 // FIXME: The C++11 standard doesn't actually say that this is a 1 // FIXME this drops the error on the floor. This code is only used for 1 // FIXME: TemplateTemplateParameter doesn't store the info on whether this 1 // FIXME: Implement this string-enum correspondence with a .def file and macros, 1 // FIXME: Capture mutation information 1 DEF_TRAVERSE_DECL(ObjCCompatibleAliasDecl, {// FIXME: implement 1 // TODO: We get much worse code in specially handled constant cases. 1 # FIXME: Setting CMAKE_CXX_FLAGS here is a no-op, use target_compile_options 1 // FIXME: Make this work for MSVC. 1 // FIXME implement register handling for exec'd inferiors. 1 if (Ty.isVector()) // TODO: 1 // TODO: check if we need to also suppress b_arrived flags 1 // FIXME: Many of these should probably return false but MIPS16 isn't 1 // FIXME: Check this incrementally while visiting !dbg attachments. 1 // FIXME: Use an in-place array instead of a vector for DeallocActions. 1 // TODO: we have duplicated information in DynamicTypeMap and 1 // FIXME: base 36 1 # FIXME: Wrong size. 2 LIBLLDB_LOG_EXPRESSIONS)); // FIXME - a more appropriate log channel? 3 // FIXME: We could handle some instructions which add a constant offset to 1 TODO: These should just be dumb containers or serialization code but they 1 # FIXME: Check which platforms need this; certainly needs to be false on 1 // FIXME: Should we be checking these flags on the primary context? 1 // TODO: Checking for aliasing is expensive. Consider reducing the amount 1 // FIXME: If the operand types don't match the type of the divide 1 // TODO: Maybe we should look around and merge with other llvm.assume. 1 // TODO: multiple images and image_distinct: add image number 1 // TODO: Define more sections. 1 // TODO: don't hardcode /*numIvs=*/1. 1 // FIXME: types 1 // FIXME: Should initialize KernArgSize based on ExplicitKernelArgOffset, 1 // FIXME: Once we understood exactly if that information is needed, 1 // FIXME: Expensive Check 2 // TODO: If only low elt lower SQRT to FSQRT (with rounding/exceptions 1 // FIXME: have LockFileManager return an error_code so that we can 1 // FIXME: Handle types correctly 1 // TODO: The way the content is split below does not allow space within the 1 // FIXME: Currenty we do not support CTU across C++ and C and across 1 // TODO: Refactor addRuntimeLibSections to work properly on Mach-O 1 // TODO: There a number of local optimizations which could be applied here 1 // TODO: pybind11 2.6 supports a more direct form. Upgrade many years from 1 // FIXME: If we change the order of LoopInfo we will want to remove the 1 // FIXME: Find a better way to find these instantiations! 1 // TODO: Remove this constructor. This isn't faster than the first one. 1 // FIXME: Implement __finally support. 1 StmtPtrPtrTy E; // = nullptr; FIXME: Once support for gcc 4.8 is dropped. 1 // TODO: what about inrange on constexpr? 1 // TODO: this can eventually move to CanonicalLoopInfo or to a new 1 // TODO: Favor using the hexadecimal FP constants (requires C++17). 1 // TODO: For better bufferization results, this could return `true` only if 2 // TODO: This is currently not checked. 1 // FIXME: Consider updating libc++abi to match, and extend this logic to all 1 // FIXME: Don't emit unreachable code. 1 // FIXME: Why are we trying to remove files that we have not created? For 1 // TODO: check the malloc lock? 1 // FIXME: Relying on memoperands() may not be right thing to do here. Check 1 /// TODO: Handle out of range bc, b (pseudo) instructions. 1 // TODO: Move into the switch on opcode below here. 1 // FIXME: cleanuppad 1 /// TODO: This relies on a barrier always generating a waitcnt 1 // TODO: Prevent fusion of loop nests with side-effecting operations. 1 // FIXME: The expression inside a CXXDefaultArgExpr is owned by the 1 // TODO - If we want to chain more than two instructions, we need to create 1 // TODO: Figure out what GlobalRefs substream actually is and populate it. 1 // FIXME: Use the earliest possible split while reflowing to compress the 1 // TODO: Reduce the weight by exploiting nsw/nuw? (Could do much better than 1 // TODO: Should this propagate fast-math-flags? 9 // FIXME: Consolidate duplicate definitions of RegisterRef 1 // FIXME: Should we detect this at module load time? It seems fairly 1 // TODO: Add a format option when more than one are supported. 1 // FIXME: Try to resolve dependent field references. 2 // FIXME: arch-specific. 1 // FIXME: For space reasons this should be: EK_GPRel32BlockAddress. 1 // TODO: Handle the non-equality case for weird sizes. 1 // TODO: We could allow unordered and monotonic atomics here, but we need to 1 // FIXME: getCurScope() should not be used during template instantiation. 2 /// TODO: keep track of instances, e.g. overload locations and signatures. 1 // TODO: We are constructing the Operator wrapper instance just for 1 // TODO: Revisit the need for materializing a vector. 1 // TODO: For now we only find vectors in BaseTypes. It might be better to 1 // TODO: Currently we handle only loops with 1 induction variable. 2 // FIXME: This should propagate failure up to parseStatement. 1 // TODO: Add support for constructing a vector type from the vector operands. 1 // FIXME: Consider not skipping import if the module contains 1 // TODO: This is required to be implemented, but appears unused. 1 // FIXME: We don't have a fitting value for Kind. 1 // FIXME: This should not be required as diagnostic handler is not callback. 1 // FIXME: Add callback implementation. 1 // FIXME: Need to support GR32 here for 32-bit code. 1 // FIXME: These assume a naive kshift+binop lowering, which is probably 1 // FIXME: demangle Str for C++, as the attribute refers to the mangled 1 // FIXME: Should flat be considered vmem? 1 /// TODO: This is a rather blunt instrument. Perhaps altering the costs of 1 // TODO: Actually use the failed-deduction info? 1 // TODO: Visit blocks in global postorder or postorder within the bottom-up 1 // FIXME: Make Path a real class with desired semantics instead. 1 // TODO: accept more affine cases for sparse tensors 1 // TODO: This could be generalized to clearing any bit set in y where the 1 // FIXME: Use the directory info to prune this, before doing the stat syscall. 1 // TODO: Should we change s16 case to s32 or <2 x s16>? 1 // TODO: Promote dynamic indexing of s16 to s32 2 // TODO: If we somehow know the number of iterations in loop, the same 1 // FIXME: should we save this for Clang? 4 // TODO: Also consider cost of copying if operands alias. 1 // FIXME: Add documentation. 1 // TODO Make Name private when possible. 1 // FIXME assert if we find differently. 1 // TODO: ReturnCaptures=true shouldn't be necessary here. 1 // FIXME: Print each flag on a separate line. 1 // FIXME: Handle the quote character somehow. 1 // FIXME: We currently can't disambiguate between multiple protocols. 1 // FIXME The condition !T->idDependentType() could be relaxed a bit, 1 // FIXME: This is theoretically wrong: if the current state is shared with 1 /// FIXME: This is a temporary measure until we have actual pattern matching 1 // Currently we only support accesses with unit stride. FIXME: we should be 1 // TODO: this could be special cased for common tokens like identifiers, ')', 1 // 21-bits, so always use large memory access for them. FIXME: This is a 1 return; // TODO: Handle non-uniform responses. 1 // FIXME: avoid the fake decl 1 // FIXME As above, this drops the error on the floor. 1 // FIXME: there are other types that have similar problems 1 // FIXME: handle error. For now, print error message and skip the 1 // FIXME: This extensively assumes that 'char' is 8-bits. 1 // TODO: Add support for noalias args/all the other fun function 1 // TODO: This whole transformation should be backend specific (e.g. some 1 // FIXME: Modify API to hide this math from "user" 1 // FIXME: Need better qualifier checks: check mutated status for 1 // FIXME: Uncomment once alignof is enabled. 1 // TODO: is there any way to detect that an executable is a kernel 1 // TODO: modify code in SelectionDAGBuilder to make this less sad. 1 // TODO: Make this check part of CallDescription. 1 // TODO: Don't fully scalarize v2s16 pieces? Or combine out thosse 1 // FIXME: Hack until VReg_1 removed. 2 // FIXME: should check if immediate value is a multiple of 4 between -508 1 // FIXME: Use inline constants (src_{shared, private}_base) instead of 1 // FIXME: Support macros with the same name as a keyword here. 1 // FIXME: Dump SourceLocation. 1 // TODO: Investigate if this is too expensive at O1. 1 // TODO: This usually (always?) matches the thread context of the 1 // FIXME: This should be generalized to more than just the AlignedAttr. 1 // FIXME: This warning is disabled in cases where it shouldn't be, like 1 // TODO: Expand to allow for documenting templating, inheritance access, 1 // FIXME: This should be an assertion. 1 // TODO: ld64 appears to preserve the original alignment as well as each 1 // TODO: This also should have been folded out 1 // FIXME: SubArch values were simplified to fit into the expectations 1 // FIXME: DelayTypeCreation seems like such a hack 1 // TODO: Tag resolution. 1 /// FIXME: This should be turned into a TSFlags. 1 // TODO: If RHS is a constant SelectionDAGBuilder expands this into a 1 // TODO: We could add the byref attribute if not byval, but it would 1 // FIXME: Remove this once there's a better way to pass check names than 1 // TODO: is this alignment already sufficient? 1 // FIXME: This doesn't work for function pointers because the variable name 1 /// TODO: This is an overpessimization. We only have to ensure that the PHI 1 // FIXME: Support -meabi. 1 /*FIXME:ConstructLoc*/ SourceLocation(), ConstructorArgs)) 1 // TODO: make sure we get the exact value in reg if needed. 1 // FIXME: remove the type-dependent bit from subexpressions, if the 1 // FIXME: not clear how to mangle this! 4 // FIXME: Find a .td file format to allow for this to be represented better. 1 // TODO: Free all unneeded ghash resources now that we have a full index map. 1 // TODO: header template 1 // TODO: Clean detach message? 1 // TODO: handle other cases 1 // FIXME: Using probability is probably (!) not the best way to achieve 1 // FIXME: Suggest const_cast<...>(reinterpret_cast<...>(...)) replacement. 1 // TODO: Extend this for >2 args by matching the trailing N-2 args. 1 // FIXME: Parts of this are duplicated in the backend, unify this somehow. 1 // FIXME: This should respect the extend type 1 // FIXME: There is no way to emit value 0 (wchar_t prohibited). 1 // FIXME: This is a horrible hack and should be processed via 1 // TODO: JSONImporter should throw away DependenceInfo. 1 // FIXME: clang's completion also returns documentation for RK_Pattern if they 1 // TODO: implement HashTableSignature... 1 /// FIXME: This uses a std::map because ActionT can be a pair type including 1 // FIXME: This should have a version which takes a non-const alloc. 2 // FIXME: If we could restructure the CFG, we could make a common pred with 1 // TODO: Avoid opening the PE/COFF binary twice by reading this information 1 // TODO: may want to memoize this information for performance but it 1 // FIXME: Should we put the new global into a COMDAT? 1 // FIXME: This note should be produced by a CodeSynthesisContext. 1 // FIXME: If possible, split into two ConstantDataSequentials at Hint. 1 // TODO: 'Translator' could also be used to map PHINodes to their incoming 1 // TODO: There a couple of major stackmap size optimizations we could do 1 // FIXME: It would be nice to be able to send the argument to the 1 // FIXME -- should only fully remove if the attribute refers to 'this'. 1 /// FIXME: the implementation also needs a clean-up now that 1 // FIXME: Preserves zeroes only if zero pointers and null pointers have the 1 // TODO: Propagate nothrowness for implicitly declared special members. 1 // TODO: add more elaborate check. 1 //TODO: This should include some way of selecting which runtime to target. 1 // TODO: expose a cheaper way than constructing + sorting a vector only to take 1 /// FIXME: Handling on pointer arguments is not complete 1 // FIXME: It would be nice to have information about subtypes of invalid type 1 // FIXME We cannot encode the revision information into 32-bits 1 // FIXME: All of this out-of-bounds checking should eventually be refactored 1 // FIXME: Should make intrinsic ID the last operand of the instruction, 1 k)}; // TODO: exploit contiguity here 1 // TODO: Set appropriate ABI for AIX platform. 1 // FIXME: Support vector types where possible. 1 // FIXME: Ideally, we would only attempt suffix matches for things which are 1 // TODO: Generalize for insert into any constant, not just undef? 1 // TODO: consider "#pragma unroll 1" which is equivalent to "#pragma nounroll". 1 // TODO: Handle "int posix_memalign(void **, size_t, size_t)" 1 // TODO: only support icmp slt for now. 1 // FIXME: If storing to a part of the variable described by the dbg.declare, 1 // TODO: Unequal cannot be set to Release or Acquire and Release. 1 // FIXME: Avoid the tentative parse when NextToken() can't begin a type. 1 // FIXME: These fail on Windows. 2 // FIXME: This is really slow. 1 /// FIXME: \p Name must be a source range. 1 // TODO: The code would be reduced if we had m_c_NUWMul pattern matching. 1 // FIXME: Add support for InsertFromRange and BeforePreviousInsertion. 1 // FIXME: It would be cleaner to instead attach relevant metadata to the globals 1 // FIXME: we should try to preserve both invariant.group md if they are 1 // FIXME: Diagnose overflow. 1 // FIXME: Return all duplicates. 1 // FIXME: Retain the first attribute section we see. The eglibc ARM 1 /// FIXME: Expose an interface to remove files that are closed. 1 // FIXME: Should likely be switched to use `CallBase`. 1 // FIXME: Insert UnreachableInst if !MS.Recover? 1 // TODO: Should we check the users and use the BEXTR flags directly? 1 // FIXME: Split out option groups. 1 // TODO: Also handle ICmp/FCmp constant expressions. 1 // FIXME: This may introduce an extra copy if the chosen class doesn't 1 /// TODO: use trailing objects for this. 1 // TODO: Fix base implementation which could simplify things a bit here 1 // TODO: Fold if use instruction is another add of a constant. 1 // TODO: Improve BlockArgument print'ing. 2 /// TODO: Merge with directory/file node (including users). 1 // TODO: Should include register tuples, but doesn't matter with current 1 // TODO: May need to handle some special nontile amx instrucion. 1 // TODO: Allow deferring argument locations. 1 // FIXME: Visit expressions. 1 // FIXME: MSVC doesn't allow this, so we can't be sure how it should be 1 // FIXME: remove the empty blocks after all the work is done? 2 // FIXME: This upgrade is done during linking to support the C API. Once the 1 // TODO: The runtime library does not currently protect the safe stack beyond 1 // TODO: Use ConstantExpr::getNot()? 1 // FIXME: This fails to find irreducible cycles. If we have a def (other 1 // TODO: Should calls support inreg for SGPR inputs? 1 if (ParseCXXTypeSpecifierSeq(DS)) // FIXME: ObjectType? 1 // FIXME: We shouldn't ever have to worry about missing 1 // TODO: be less lazy about updating test cases. 1 // FIXME: The code here is sloppy for the 4-byte case. Can use a 4-byte 1 // TODO: Implement and call summary index verifier. 1 // FIXME: 1 // TODO: Make this recursive; it's a little tricky because an arbitrary 2 // TODO: This only works with a constant RHS for now. We could also compute 1 // initialize the return value. TODO: it might be nice to have 1 // TODO: Should largely merge with AMDGPUTTIImpl::isSourceOfDivergence. 1 // TODO: support zero-dimension vectors natively. See: 1 # FIXME: It isn't handled in LLVM_BUILD_32_BITS. 1 // TODO: Test dumping .debug_gnu_pubnames section. 1 // TODO: don't tail predicate if there is a reversed load? 1 // TODO: Support force unwinding in the phase 2 search. 1 // TODO: this possibly can be reworked to avoid this cast at all. 1 // FIXME: non-glvalue vector reads are not modelled. 1 // TODO: If there is a LCSSA PHI at the loop exit, use that one. 1 /// FIXME: This may not be required once ValueEnumerators 1 // TODO add `create_zero` and `attach` operands 1 // TODO: If the runtime value is accessible at any point before DWARF 1 // TODO: Add more rigorous validation. 1 // FIXME: Add logging. 1 // FIXME This comparison is way SLOWER than comparing pointers. 1 // TODO: Consider chunking expressions containing overly wide 1 // TODO: This restriction matches the basic block check below when creating 1 /// A context for parsing declaration specifiers. TODO: flesh this 1 // TODO: implement shortened form "::" for runs of zeros 1 // FIXME: add these additional fields when needed. 1 // FIXME: Figure out how header maps and module maps will work together. 1 // TODO: Add the validation rules for the following Image Operands. 1 // FIXME: If the main compilation fails, the PCH generation should 1 // TODO: add a TLI hook to control this so that each target can 1 // TODO: Independently handle cases where the 'and' side is a constant. 1 // FIXME: With a proper cost model we should be able to do it. 1 // FIXME: This is very restrictive; the flags check the whole block, 1 // TODO: This order is suboptimal, it's better to replace it with priority 1 // FIXME: The template arguments are part of the enclosing prefix or 1 // TODO: This routine will get called for each thing that the matchers 1 // TODO: BOZ constants? 1 // TODO: should also query WIP type probably 1 FIXME: Make libclang expose additional error information in this scenario. 1 // FIXME: It is really dangerous to store this in the map; if anyone 1 // FIXME: This is unnecessarily broad. Check whether this would actually be a 1 // TODO: Implement C++'s type "similarity" and consider dis-"similar" 1 // FIXME: Privatize once interface is stable. 1 // FIXME: Hard float, DSP accumulator registers, MSA registers 1 // TODO: UseIntegratedAssembler? 1 // FIXME: Add a test for `decl()` that does not depend on C++. 1 // FIXME: This duplicates code from the driver that sets the -target-abi 1 // FIXME: Enums without a fixed underlying type have unknown signedness 1 # FIXME: With MSVS, consider compiling with /Gy and linking with /OPT:REF? 1 // FIXME: should this really always be false? 1 // Filters for supported matcher kinds. FIXME: Explicitly list the allowed kinds 1 // FIXME: This feels like a hack. Should DeclarationName support 1 // TODO: With some clever heuristics, some pointers should be dereferenced 1 // TODO: take branch probability into consideration, if the blocking 1 // FIXME: Linking separate translation units for SPIR-V is not supported yet. 1 // FIXME: We've biased here against using andi/andis, which is right for 1 // FIXME: We don't yet handle the complexity of TLS. 1 // FIXME: This is only necessary for an inline function or a template or 1 // FIXME: It isn't at all clear why this should be limited to O3. 1 // TODO: ProtectMemoryRange is based on msan. 1 // FIXME: Add more types of errors. 1 // FIXME: Maybe unneeded, getNameForDiagnostic() is expected to change to return 1 // FIXME: the chain of casts required should be reflected in the APValue. 1 // FIXME: dsymutil-classic compatibility. Ignore modules. 1 /// TODO: Eliminate this and move the code to X86MachineFunctionInfo. 1 // FIXME: Implement this. 5 // TODO: swap Generic and StorageBuffer assignment to be more akin 1 // FIXME: Should ManglingNumber get numbers associated with 'to' context? 1 // FIXME: integer offsets from non-zero null pointers. 1 // FIXME: (possibly) incomplete list of features that clang mangles that this 4 // FIXME: Do we want to also have an "OptionType" so we don't have to match 1 // FIXME: Why do we not do this if there's already an update block? 1 // #TODO: Implement leaf detection. 1 /// TODO: If clang source code is ever allowed to use constexpr in its own 1 // TODO: We could use this to optimize the region further, e.g., intersect 1 // TODO: Use a pass parameter instead of cl::opt CostKind to determine 1 // FIXME: Force integral conversion to allow strong typedefs to convert. 1 // TODO: Add support for irregular type lengths. 1 // FIXME: Support other formats. 1 // FIXME: internal_str* and internal_mem* functions should be moved from the 1 // FIXME: Handle IndirectFieldDecl? 1 // FIXME: This case fails due to a bug with getPointerToGlobal(). 1 // TODO: It would be sufficient to check the MDep source up to the memcpy 1 enum_decl->setAccess(AS_public); // TODO respect what's in the debug info 1 // TODO: printOptionInfo assumes a specific indent and will 1 // TODO: Support negative step. 1 // FIXME: Remove this when Darwin transition to @GOT like syntax. 1 // TODO: Include the compact histogram. 1 /// FIXME: This should return an error if the location is invalid. 1 // TODO: In the future we want to track more than just a unique kernel. 1 // FIXME: Handle other kinds of non-odr-use DeclRefExprs. 1 stubHelperHeaderSize = 0 /* FIXME */; 1 // FIXME: Do this with a LiveRangeEdit callback. 1 // TODO: ask about these... 1 // FIXME: extraction from switch case 1 // FIXME: We probably shouldn't register the check if it's not available. 1 // FIXME: This stuff needs to go into the Compilation, not the driver. 1 // FIXME: This logical is mostly duplicated with 1 // FIXME: This would be a lot easier if tied early-clobber uses also 1 // FIXME: This is incompatible with MSVC for arguments with a dtor and no 1 // FIXME: Remove the use of VK_AMDGPU_REL64 in the expression below. The 1 // FIXME: we might want to consider more than just the first byte. 1 // FIXME: the code extractor may hoist/sink more code 1 // FIXME: building the runtime with -ffreestanding is a better idea. However 1 // TODO: Implement custom parser and maybe make syntax a bit more concise. 1 // TODO: Investigate if this is too expensive. 2 // FIXME: this should return the location of the last token 1 // TODO: Add Cuda Fortan files (i.e. `*.cuf` and `*.CUF`). 1 // FIXME: The node xform could take SDValue's instead of SDNode*'s. 1 // FIXME: Not all instructions have the same number of operands. We should 1 # FIXME: tsan_ignorelist.txt 1 // FIXME: This would unfortunately hurt the performance of coroutines, however 1 /// TODO this must be controlled by options like -malign-int and -mshort 1 // FIXME: Avoid creating string copy here. 2 Stmt *readStmtRef() { return readStmt(); /* FIXME: readSubStmt? */ } 1 // TODO if Operand 0 is not killed but Operand 1 is, then we could write 1 // TODO FMT Evaluate code overhead due to not calling the internal function 1 /// FIXME: Move to llvm/Support. 1 // FIXME: Is there anything to do in here or does this directive only 1 // TODO: Allow shuffles that contain undefs in the mask? 1 * FIXME: This doesn't really belong here. 1 // TODO: Initialize the type chain at 0 instead of 1 for CU signatures. 1 /// FIXME: if InlineCostCallAnalyzer is derived from, this may need 1 // FIXME: Don't always warn when we have support for reentrant locks. 1 // TODO: from some HW description. 1 // FIXME: implement on this platform. 1 // FIXME: A callback should disable checkers at the start of functions. 1 // FIXME: Eliminate this vector in favor of ASTContext allocation 1 // FIXME: It is really frustrating that we have to use a quadratic 1 // FIXME: Kill off InstrsToErase by doing erasing eagerly in a helper function 1 // FIXME: We don't handle things like 1 // FIXME: It's slightly absurd to create a new diagnostics engine here, but 1 // TODO: This is slightly different from what's currently being done in 1 // TODO: Maybe it is possibly to transfer the 'permutability' property from 1 // TODO: Enable this check for sibling and more generic loop fusion 1 // TODO: can this ever happen? 1 // FIXME: The maxStoresPerMemcpy setting from the target should be used 1 // TODO - bigendian once we have test coverage. 1 // FIXME: This should be factored out to a separate function as prefixed 1 /// FIXME: Migrate DependencyGraphGen to use this interface. 1 // TODO: Implement symbols with types. 1 // FIXME: Some of these do not apply to JS, e.g. "} {" can never be a 1 // FIXME: This should be DllCharacteristics. 1 // TODO: Sort the locals for better compression. 1 // FIXME: stash this error rather then printing. 1 // FIXME: Maybe this should not include a memoperand because it will be 1 // FIXME: This is the wrong way to handle this. We should produce a PCH 1 // FIXME: In C++17 classes with non-virtual bases may be treated as 1 // FIXME: We need to include the string contents in the mangling. 2 // TODO: This is a good default during development, but ultimately we should 1 // FIXME: For now we invalidate the tracking of all symbols passed to blocks 1 // FIXME: A CXCursor_AnnotateAttr should give the location of the annotation 1 // FIXME Jonas Devlieghere: shouldn't this error be propagated out to the 1 // TODO: Figure out why we are going through declarations and not only 2 pcmd("/* TODO */") 149 // TODO: If the backend knew how to deal with casts better, we could 1 // FIXME: This isn't very precise; see the example in 1 // TODO: consider earlyclobbers? 1 // FIXME: add -N, -n flags 1 // FIXME: this may need to be reconsidered if the key function 1 // FIXME: Handle this case: 1 /// TODO: Consider adding another standardized BasicBlock between Body CFG and 1 // FIXME: Shouldn't need to truncate to uint32_t 1 // FIXME: I believe this is broken, I don't think the linker can understand 1 // FIXME: we should warn if -fvisibility-inlines-hidden is used with c. 1 // FIXME: This isn't safe for StrictFP. Other optimization here is needed. 1 // TODO: Make it possible to selectively fission substatements. 1 // TODO: relocate((gep p, C, C2, ...)) -> gep(relocate(p), C, C2, ...) 1 /// TODO: 1 // FIXME: Assumption still has it's original basic block as it's Parent. 1 // FIXME: add more supported targets, like Small and Large code model, PPC32, 1 // TODO: If we are peeling the loop and we know that the first pointer doesn't 1 // TODO: Set EShStrndx if the value doesn't represent a real section. 1 // FIXME: This should be extended to include other unreachable markers, 1 // FIXME: the AST has no location info for qualifiers. 1 // TODO: support mixed mode contract lowering. 1 // FIXME: This should not be used during template instantiation. We should 1 // FIXME: This condition happens to do the right thing but it's not the 1 // TODO: This walk should be iterative over the operations. 2 /* TODO: tune for KMP_OS_OPENBSD */ 1 // TODO Shouldn't this create a signed range? 1 // TODO: remove hasIndexSemantics check once index ops are supported. 1 // TODO: Fold to an "error". 1 /// TODO Correctly handle DBG_VALUE_LISTs 1 /// TODO: how do we want to enforce this in LLVM-IR? Can we manipulate the fast 1 // Import-from-implementation is valid in the Modules TS. FIXME: Should we 1 // FIXME: noreturn 1 // FIXME: Using instructions sequence is a really bad way to do this. 2 // TODO: use clang constant 1 // TODO: rely solely on libc in future? something else? 1 ^[[{]]1} // FIXME: why the hover range is 1 character? 1 // FIXME: This pass may be useful for other targets too. 1 // TODO: this should be eliminated by the future SHR ptr, 2 1 /// we do not make this guarantee. TODO: This would be a useful enhancement. 1 // FIXME: Artifact combiner probably should have replaced the truncated 2 // FIXME: Convert this to a generic lambda when possible. 1 JT->Default = Fallthrough; // FIXME: Move Default to JumpTableHeader. 1 // FIXME: this should be tablegen'ed as well. 1 // FIXME: Since this spills to another register instead of an actual 1 /// FIXME: As that the number of operands is used to find the start of 1 // TODO: Allow some call uses 1 // TODO: Align down to dword alignment and extract bits for extending loads. 1 // FIXME: We break the loop pass pipeline here in order to do full 1 return 1; // FIXME: Do wait states equal cycles? 1 // TODO: expose the C API related to `AffineExpr` and mutable affine map. 1 // TODO: currently we reserve space for gc arguments after doing 1 fatal("TODO: implement this"); 4 // FIXME: Clean up temporaries here anyway? 1 // FIXME: what about: long r = int(x) + (int(y) * int(z)); ? 1 // FIXME: Improve this with a switch or a visitor pattern. 2 // FIXME: Allow this to be incrementally extended. 1 // FIXME: Move this out to a config header. 1 // FIXME: Do we incorrectly label ":" with this? 1 // FIXME: This isn't strictly required. All that's required is that they are 1 // FIXME: This doesn't handle indirect calls. 1 // FIXME: This algorithm has a bug. It ignores escaping references between a 1 * FIXME: Change guard to their corrosponding __ARM_FEATURE flag when Q flag 1 // TODO: errors are sent to std::errs() at the moment, we should pass in a 1 // TODO: we could replace this by a trait. 1 // TODO: Should packed/unpacked D16 difference be reported here as part of 1 // TODO: Manually create an Adaptor that captures inputs and outputs for all 1 // FIXME: The intermediate SafeMatcherCastImpl class was introduced as a 1 // FIXME: Calls to OutOfRange shoudl propagate failure up to parseStatement. 1 // TODO: We could fold these branches, but it would require much more 1 // TODO: handle failure. 1 // FIXME: Add back check for no side effects on operation. 2 // FIXME: Handle bittests someday 1 // TODO: Model unwind edges from instructions, either with iload / istore or 1 // FIXME: Because CNE serves as the "call site" for the allocator (due to 1 // TODO: backend also calls TOut.emitIndIdx, but that is not implemented. 2 // FIXME: Recurse on local labels? 2 /// TODO: This is very similar to the MachineOutliner, and should be 1 // TODO: Add support for the slightly common *Matching(table) idiom. 1 // FIXME: We can't use getTemplateInstantiationPattern(false) in general 1 // FIXME: Probably need a new intrinsic register bank searchable table to 1 // TODO: the function currently only handles a single UseBlock; it should be 1 // FIXME x26 not sure it this the correct value, it expects RA, but M68k 1 // FIXME: List information for all submodules. 1 // FIXME: need to go through this whole constant islands port and check 1 COMPPGM1(float_mode, compute_pgm_rsrc1_float_mode, FLOAT_MODE), // TODO: split float_mode 1 /// FIXME: We should avoid encountering such paths in clangd internals by 1 /// TODO: Fold the array of types in directly as operands. 1 // FIXME: If only referring to a part of the variable described by the 2 /* TODO reinitialization after we have already shut down */ 1 // TODO: Non-bands could be interpreted as a band with just as single 1 // element. TODO: some of these stores can be trivially 2 /// FIXME: Store more attributes based on instrumentation map. 1 // FIXME: C11 also provides for imaginary types which would allow folding 1 // FIXME: We want bug reports to always have the same checker name associated 1 // FIXME: Remove this when calling conventions cleaned up 1 // FIXME: This instruction is already predicated before the 1 // FIXME: Don't know this was defined by operand 0 1 /// FIXME: These basically duplicate orc::SymbolLookupFlags -- We should merge 1 // FIXME: FileSystemOpts shouldn't be passed in here, all paths should be 1 // TODO: Do we need to thread more context in here? 1 // FIXME: this code is mostly a duplicate of 1 // FIXME: Note that it is possible that an unreachable-terminated block has a 1 "TODO: preassign mismatch"); 1 // TODO: This might be overly conservative and we could handle those cases 1 // FIXME This is SKL's encoding. Not sure if it'll change. 1 // FIXME: Convert UTF-8 back to codepoints before rendering. 1 // FIXME: This code is overly simple and should be merged with other global 1 // FIXME: Are there cases, when we would like to call ActOnUsingDirective? 1 // TODO: Investigate whether searching the clause list can be done with 1 // FIXME: Once TwoAddressInstruction pass no longer uses kill flags, 1 // FIXME: This copying is strictly unnecessary. If we could tie FGR32Opnd:$Fd 1 if (!MI->getOperand(0).isKill()) // FIXME: needed now? 1 // FIXME make private. 1 // TODO: Check that the total footprint fits within a given size. 1 // We traverse those if so. FIXME: implement these. 1 // FIXME: Move this check to the most appropriate 1 // FIXME: Implement efficiently multiplication by a constant 1 // FIXME: Some backends are incompatible with running the verifier after 1 PRE_SYSCALL(compat_30___fstat13)(long long fd_, void *sb_) { /* TODO */ } 1 // TODO: Replace recursive algorithm on def-use chain with an iterative one 1 // FIXME: Get from somewhere 1 // TODO: We should warn if you apply a non-default CC to anything other than 1 // TODO: needs fine-tuning based on sparsity 1 // TODO: do we want to track the instantiation progeny of this 1 // TODO: this is better implemented on a flattened representation. 1 // FIXME: We may need more info about the type. Because of how LLT works, 1 // FIXME: Remove the workarounds below and make this const. 1 // TODO: Third operand can be global address (usually some string). Since 1 // FIXME: Single-use lambda's like this are a serious compile-time 1 // TODO: Fix these when we implement atomic support 3 // TODO: Check the "shalls" in the 15.4.3.6 paragraphs 7-10. 1 /// TODO: Unify with ClassTemplateDecl version? 1 // FIXME: This function constructs an incorrect string in the following case: 1 /// FIXME: Currently FilePath must be an absolute path inside the 1 // TODO FMT Implement constrain [format.arg]/4 1 // FIXME: Refactor into StoreManager itself? 1 // FIXME: Incorporate module macros into the result of this. 1 // FIXME This could grab some other child process out from another 1 // FIXME: This function has an out parameter that returns an 1 /// TODO: Unify with ClassTemplateSpecializationDecl version? 1 // TODO: get location of reloc using something like LLD-ELF's getErrorPlace() 1 // FIXME: we do not output a relocation section when --emit-relocs is used 1 // FIXME: LabelTy should not be a first-class type. 3 // FIXME: Cursor support. 1 //: TODO: consider using only one adiw/sbiw chain for more than one frame 1 // record the subregister. FIXME: this isn't very space efficient if multiple 1 // FIXME: If we have an array cookie and a potentially-throwing allocator, 1 // FIXME: This copying is strictly unnecessary. If we could tie FGR32Opnd:$Fs 1 // TODO: Implement support for union fields. 1 // TODO: Concepts: do not instantiate the constraint (delayed constraint 1 // TODO: Region address 1 // TODO count extension words 1 // FIXME: Currently, these are never generated (see code below). I cannot 1 // FIXME: Add parameter whether this can happen - if this happens, we must 1 // TODO: Currently crashes the program. 1 // FIXME: See if we can use DW_OP_piece to preserve debug metadata here. 1 // FIXME: For now we opt for false negatives with NSWindow, as these objects 1 // FIXME: Collect C++ address spaces. 1 // FIXME: make filtering extensible when there are more use cases for symbol 1 // FIXME: Certain atomic sequences on mips64 generate 32bit references to 1 // FIXME: ABI-dependent. 1 // load store promotion instead. TODO: We can extend this to cases where 1 char Buffer[len] = {'\0'}; // FIXME: working around MSan false positive. 1 #"//lldb/source/Interpreter", # FIXME: Dependency cycle. 2 // FIXME: add X86-style branch swap 1 // FIXME: This assertion is intended to catch unintended use of multibyte 1 // TODO: If the code between M and MDep is transparent to the destination "c", 1 // TODO: The loops could not be interchanged due to current limitations in the 1 // FIXME: One easy improvement here is have the regex lib generate a single 1 // FIXME: Support for variadic arguments is not implemented here yet. 1 // FIXME: Temporary flag to denote whether the real instruction takes 1 // TODO: A better way to represent this may be to tag in some way all the 1 // TODO: do we need to handle !PL_FLAG_SI? 1 // FIXME: regparm 1 // FIXME: When GV is used within all (or within most of the kernels), then 1 // TODO: Which other code models can use this? 1 // FIXME: scan for a case with a non-critical edge? 1 // FIXME: Create a common utility to extract a file range that the given token 1 // FIXME: Renaming virtual methods requires to rename all overridens in 1 /// FIXME: Find a better name. 1 /// TODO: This is a lot like known bits, but for 1 // FIXME: Maybe we can expand it in 'PowerPC Expand Atomic' pass. 1 // FIXME: Include the type if it's not obvious from the context. 2 // TODO: Add syntax highlighting. 1 // FIXME: Called functions at point `p` should contain only "foo". 1 // FIXME: Handle other kinds of lexers? It generally shouldn't matter, 1 /// FIXME: Turn this into a FileEntryRef and remove Filename. 1 // FIXME: Should we truncate the pretty-printed form of a concept decl 1 // TODO: Maybe we can also store the size of OuterDisp 1 "TODO: missing intrinsic lowering: " + llvm::Twine(name)); 1 // TODO: Here and below portions of the code can be enclosed into if/endif. 1 // FIXME: It'd be nicer to test if this directory exists, but I'm not sure 1 // TODO - implement this 1 // FIXME - we are iterating through a list of (pointers to) objects of type 1 // TODO: Visit/compute the identifiers in an order so that this doesn't 1 // TODO: Here is the list of the missing matchers, grouped by reason. 1 // FIXME: implement a more clever base choosing policy. 1 if (!isa(C) && // FIXME: Remove ConstantVector. 1 // TODO: Add a GlobalISel version of getTgtMemIntrinsic. 1 // FIXME: Visit dependent template names. 1 // FIXME: This really doesn't belong here. See comments below. 1 // TODO: Move this to LoopUtils. 1 // FIXME: This will have to be a process setting: 1 // FIXME: Stop using the host math library. 2 // Overall FIXME: we are recomputing too many types here and doing far too 1 // TODO: find a way to compute it. 1 // FIXME: Log this failure. 1 OS << Sym.ID.raw(); // TODO: once we start writing xrefs and posting lists, 1 // TODO: We should pass the if condition to the runtime function and do the 1 // FIXME: make sure these aren't critical edges. 1 // TODO: Move into isKnownNeverNaN 1 # FIXME: rpath/install_name stuff on macOS for framework on macOS 1 // TODO: Hoist to a VectorizationStrategy.cpp when appropriate. 1 // FIXME: Implement as attribute. 1 // TODO: Merge with or translate to parserOpts_. We shouldn't need two sets of 1 // FIXME: Value shouldn't be set in this case 1 // FIXME: can we just make RecursiveASTVisitor do this? 1 // FIXME: To support emitting this build attribute as GCC does, the 1 // FIXME: Prechecks eventually go in ::Visit(). 4 // FIXME: Split block and make terminator. 2 // TODO: Generalize this to any type conversion, not just 1:1. 1 // TODO: If OrICmp is false, the whole thing is false (InstSimplify?). 1 // FIXME: We should provide more information about the exact location where 1 // FIXME: supporting more than 4 saved D-registers compactly would be trivial, 1 // FIXME: vector is used because that's what clang uses for subtarget feature 1 /// FIXME: When MachinePassRegistry register pass IDs instead of function ptrs, 1 # FIXME: This should not check the host platform but the target platform 1 // TODO: The asserts in the following assumes input SPIR-V blob forms 1 /// TODO: Extend this for DimOps. 1 // TODO: Support this for vectors after legalize ops. 2 // FIXME: This sholdn't be needed as v2s64 types are going to 1 # TODO: Support readelf for reading symbols from archives 1 // FIXME: This should probably be handled outside of this branch, 1 // FIXME: Refactor this and account subcommand to reduce code duplication. 1 POST_SYSCALL(compat_43_osigblock)(long long res, long long mask_) { /* TODO */ } 1 // FIXME: Clarify FrameSetup flags here. 2 // FIXME: Can we support the fallthrough edge? 1 PRE_SYSCALL(compat_30_getfh)(void *fname_, void *fhp_) { /* TODO */ } 1 // FIXME: It would seem like these should come first in the optimization 1 // FIXME: The standard doesn't say what should happen here. 1 // TODO: hide "2" in enum (like {true,false,started}) 1 // TODO: Add to this list once we can handle them safely. 1 // FIXME: Workaround PR30396 which means that a symbol can appear 1 /// TODO: If we decide that this is a good approach to checking for undef, we 1 // FIXME: Replace PassT::Result with type traits when we use C++11. 1 /// FIXME: Make the above true for all of LLVM's actual passes, some still 2 // FIXME: Not yet handled. 1 // FIXME: Shouldn't use pref alignment if explicit alignment is set on F. 1 // FIXME: also explain the redzone concept. 1 // FIXME: Should this be generalized to references? The reference parameter 1 // FIXME: Ideally we should not need to check FMF for FAdd and should always 1 // FIXME: Add additional logic here when supporting emitting obj files. 1 // FIXME: Use 'inline' in header. 1 // TODO: If the base vector is not undef, it might be better to create a splat 1 // FIXME: These cases eventually shouldn't be needed. 1 // TODO: move this back into ThreadSafety.cpp 1 // TODO: we should look at nsw and nuw keywords to handle operations 1 // FIXME: We simply pass through the replacement argument if there wasn't a 1 if (CondTy.isVector()) // TODO: Handle vselect 1 // FIXME: Make sure we don't overflow the max record size. 1 // TODO: Move this to BasicTTIImpl.h? We'd need better gep + index handling. 1 // FIXME: Check that there is a another register after this one. 1 // FIXME: The "signal handling" policies should probably go here. 1 // FIXME: Figure out how to unify with namespace init_convenience from 1 // FIXME: Although we could sometimes handle this, and it does occur in 1 // FIXME: Currently we create a LoopInfo from scratch for every function. 1 // FIXME: do not rename template parameter. 1 // FIXME: These are equivalent to the default move constructor/move 2 // TODO: For now we just recompute LCSSA for the outer loop in this case, but 1 // FIXME: Do we need to restrict this to ELF and Wasm? 1 // FIXME: For error recovery, consider recognizing attribute syntax here 1 // FIXME: the driver can dispatch multiple cc1 invocations, leading to 1 { ISD::SETCC, MVT::v64i8, 2 }, // FIXME: should probably be 4 1 // TODO: Handle thumb 1 // TODO: Revisit exception specifications for the MS ABI. There is a way to 2 // FIXME: verify that __cfi_check ends up near the end of the code section, 1 // TODO: Refactor to use Sema::handleIntegerConversion() 1 // TODO: Omod might be OK if there is NSZ only on the source 1 // FIXME: ASan should support purgeable allocations. 1 // FIXME: Are there cheap opcodes we might want to duplicate? 1 // TODO handle /MT[d] /MD[d] 1 // TODO: This could be an 'or' rather than 'and' to make the transform more 1 // TODO: Consider removing marshalling annotations from f[no_]emulated_tls. 1 // TODO: Translate the .comment section to the output. 1 // FIXME: Support XF and TF types 1 // FIXME This is using tablegen data, but should be moved to ARMTargetParser 1 // FIXME: This option should be removed once it has received sufficient testing. 1 // TODO: We do not current handle similarity that changes the control flow. 4 /// TODO: Remove the hardcoded name and context, since many types don't use 1 // FIXME: Maybe check for ODR violations. 1 // FIXME: Ideally, this would use ISD::isConstantSplatVector(), but that must 1 // FIXME: If targets would like to look through instructions that aren't 1 // FIXME Consider handling this in InferFunctionAttr.cpp together with other 1 // FIXME: Handle -mtune=. 1 // TODO: put the FunctionOptions::ConstructorWithVirtualBases flag. 1 // TODO: Fixme - This is clever, but really fugly 1 /// TODO: relax the no-conditionals restriction 1 // FIXME: We may want to allow parameter packs in block-literal contexts 1 // TODO: Add additional widening operations (e.g., mul, shl, etc.) once we 1 // FIXME: In the presence of ambiguous default arguments, we should keep both, 1 // FIXME: What happens if we're importing a function without a prototype 1 // TODO: Check whether the trip count calculation is expensive. If L is the 1 // TODO: Choose the store which postdominates all other stores. 1 // FIXME: support recognizing lifetime instructions. 1 // FIXME: We shouldn't need this null check! 1 // FIXME: might want to have a more precise type in the non-virtual 1 1 // FIXME: Extra space follows every identifier. 1 // FIXME: Why do we handle this one but not other removed instructions? 1 // this code is not reachable. FIXME: We could insert unreachable 1 // FIXME: For compatibility with old LLVM only! 1 // FIXME: Suppress this warning if the construction cannot throw. 1 // FIXME: This may be too conservative. It's ok if the instruction 1 // FIXME: This bitcast should just be made an invariant on the Runtime. 1 // TODO: Physical64 is hard-coded here, but some information should come 1 // FIXME: preferably, llvm-mca should instead assume a reasonable 1 // FIXME: Currently this is split into two loop pass pipelines because we run 2 // TODO: should replace with printing shape more uniformly across here and 1 // TODO: as above, this shouldn't be necessary. 1 // TODO: Check why we would force simple calls or to ignore the cancel flag. 1 // TODO: Pass RtPtrChecking instead of PointerChecks and SE separately, if possible 1 // TODO: Support multiple indices. 1 // FIXME: Print contexts of all processing files instead of the first one. 1 // TODO: We probably need to verify synchronization is not an issue, e.g., 1 // FIXME: Use NewNameOption. 1 // FIXME: It's better to use TokenBuffer by passing spelled tokens from 1 /// FIXME: This is not fully implemented yet. 2 // TODO: Look through bitcasts? What if the bitcast changes the vector element 1 // FIXME: Darwin 'as' does appear to allow redef of a .comm by itself. 1 // TODO: Options should come from CompilerInvocation 2 // FIXME: Also collect the unexpanded packs in any type and template 1 /// FIXME: This is needed by ASTImporter and ASTStructureEquivalence. It 1 // FIXME: reference and rvalue_reference /probably/ shouldn't be allowed 1 // TODO: implement merge for other necessary decls. 1 // FIXME: We should scan the other options provided and only complete 1 // FIXME: This used enable V6T2 support implicitly for Thumb2 mode. 1 // FIXME: For those things that are not safe we could generate 1 // FIXME: Because ASTContext::getAttributedType() is non-const. 1 // TODO: check whether evaluating default arguments can throw. 1 // TODO: There are more binop opcodes that could be handled here - MIN, 1 // FIXME: That's not *quite* true: it causes the module in question to 1 // FIXME: Support other rounding modes? 1 // TODO: This could be relaxed if we find a test case which warrants it. 1 // TODO: If we were to keep CFG element information as part of the CallEvent 1 // FIXME: We should support re-compiling from an AST file. 1 // FIXME: Is this right? 1 // TODO: This should probably be sunk into SCEV in some way; maybe a 1 // FIXME: no source locations for a template argument pack? 1 // FIXME: Use ALWAYS_ENABLED_STATISTIC once it's available. 1 // TODO investigate: on MacOSX we might need to do an UpdateThreads () here. 1 /// FIXME: This should really use a SmallPtrMap, once we have one in LLVM :) 1 // TODO: Support this for vectors after legalize ops. 1 // TODO: Could try some IP mod/ref of the loaded pointer. 1 // FIXME: can we inherit this from ConstantExpr? 1 // FIXME: use `getAffectedRanges()` to calculate when it does not include '\n' 1 // FIXME: This should be tablegen'd like getDwarfRegNum is 2 // FIXME: there is probably a cleaner way to do this. 1 // FIXME: Be smarter about which tables we merge. 1 // Hexagon_TODO: Ugh! hardcoding. Is there an API that can be used? 1 /// TODO: change input parameter from "uint64_t Address" 2 # TODO: Should be transitive. 1 // TODO: Consider removing all instructions in this dead block. 1 // FIXME: Use loc from directive. 1 // FIXME: We should be able to see-through namespace aliases. 2 // TODO: If StoreCaptures is not true, we could do Fancy analysis 1 // FIXME: this isn't 100% correct -- some enum arguments require printing 2 // FIXME: this is copied from CheckAvailability. We should try to 1 // TODO: attributes. 1 // FIXME: We could open the file in createFutureForFile and avoid needing to 1 // FIXME: these "default-aligned" APIs should be removed, 1 // FIXME: Add `Expr` to `StorageLocation` map. 2 // FIXME: Remove this when SelectionDAG is obsoleted. 1 // TODO: support scalar types 1 // FIXME: If this should support Obj-C++, support CXXTryStmt 2 // FIXME: fix kill/dead flag if MI and DefMI are not in same basic block. 1 // TODO TargetIndexLocation is a target-independent. Currently only the 1 // FIXME: write more tests that actually use the dumpLayout output to prevent 1 // FIXME: Add fixes for constructors with parameters that can be created 1 // FIXME: We should extract expressions that are "statements" i.e. not 1 // TODO To reduce disruption, we use 0 instead of -1 as the tombstone 1 // FIXME: Differing widths/opcodes can be handled by inserting additional 1 // FIXME: This pass causes verification failures. 1 // FIXME: Figure out why this is needed and remove it, PR43662. 2 // TODO: Guard against this being an implicit def 1 /// context. FIXME: We could probably cache this value somewhere 1 // FIXME: actually print the range. 1 // FIXME: Class pointer aliases shouldn't exist! 1 // TODO: Add other programming models here. 2 // FIXME: If we could represent a "depth i, index j, pack elem k" 1 // FIXME: Override value name discarding when asan or msan is used because the 1 // FIXME: allocating an array requires simulating the constructors. 1 // FIXME: DominatorTreeBase is doing 'A->getParent()->front()'. 'front' is a 1 // FIXME: should be defined by anotations in the future 1 // FIXME: On ELFv2, it may be unnecessary to allocate the parameter area. 1 // FIXME: Reuse the same FileManager for multiple ASTContexts. 1 // TODO: Perhaps we should map host -O2 to ptxas -O3. -O3 is ptxas's 1 // FIXME: check if target_decl_name is in moved ns, which doesn't make much 1 // FIXME: We should not suggest _Alignof if the alignof macro 1 // FIXME: Doesn't handle extract of illegal sizes. 1 // FIXME: This is affected by other options (-fno-inline). 1 // FIXME: parallelize this? 1 // TODO: Make sure the TFE operand bit is set. 1 // FIXME: Currently the state might already contain the marker due to 2 // FIXME: This code has some duplication with recordRelocation. We should 1 // TODO: These folds could be refactored to be part of the above calls. 1 /// TODO: Cache results? 1 // FIXME: Alignment check should be handled by section classifier. 1 // TODO:[OpenMP 5.1] DO CONCURRENT indices are private 1 // FIXME: This functionality can possibly be merged into 1 /// TODO: Handle protocol list; such as id in type comparisons 1 // FIXME: Support DSO instrumentation maps too. The current solution only works 1 // TODO: add debug info for emulated thread local mode. 1 // FIXME: This matches gcc, but shouldn't the visibility be set on the use 1 // TODO: The function is x86_64 specific. Move it to config/linux/app.h 1 // FIXME Not implemented. 1 // FIXME: fuzz more things: different styles, different style features. 1 // TODO: It might be possible to move them to ScopArrayInfo. 1 // FIXME: Options with joined values should not have those values considered 1 // FIXME: clang has code for 'Ump', 'Utf', 'Usa', and 'Ush' but these are 1 // FIXME: This should be `(anon enum)::` 1 PRE_SYSCALL(compat_12_oreboot)(long long opt_) { /* TODO */ } 1 // TODO: there are other places where this is used. Expose publicly? 1 // TODO: Rewrite the signature to return void? 1 // TODO: resolve bare executables in the Platform SDK 1 // TODO: The one-use restrictions could be relaxed a little if the AND 1 // FIXME: This works as a short-term solution, but this code really shouldn't be 1 // FIXME: We should shrink the GEP if the offset is known to be <= 32-bits, 1 // TODO: Raise appropriate floating point exceptions and set errno to the 1 // TODO: If a condition element is undef, we can choose from one arm of the 1 // FIXME: This is a hack to avoid infinite looping with min/max patterns. 1 // FIXME: the interface doesn't provide a way to virtualize FS access. 1 // Delay processing for now. TODO: there are lots of dependent 1 // TODO FMT The standard doesn't specify this character is a Unicode 1 // it in-place after the transformation, or entirely rebuild LCSSA. TODO: For 1 // FIXME: go through all the stmts and exprs again, and see which of them 1 // FIXME: glibc uses 'word' to define register_t; this is narrower than a 1 // TODO: We don't support KC merging atm 1 // FIXME: These are not consistently handled, and selected when the carry is 1 // FIXME: This should probably set CPlusPlus, CPlusPlus11, ... too 1 /// FIXME: expand to contain more information eg call latencies. 1 // FIXME: It isn't clear we can't rely on LLVM to TRE this. 1 // TODO: If Sum is zero, it probably means ScalarEvolution missed an 1 // FIXME: If necessary, add a bit to indicate that this ObjCInterfaceDecl 1 case Intrinsic::fma: // TODO: fmuladd 1 # TODO: implement top-level llvm/* headers 1 // FIXME: This seems overly restrictive, and causes hash mismatches 1 // TODO: Assert or abort here. 1 // FIXME: The + 1 is here to mimic dsymutil-classic that has 2 empty 1 // TODO: Add support for global variables on the device after declare target 1 // FIXME: there may be other opportunities, e.g. comparison with floating 1 PRE_SYSCALL(__acl_delete_link)(void *path_, long long type_) { /* TODO */ } 1 // TODO else create BitCast from x86amx to v256i32. 1 // TODO: This is an artificial restriction for all of the transforms below 1 // TODO: Add proper support for re-exports & stub-and-resolver flags. 1 /* TODO limit size of team pool, call reap_team if pool too large */ 1 // TODO: What we should really be testing here is all the different varieties 1 // TODO: Window is supported yet. 1 // TODO: Keep some source location in the TI to provide better diagnostics. 1 // TODO: Users need to deal with this. 1 // TODO: the following intrinsics may also be allowed: 1 // FIXME: We need to watch for the loading of Protocols, and flush the cache 1 // TODO: List Microsoft (IDL-style attribute) spellings once we fully 1 // FIXME: 1 // FIXME: Support negative field widths. 1 // FIXME: These are quick-and-dirty hacks to make things pretend to work 1 // FIXME: remove this once RuntimeDyld stops skipping allocatable sections 1 // FIXME: Do we want to report this, or would that just be annoyingly 1 // FIXME: location of underlying expr 1 // FIXME: these two (G_ANYEXT and G_TRUNC?) can be legalized to the 1 return {}; // FIXME: support macro arguments. 2 // FIXME: This is a workaround for getRegForInlineAsmConstraint 1 // FIXME: This should never occur, but currently it can because initializer 1 // FIXME: We should probably register a cleanup in this case. 1 // TODO: Get better loc_ref. Value passed in may be NULL 1 // FIXME: for now, we don't do any check for the register pressure patterns. 1 // FIXME: Coalescer should support subregs symmetrically. 1 // FIXME: This test should work in non-C++ language modes. 1 // FIXME: we should reduce the scope of the inactive region to not 1 // TODO: Verify that all registers have the same bank 1 // FIXME: Add support for Windows. 1 //: TODO: this function has to be completely rewritten to produce optimal 1 // here. TODO: evaluate cost model for spurious deopt 1 // FIXME: TypeLoc information is not reliable where CV 1 // FIXME: Add support for joining distinct values that are assigned to the 1 /// the FIXME in onLoweredCall, when instantiating an InlineCostCallAnalyzer 1 // FIXME: Ideally we'd look at the receiver interface here, but that's not 1 // FIXME: This traverses only the BasicBlock where RuntimeCall is. 1 // FIXME: We could also be folding things like TargetIndexes. 1 // TODO: For EEXIST, profile calling fs::generateUniqueName() and 1 // TODO: Expose interface to get specific intrinsic function address. 1 /* TODO: Figure out how to call these only for targets which support them. 1 // FIXME: This was originally copied from ArrayBoundChecker.cpp. Refactor? 1 // FIXME: Cleanup per-file based stuff. 2 // TODO: Add hasCppInterface check. 1 // FIXME: This is only useful as a last-resort way to disable the pass. 1 // FIXME: Cumbersome! Maybe add hook at construction of SVals at start of 1 // FIXME: This could be done via default initializers once we have C++20. 1 // FIXME: Should Flags assert on Test(eFlag0 | eFlag1) (more than one bit)? 1 // FIXME: Add this assertion to make sure we always get instantiation points. 1 // FIXME: Make check-xray tests work on FreeBSD without 1 // FIXME: The source expression of the OVE should be listed as 1 // FIXME: Add support for the '[, func-name]' part of the pragma. 1 // TODO: Parse template instances with a length prefix. 1 // FIXME: VF 2 for float<->i32 is currently just as expensive as for VF 4. 1 // TODO: There should be a ValueTracking sibling like SignBitMustBeOne. 1 // FIXME: Some bits are legal for ordered atomic stores; needs refactoring. 1 // TODO: These all require that Y is constant too, so refactor with the above. 1 // FIXME: this fp16fml option handling will be reimplemented after the 2 // FIXME: Add a test for `anyOf()` that does not depend on C++. 1 // FIXME: This can be dropped once string functions are unified. 1 // FIXME: The following are not yet generated here by Clang, but are 1 // TODO: This results in an inprecision when two values derived from the 1 // TODO: It should be possible to delete 1 // FIXME: Consider creating an explicit representation of this declaration. 2 // FIXME: In theory we could substitute undef here instead of zero. 1 //FIXME: &f; is overloaded and resolvable 1 // FIXME: Load additional unused private field candidates from the external 1 // TODO: It would be sufficient to only sink them into body of the 1 // TODO: If the size between the source and destination don't match 1 # FIXME: Set to 1 on mac once the 10.14 SDK is in common use. 1 /// FIXME: remove this, since there is no implicit conversion to NodeTy. 1 // FIXME: AttrKind 1 // FIXME: We shouldn't need to do this lookup here, should we? 1 // FORNOW/TODO: We currently expect the def-use chain to include only 1 // TODO: Why do we pass 0 in flags? 1 // TODO: Use smarter heuristic that accounts for vector legalization. 1 // FIXME: print the default argument, if present. 1 // FIXME: this should include vectors, but vectors use attributes I guess. 8 // FIXME: We could optimize this check if Symbols had a ref-count. 1 // FIXME: This is an O(N^2) algorithm, but DPG doesn't see an easy 1 ProhibitAttributes(Attrs); // TODO: is it correct? 1 // TODO: If one of the types get legalized by splitting, handle this 2 // FIXME: Add tests for ranking/sorting profile blocks by dimension 1 // TODO: Include ConstainedOps.def when all strict instructions are defined. 1 // FIXME: no need to update BasePointer in leaf functions. 1 // FIXME: workaround for older gcc/clang 6 // TODO: Make this const, if it's safe... 1 // TODO: move-begin. 1 // TODO: Using the original SCEV no-wrap flags is not always safe, however 1 // TODO: Check that this isn't a scalable vector. 1 // FIXME: In C++11, wrap these in an anonymous union. 1 // TODO: we could widen the smaller range and have this work; but for now we 2 // TODO: Much of what getFinalPhase returns are not actually true compiler 1 // FIXME: What is the convention for blocks? Is there one? 1 // TODO: KTEST is not a replacement for TEST due to flag differences. Need 2 /* TODO free the old data */ 1 // FIXME: consider non-code __text sections as hashable? 1 // FIXME: this is work in progress, nothing really works yet. 2 // FIXME: The pointer here is a non-owning/optional reference to the 1 // TODO: "Parallel partial sort needs to be implemented."); 1 Record.push_back(E->getIdentKind()); // FIXME: stable encoding 1 // TODO: Verify if we can set the working directory back immediately 2 // FIXME: Consider passing invalid template-ids on to callers; they may 1 // FIXME: This ends up with a double error being emitted if `RangeType` also 1 // TODO: connect again? Exit? 4 // TODO: remove this once the clang bug is fixed (bugs.llvm.org/PR48173). 1 // FIXME: Technically, so long as we only have sdivfixes where BW+Scale is 1 // TODO: This is a rough estimate. 1 // FIXME: Prevectorization requirements are different from those checked by 1 // FIXME: It would be very nice to print which flags are turning on which 1 // TODO: We should allow location aliases on block arguments. 1 // TODO: Handle more than just ICmps here. We should be able to move 1 // FIXME: Should files that have been #import'd be considered 1 // TODO: Should any fast-math-flags be set for the created nodes? 1 // FIXME: Verify that for non INLINEASM instructions, the def and use tied 1 // FIXME this is the same issue as the one in commands script import 1 // TODO Investigate why empty name symbols need to be marked. 1 /// FIXME: Currently, only supports `RangeSelectors` but parsers for other 1 // TODO: proc_bind is a noop? 1 // FIXME: PerformContextualImplicitConversion doesn't always tell us if it 1 // FIXME: why keep ctx alive but not restore it for the callback? 1 // FIXME: If MemoryVT is set, we end up with 2 checks for the MMO size. 1 // TODO: We can relax this constraint, since we just need a loop 1 // FIXME: On IA-32 architecture, gcc uses cmpxchg only for 4-byte ints. 1 // TODO: Prologue/Epilogue Insertion pass does not process bundled 1 // FIXME: If we're merging, make sure that the protocol list is the same. 2 // TODO: this should call checkModel so we can use the cache, however, 1 // TODO: Could dynamically modify easy computations here. For example, if 1 // FIXME: We can probably just have some magic in Environment::getSVal() 1 // TODO: Warn if there are transformations after full unrolling. 1 // FIXME: Type coercion of void()* types. 2 // FIXME: A tag definition unambiguously tells us this is an init-statement. 1 // FIXME: Even if we can't perfectly model the copy, we should see if we 2 // TODO: maybe also check negative values with too large magnitude. 1 /// FIXME: use custom iterator instead of 'vector'. 2 # TODO: Add builtins support. 1 // FIXME: delete this test, it's covered by FileCacheTests. 1 // FIXME: TypeLoc::getBeginLoc()/getEndLoc() are pretty fragile 1 // FIXME: Can rest of the operands be ignored, if there is any? 1 //TODO: to improve SIMD vectorization 1 // FIXME: The type should probably be restricted in some way... Not all 1 // FIXME: Use lazy DTU and update SplitBlock to accept a DTU instead of a 1 // FIXME: Check property attributes, getters, setters, etc.? 1 // FIXME: Search IPI stream for LF_UDT_MOD_SRC_LINE. 1 // FIXME Clients of the ASTImporter should be able to choose an 1 // TODO: Can remove if in SCC now. 1 // FIXME: CMake - include when cmake system is ready. 1 // FIXME: We may need to support FPImm too. 2 // TODO: Should we check for other forms of sign-bit comparisons? 1 // FIXME: This should have only one reference to Bar. 1 // TODO: 25% of our time is spent in SimplifyCmpInst with pointer operands 1 // FIXME: volatility 1 // FIXME: Support string-literal module names here. 1 // FIXME: There is no reason why we can't support larger arrays, we 1 // TODO: If funcOp doesn't return any memref type then no need to update 1 // TODO: support additional instructions. 1 // TODO: check to see if missing bits are just not demanded. 2 // TODO: Determine size and mangle accordingly 1 // TODO: the common vector shape is equal to the static loop sizes only when 2 // TODO: Vectorization of reduction loops is not supported for non-unit steps. 1 // FIXME: Investigate what token type gives the correct operator priority. 1 // FIXME: Create SourceLocation, which will allow clang to order the overload 1 // FIXME: We don't support non-power-of-2-sized vectors for now. Ideally 1 POST_SYSCALL(compat_43_oquota)(long long res) { /* TODO */ } 1 // FIXME: Considering whether the module is available rather than merely 1 // FIXME: This is just taking a guess, rax may very well no longer hold the 1 /// TODO : Rename 1 // FIXME: If we're bailing out due to a private header, we shouldn't suggest 1 # TODO: libc++ shouldn't be responsible for copying the libc++abi 1 // FIXME: insert() takes const_iterator since C++11, old libstdc++ disagrees. 1 // FIXME: We need to do some work on events before the general Listener sees 1 // FIXME: Match displacement and scale. 1 // FIXME: Remove this once the bug has been fixed! 1 // FIXME: We can't yet fold constant scalable vector splats, so avoid an 1 // TODO: Change push/pops to stack adjustment instruction 1 // FIXME: Support symbolization here? 1 // TODO: figure out if base is virtual 1 // FIXME: Perform these checks more cautiously. 1 // FIXME: This appears to be dead code. We already have formed template-id 1 // TODO: Remove this check when bitcast between vector and x86_amx 1 // FIXME: Cover noreturn ObjC methods (and blocks?). 1 // TODO: if (!FT->isVarArg()) this call may be unreachable. PR14722 1 /// FIXME: Adjust SuccSU height based on MinLatency. 1 // TODO: Do something intelligent with the Declaration object passed in 1 // TODO: Actually add passes when added to FIR code base 1 // FIXME: We desugar elaborated types. This makes the assumption that users 1 // TODO: AllocatableCheckLengthParameter, AllocatableAllocateSource 1 # FIXME: link rt dl m pthread log 3 // TODO: Support an extension point to allow handling of custom and typed 1 // FIXME: Currently, counter registration is required to happen before command 1 // TODO: Handle failure. 1 // TODO: Error handling interface ? 1 // FIXME: We should define regbankselectable call instructions to handle 2 // TODO: Need is known positive check. 1 // FIXME: We should probably run instcombine and simplifycfg afterward to 1 // TODO: Make the format method return the number of bytes written, that 1 // FIXME temporary workaround, exc_code 0 does not really mean 1 // TODO: This isn't exactly ideal. There may be situations in which a 1 // FIXME: AlignPackStack may contain both #pragma align and #pragma pack 2 // FIXME: Ideally formLCSSAForInstructions (used in fixupLCSSAFormFor) 1 // FIXME: This transform is restricted to vector types to avoid backend 1 EXPECT_EQ(One.shl(Some), Full); // TODO: [0xa << 0xa, 0) 1 // FIXME: It'd be nice to use NEON instructions. 1 // FIXME: we're probably not correctly adding the 1 // TODO: consider caching the type properties in the constructor to avoid 2 // FIXME: Make casts work, without breaking f()[4]. 1 /// FIXME: Once FileEntryRef is "everywhere" and FileEntry::LastRef and 1 // TODO: Allocate a bit in TSFlags for the W instructions? 1 // FIXME: The LEB128 routines are copied and only slightly modified out of 1 // TODO: Some of these methods (eg., resize) are not always resetting 1 // TODO: When/if we remove duplicate values from DIArgLists, we don't need 1 // TODO report vregs once vector isel is stable. 1 // TODO: when packing, allocate a static bounding box which will enable more 1 // FIXME The alarm signal may be delivered to another thread. 1 // local cases. TODO: There's a bunch of logic in propagateEqualiy which 1 // FIXME: PR4112 1 // TODO: call finalizer if any. 1 // TODO: Figure out how to make cancelation work. 1 // TODO: Clamp elements for 64-bit vectors? 1 // TODO: Enable half precision when the base version is implemented. 1 // FIXME: For the same reason as we add a BarrierNoopPass in the legacy pass 1 // TODO: This could be made more robust by also checking children data 1 // FIXME: is this the most performant approach? 1 /* FIXME: We have to #define this because "sel" must be a constant integer, and 1 // TODO: Simplify demanded bits. 1 // TODO: unclear if we need to be as conservative about atomics 1 // FIXME: Does it make sense to just return a failure value if the size won't 1 // FIXME: Is this really the best choice? Keeping the lexical decl context 1 // TODO: 8 // FIXME: It's messy that these need to be considered here at all. 1 // FIXME: Can we do this when local visibility is disabled? 1 // FIXME: the same for P10 as previous gen until POWER10 scheduling is ready 1 // FIXME: Currently this is used to signal we hit instructions we cannot 1 // FIXME: Set GuardCfg when it is implemented. 1 // TODO: We should not rely on InstCombine to rewrite the reduction in the 1 // FIXME: various subcomponents each get the full timeout, so it's more of 1 // FIXME: Throw-expressions are currently generating sinks during analysis: 1 // TODO: We might need a .printJson for I.getKey() as well. 1 // FIXME: workaround for PR5130, this will be obsolete when a nobuiltin 1 // FIXME: Check for those conditions. 1 //isExtension = true; // FIXME: implement #unassert 1 // FIXME: support upgrading in opaque pointers mode. 3 // FIXME: Don't compare everything twice. Maybe use C++20 three way 1 // TODO: ponder whether we want to be more general here. 1 PRE_SYSCALL(compat_20_statfs)(void *path_, void *buf_) { /* TODO */ } 1 /// TODO: Add the implementation for other specialized builders here. 1 // TODO: synchronize all static initializations with regular library 1 // TODO: Intersect w/demanded lanes 1 case DeclaratorContext::ObjCParameter: // FIXME: special diagnostic here? 1 // FIXME: This function is used by LoopUnroll and LoopUnrollAndJam, but consumes 1 // FIXME: reject writable if vtables are in the r/o segment. Depend on 1 // FIXME: Should we? 1 // TODO: Handle CalleeSavedRegsViaCopy. 1 // FIXME: only if the shift is one-use? 1 // FIXME: A range of consecutive cases has 100% density, but only requires one 1 // TODO: Remove this when users have been updated to the assume bundles. 1 // FIXME: Most current users of this class are just interested in byte 1 /// FIXME: those metrics might be useful too, we should add them. 1 // FIXME: must also be instantiation-dependent. 1 // TODO: Remove mutable by moving the initializtaion to the registry function. 1 # FIXME: This is slow, but so is deadlock. 1 /// FIXME: TableGen these numbers. Currently this requires target specific 1 /// TODO: This class still has a ways to go before it is truly a "single 1 EXPECT_EQ(0u, M->getLine()); // FIXME: Should this be 2? 1 // TODO: Once we have extract/insert subvector cost we need to use them. 1 // FIXME: A lightweight version of the pass should run in the backend 1 // FIXME: Handle case where a scalable vector is inserted into a scalable 1 // FIXME: Support multi-piece names. 1 #"//lldb/source/Breakpoint", # FIXME: many-hop dependency cycle. 1 // FIXME: use lazy evaluation of VN to avoid the fix-point computation. 1 // TODO: Generalize to handle any trig function and its inverse. 1 // FIXME: The following are added to allow parsing. 1 // TODO: Handle the case when coroutine promise alloca has align override. 1 // FIXME Hackery needed because ClonedFuncBFI is based on the function BEFORE 1 // TODO: Experiment with other fusion policies. 1 // FIXME: Add a test for `hasAnyName()` that does not depend on C++. 1 // FIXME Encode from a tablegen description or target parser. 1 // TODO: drop the lock state and set directly in the fragment 1 // FIXME: Think about passes we will preserve and add them here. 4 // FIXME: More precise: no Defs that alias this Use. 1 // FIXME: The dumpDebug* functions should take the content as stored in 1 // TODO no mapping to host types are defined currently for 16bits float 1 // FIXME: where the block came from? 1 /// TODO: This could be generalized for any CFG region, or the entire CFG. 1 // FIXME: If this becomes too expensive, iterate until the first instruction 1 // FIXME: decide on how to surface destructors when we need them. 1 // FIXME: distinguish decltype(auto) vs decltype(expr) 1 // FIXME: we need to reimplement saveVarArgsRegisters from 1 // TODO: call BLAS-1 SDOT or SDSDOT 1 // FIXME: Maybe implement this better? 3 /// FIXME: add more support. 1 // FIXME: This doesn't account for how many operations are combined in the 1 // FIXME FIXME FIXME: There are number of places in this file where we convert 1 // FIXME: Spilling this way is overkill, as it forces all uses of 1 // FIXME: Change this to collect replaced GVs and later erase 1 // FIXME: error handling? 1 // FIXME: Move check for identifier names into this function. 1 // FIXME: We don't want to always pass variables of types like int, 1 // FIXME: This should be a MacOS or iOS process, and we need to look for the 2 /// TODO refactor this function to be able to search independently for 1 // TODO: improve error message when SSA value is not of index type. 1 // FIXME: Omit X86_64 until 64-bit support is figured out. 1 // TODO: Any ITT support needed? 1 // FIXME: We need to figure out where this behavior should live. Most of it 1 // FIXME: ValueObject::Cast doesn't currently work correctly, at least not 1 // FIXME: Add support for: 1 // TODO: On some SSE41+ targets, we expand to cmp+splat+select patterns: 1 // FIXME: This code is nearly duplicated in InstSimplify. Using/refactoring 1 // FIXME: Check these. 1 // TODO: generalize if a case found which warrants 1 // FIXME: Better encapsulation and separation of internal and public 1 // FIXME: Turn these into classes so we can have some type safety when 1 // FIXME: Get rid of the copies here by taking in a mutable clangd::Diag. 1 // TODO: verify that this handles shallow bundles, if not then implement one 2 // FIXME: how are vtordisp handled in the presence of nooverride/final? 1 // TODO: 96-bit loads were widened to 128-bit results. Shrink the result if we 1 /// TODO: This pass currently keeps one timeline per hardware counter. A more 1 // TODO: Consider doing sth. like isValueWritten. 1 // FIXME: This will be broken on Windows if we ever re-enable Editline. You 1 /// TODO: Reorder outlined functions. 1 // FIXME: Issue a warning if multiple headers for the same submodule 1 // TODO: validate array data. 1 // FIXME: Does the non-threaded performSelector family really belong here? 1 // FIXME: change to scavengeRegisterBackwards() 1 // TODO: It would be nice to handle division, aka "(X + Y)/Z = X/Z + Y/Z", 1 // @TODO: Extract out the real register usage 1 // TODO: How should we handle undefs at the start of subvector insertions? 1 // TODO: accept unit stride affine innermost like a[i,j+k+1]? 1 // FIXME: There is no particular need the entire map needs to be 1 DEF_TRAVERSE_DECL(ObjCPropertyImplDecl, {// FIXME: implement this 1 // TODO: Handle "@@@". Depending on SymbolAttribute value it needs to be 1 {"VANILLA", /* FIXME populate this */ B(_0)}, 1 // FIXME: LocInfoTypes are "transient", only needed for passing to/from Parser 1 PRE_SYSCALL(compat_30_ntp_gettime)(void *ntvp_) { /* TODO */ } 1 // TODO: Can we eliminate the need for a 2nd InstDesc by keeping 'Kind' 1 // TODO: call BLAS-3 DGEMM 1 // FIXME: This should call SourceManager::getSpellingLoc(). 1 // TODO: Generate as many BenchmarkCode as needed. 1 kw_deplibs, // FIXME: Remove in 4.0 1 // TODO: We can allow mismatched types by creating an intermediate cast. 1 // FIXME: Could NodeSet and EdgeSet be templated to share code? 1 # FIXME: Add fuzzy matching. One simple and possible effective idea would 1 // TODO: Remove __kmp_barrier_branch_bit_env_name varibale, remove loops from 1 /* TODO: None of this global padding stuff works consistently because the order 1 // TODO Check whether the combiner is an autogenerated name, and track 1 // FIXME: Saving TOC in prologue hasn't been implemented well in AIX ABI part, 1 // FIXME: inbounds? 1 // TODO: The size is usually 8 bytes, but takes 4x as many cycles. Maybe 1 // FIXME: This should be accounted for in 1 // TODO: Support similar logic of OR and EQ predicate? 1 // FIXME: Proper mangling here -- we really need to decouple linker mangling 1 // FIXME: This should be added to most argument adjusters! 1 // FIXME: Generalize this to support other node kinds. 1 // TODO: Verify SIMD 1 // FIXME: This is messy. Parse the modifiers as if it was a normal VOP3 1 // FIXME: This implementation works under the assumption that load/store queue 1 // TODO: a slight modification to yield dark shadow version of FM (tightened), 1 // FIXME: Handle jump negative someday 1 // TODO: we should nudge the scale as well, but that requires the 1 // FIXME: 'restrict' is not properly handled here. 1 // FIXME: Ensure creating an execution engine does not crash when constructed 1 // FIXME: "script-type" needs to have its contents determined dynamically, so 2 // TODO: Remove this work-around, enable the assert for Bug 457939 1 // FIXME: This branch doesn't make any sense at all, but it is an overfitted 1 // FIXME: Handle full APInt such as __int128. 1 // TODO: For out-of-line declarations, don't modify the source if the header 1 // FIXME: Likewise for uxt[bh] with a Xd dst operand 1 /// TODO: Consider IVInc free if it's already used in another chains. 1 // FIXME: Handle module map files. 1 // TODO: Change to memref::CopyOp (default memCpyFn). 1 // FIXME: Re-add the ability to skip very unlikely potential corrections. 2 // TODO: const child iterator 1 // FIXME: We need to notify the ASTMutationListener that we did all of these 1 // FIXME: If there are cases where '<' is used in ivar declaration part 1 // TODO: Emit Arg[".actual_access"]. 1 // TODO: We directly convert uses into proper calls and unknown uses. 1 // FIXME: This doesn't support function-style macro instances 1 // TODO: Test dumping .debug_gnu_pubtypes section. 1 POST_SYSCALL(compat_43_owait)(long long res) { /* TODO */ } 1 // FIXME: This is missing some significant cases: 1 // FIXME: Metadata effectively owned by a function should be made 1 // TODO: Evaluate whether the bitcode metadata is needed. 1 // FIXME: Support macros with the same name as a keyword here. 1 // FIXME: Do not modify node height. It may interfere with 1 // FIXME: Does .section .bss/.data/.text work everywhere?? 2 // FIXME: copy-pasted from CGDebugInfo.cpp. 1 // FIXME: Most of this is copy-and-paste from BumpVector.h and SmallVector.h. 1 // FIXME: What are the right qualifiers here? 1 /// TODO: Transforms for truncated shifts should be moved into here. 1 // TODO: Should we allow this? 1 // TODO: Add support for Access Qualifier. 1 // FIXME: Unfortunately it's necessary to emit a copy from the livein copy. 4 // FIXME: We shouldn't need to get the function info here, the runtime 1 PRE_SYSCALL(__acl_delete_fd)(long long filedes_, long long type_) { /* TODO */ } 1 // TODO: Switch on undef is UB. Stop passing false once the rest of LLVM 1 // TODO: If we want to support thumb1 then we'll need to deal with optional 1 // FIXME: We assume that the path name currently cached in the FileEntry is 1 // FIXME: Think about this more. 1 // TODO Newer CPU can use 32 bit offsets, so check for this when ready 1 // TODO: Allow autovectorization when SPIR-V backend arrives. 1 // FIXME: Do we need/want a pre-alloc pass like ARM has to try to keep loads and 1 // FIXME: getline seems to be available on OSX 10.7 1 // FIXME: Preserve enough information so that we can produce a correct fixit 1 // FIXME: use the result to filter out references. 1 // TODO: Report an error on duplicate metadata nodes. 1 // FIXME: For argument materializations, we currently need to check if any 1 // FIXME: Check for C++0x support in "to" context. 1 // FIXME: Refactor this code to an accessor on the AST node which returns the 1 // FIXME: need to add a thread settings variable to pix various tracers... 1 // TODO: determine this for ELF 1 // FIXME: Why are we being fed references to pointers in the first place? 1 // FIXME: handle directives like #pragma, #include, etc. 1 // FIXME: Need to be able to tell the DeclPrinter when 1 return nullptr; // FIXME: could perform constant-folding. 1 // TODO: Replace parsing of -march flag. Can be done by storing GPUArch 2 // TODO: Burn the wavefront size into the code object 1 // FIXME: We could try to change the instruction from 64-bit to 32-bit 1 // TODO: allow second branching to be anything if it doesn't require adjusting 1 // FIXME: This is glibc PR20543, we should remove this hack once that has been 1 // TODO: ignore multiplications by 1, reject if multiplied by 0. 1 // TODO: See if we can integrate these two together. 1 // FIXME: OpenCL - we could strip linking phase out from OpenCL 1 // FIXME: this doesn't handle recursion or unreachable blocks. 1 // FIXME: When we track visibility for default function arguments, check 1 // FIXME: No assertions currently on the limits. 1 // TODO: Make feature request to Chrome Trace viewer to accept ticks and a 1 // TODO: Add Stream support. 1 // TODO: handle the other sections 1 // TODO: Add support for CMOV-groups with non consecutive CMOV instructions. 1 // TODO: Should maybe back-propagate kill flags to the bundle. 1 # FIXME should target triple parts count here too? 1 TODO: Reimplement this without using psutil on all platforms so we can 1 // to the widest type. TODO: Account for alignment. As-is it 1 // TODO: in restricted cases, we can emit the vbase initializers of 1 // FIXME: consider separating this class into its own file(s). 1 // FIXME: schedule(static) is NOT the same as schedule(static,1) 1 // FIXME: Should these be different? 1 // TODO: Handle more base class scenarios. 1 // FIXME: Handle unsigned 32 bit immediates for 64-bit AND. 1 /// TODO: Remove this layer of indirection. It's not necessary. 1 // FIXME: Consider memoizing this function using the `ASTContext`. 1 // FIXME: Is this necessary? Why only for protocol? 1 // FIXME: Where did the IsGenericLambda here come from? 1 // FIXME: Maybe we should consider creating the implementation file if it 1 // FIXME: We should fill in the eight-byte mandatory fields as described in 1 // TODO: verify we have properly encoded deopt arguments 1 /// TODO: this implementation currently works for the most common opcodes that 2 // FIXME: The command line parser below is not thread-safe and shares a global 1 /// FIXME: Adjust PredSU height based on MinLatency. 1 // FIXME: POST_READ 2 // TODO: We should inspect the operands and allow those that cannot alias 1 // FIXME this drops the error on the floor, which 1 // TODO: This method can be made more efficient (because removal of each 1 // TODO: It would make more sense for this function to take the optionals 1 // FIXME: The correct range is a 32-bit sign-extended number. 1 // TODO: If a select condition element is undef, we can demand from 1 // TODO: Ownership my change with an attempt to store the allocated memory. 1 // FIXME: Why does ocaml emit this?? 1 /* TODO make sure this is done right for nested/sibling */ 1 // TODO: handle failure. 2 // FIXME: All of this stuff should be part of the target interface 1 // TODO: Should this use extract since the low half is unused? 1 // FIXME: We should expose the canThrow(...) result instead of the EST. 1 // FIXME: Support "atmam" instructions. 1 // TODO: count executed chunks locally with rare update of shared location 1 // FIXME: Are the prebound or indirect fields possible here? 1 // FIXME: No atomics loads are supported. 1 // TODO: possibly have several entry points to elide the check 1 // FIXME: should we propagate vfs::FileSystem to this constructor? 1 // TODO: Check that the value type satisfies restrictions of 1 // TODO: cancel tasks if the parallel region has also been cancelled 1 // FIXME we only support simple cases 1 // TODO: Remove fully-redundant expressions. 1 // FIXME: Part of this logic is duplicated in the MCELFStreamer. What is 1 // FIXME: Remove this (and runOutstandingMUs) once the linking layer works 1 /// FIXME: Currently assuming single-use physregs. 1 // TODO: Extend this to something that covers more cases. 1 // TODO: unsigned ARMFastISel::TargetMaterializeFloatZero(const ConstantFP *CF); 1 // FIXME: If we also have an update record for instantiating the 1 // FIXME: include the error in the diagnostic even when it's not stdin. 1 // FIXME: We need to propagate SROA *disabling* through phi nodes, even 1 // FIXME: should this really take priority over __try, below? 1 // TODO: Fix this 1 PRE_SYSCALL(compat_50_getrusage)(long long who_, void *rusage_) { /* TODO */ } 1 // TODO: pull this out as a helper function and reuse w/existing 1 // FIXME: Store diagnostics semantically and not as prerendered strings. 1 // FIXME: better error handling. For now, just skip the replacement for the 2 // TODO: Handle total scalarization case. 1 // FIXME: The vectorizer is highly sensistive to the cost of these 1 // TODO: Look up deeper than to immediate predecessor? 1 // TODO: use host API to sign up for file modifications to anything in our 1 // FIXME: Figure out whether there is a way to get the SourceManger to 2 // FIXME: we should be mangling all of the above. 1 /// TODO: remove after opaque pointer transition is complete. 1 // TODO: loosen undef/splat restrictions for vector constants. 1 // TODO: Verify that caller and callee attributes are compatible. 1 // TODO: Should budget depends on the size? Avoiding a large global warrants 1 // TODO: Instead of picking the first free register, consider which might 1 // TODO: Find a better way to estimate the latency of the branch instruction 1 // FIXME: Possibly incorporate the offset? 1 /// FIXME: This is very inefficient; replace uses of it with uses of 1 if (!VT.isVector()) { // TODO: Support this for vectors. 2 /// TODO: implement dynamically sized inline memcpy, 1 // TODO: We basically, limit the resulting range from below, but don't do 1 // FIXME: The target may have picked a non-IEEE default mode here based on 1 // FIXME: Using getMinimalPhysRegClass is very conservative. We should 1 // FIXME: There is really no guarantee that sizeof(size_t) is equal to 2 // FIXME: Also skip serializing the shard if it is already up-to-date. 1 // TODO: To eliminate this problem we can remove gc.result intrinsics 1 // FIXME: Move this to ARMAddressingModes.h? 1 // FIXME: Also doesn't consider file or class-scope aliases. 1 // TODO: Use NewOps 1 // FIXME: if there are more than 15 trailing arguments, they must be 1 // TODO: In this case we should be really trying first to entirely eliminate 1 // TODO: this function can be made iterative instead. However, it 1 // FIXME: An alternate way would be to select a symbolic scale which is later 1 // FIXME: Explicitly check for functions: the datalayout is currently 1 // FIXME: I cannot find a way to trigger these cases while dumping the AST. I 1 // FIXME: warning message? 1 // FIXME: comment 1 // TODO: update these if we need a accurate 128 values in registers. 1 // TODO: Cache 'isMaximal' so that we don't recompute it when the slice 1 // FIXME: We currently don't support operations with 1 // TODO: AArch64TargetLowering::LowerCTPOP() supports 128bit popcount. 1 // FIXME: Add support for range metadata here. Currently the utilities 1 // FIXME: we should instead check for imbalances of the retain/releases, 1 // FIXME: The deleting destructor is equivalent to the selected operator 1 // FIXME: support right-shift? 1 // TODO: Maybe load folding, greater than 32-bit masks, or a guarantee of LICM 1 // FIXME: Make this a namespace, probably just move all the Register* 1 // FIXME: Is there a better way to retrieve this information from 1 // FIXME: this hack ensures that if we look up a file by a virtual path in 1 // TODO: This should be the same as other constants, but eliminateFrameIndex 1 // FIXME: Share this parsing with the IL parser. 1 // FIXME: This is a hack to statically increase the priority of patterns which 1 // FIXME: if a structor knows it belongs to MDC, why doesn't it use a vftable 1 // TODO: move to RegAllocEvictionAdvisor.cpp when we move implementation 1 // TODO: Is this really what we want? Even without FP SCEV, we may want some 1 // FIXME: We may be able to use PPCallbacks to check for empty context 1 // TODO: Curerntly, we only allow the last instruction of the recurrence 1 // FIXME: We should just return false for DAK_None here once callers are 1 // first time it is evaluated. FIXME: The notes won't always be emitted the 1 // FIXME: This should behave just like a warning flag, and thus should also 1 /// FIXME: figure out how to handle token splitting, e.g. '>>' can be split 1 // TODO: remove this once all users have been updated to pass an AddrSpace 1 // FIXME: Set the stop hook ID counter back. 1 // FIXME: support dynamic allocas 1 OS << "return "; // FIXME: what if the top-level thing is void? 1 // TODO ArithmeticToSPIRV cannot be applied separately to StandardToSPIRV 1 // FIXME: would it be better, after we detect that not all are profitable. 1 /// FIXME: Remove this when these classes start using 'instancetype'. 1 // TODO: assert Regions are sorted descending by pressure 1 // TODO: Now ELF SymbolRef::ST_Debug = STT_SECTION, it's not obviously 1 // FIXME: the constness has annoying ripple effects. 1 // TODO: We should output information to the user (under debug output 1 // TODO: Look at performance benefits of comparing words. 2 // TODO: Support inlining nested call references. 1 // FIXME: This is a bit of a big hammer since we don't get the benefits 1 // TODO: support memory-only libraries like [vdso] 1 // TODO: Change this API to take 'forOpA'/'forOpB'. 1 // TODO populate n_desc with more flags 1 // TODO: Handle MOV8ri and MOV16ri. 1 // FIXME: Theoretically this should use an insert point skipping labels 1 // FIXME: this is invalid for WindowsCE 2 // FIXME: Add FixItHint to make the method public. 1 // TODO: The 'q' extension requires rv64. 1 // FIXME: Remove these once the ANDI glue bug is fixed: 1 // TODO: Support custom and typed event accounting in the future. 1 // TODO: How to make parent passes discoverable? 1 // FIXME - don't know how to do long doubles yet. 1 // TODO: This is a specific form of a much more general pattern. 1 // TODO: Implement tie breaking algorithm. 1 // FIXME: Temporarily assume that all side-effect free intrinsics will 1 // FIXME: ElaboratedType, DependentNameType, 1 // FIXME: There's a potential issue lurking here if a single instance of 1 /// FIXME: figure out why these do not match? 1 // FIXME: FlangDriver 1 // FIXME: This isn't the right way to check for padding in vectors with 1 // TODO: this is very conservative 1 // FIXME: It'd be nice to replace them with integer vector types, but we can't 1 // TODO: Add synchronization if we want to be terminated from another thread. 1 // TODO: Following else statement is present here because we used various 1 // FIXME: This code does not handle invokes 1 /* FIXME: should this just take a const APInt reference? */ 1 // FIXME: Fix generic lambda to block conversions. 1 // FIXME: Right now, we arbitrarily choose some Candidate from the 1 // TODO: Model FPSCR in PPC instruction definitions and remove the workaround 1 // FIXME: Thumb should just be another -target-feaure, not in the triple. 1 // FIXME: Set the exception specification to EST_Uninstantiated here, 1 // There could be duplicate phi source entries. FIXME: Should sdisel 1 // FIXME: Add support for dumping opcode_operands_table 1 // FIXME: Should allow casting away constness if CStyle. 1 // FIXME: Is it possible to be storing a frame index to itself? 1 // FIXME: Hack to recognize setneb as setne. 1 // TODO: Propagate RewriterBase everywhere. 1 // FIXME: A header-name could be formed starting or ending with an 1 // TODO: Combine more complicated patterns (multiple insert) by referencing 1 # FIXME: Only the bits needed to run LLVM's test are implemented. 1 #if 0 // TODO: COMPLEX(2 & 3) 1 // FIXME: can't access metadata in lazily loaded modules 1 // TODO: Support case for NarrowDef = NarrowUse->getOperand(1). 1 /* TODO for monitor perhaps? */ 2 // FIXME: Better heuristics to determine whether to prefer SGPRs or VGPRs. 1 // FIXME: Use a general GetUnarySelector method for this. 1 // FIXME: Do we need to recursively decompose template parameter objects? 1 /// FIXME: Document the requirements this imposes on matcher 1 PRE_SYSCALL(compat_43_osigsetmask)(long long mask_) { /* TODO */ } 1 PRE_SYSCALL(__futex_set_robust_list)(void *head_, long long len_) { /* TODO */ } 1 // FIXME: this will have to be implemented in the trampoline assembly file 6 // TODO: use simplifyAffineExpr and FlatAffineConstraints to 1 // FIXME: This loses extension expressions in the AST! 1 // TODO: Implement PGSO. 1 // FIXME: do not report these token to Preprocessor.TokenWatcher. 1 // FIXME: Visit nested-name-specifier. 2 // FIXME: Add flow condition constraints. 1 // FIXME: extend the mutation API to allow earlier mutations to instantiate 1 /// FIXME: redundant with TypeAsWritten? 2 // FIXME: The children for an InitListExpr doesn't include the array filler. 1 // FIXME: Merge without creating such a heavy contention point. 1 // TODO: parse the stop reply packet 1 // FIXME: consider emitting an intrinsic call like 1 /// FIXME: It will return an OpenMPMapClauseKind if that's what it parses. 1 // value, and it's the same value as our current store. FIXME: Right now, we 1 // FIXME: Optionally report that we're unpoisoning globals from a module. 1 // FIXME: Handle other cases. 1 // FIXME: Called functions at point `p` should contain "foo". 1 // FIXME: This can be simplified. The mi2iMap_, Idx2MBBMap, etc. should 1 /// FIXME: add accessors for semicolon of statements that have it. 1 // FIXME: More info. 1 // TODO: Some day we should be able to reset to last kill, rather than 1 // FIXME implement on this platform. 3 // FIXME: Combines should have subtarget predicates, and we shouldn't need 1 // FIXME: We can cache this if needed. 3 // FIXME: the triple should be passed to the translation or dialect conversion 1 // FIXME: This heuristic is incorrect for C++20 generic lambdas with 1 // FIXME: Proper mangling. 1 // FIXME: This can be removed when the attr propagation fix for templated 1 // FIXME: this is here just to diagnose the case of a var = commmon_sym. 1 // TODO: Add support for parameters that have a pre-existing debug expressions 1 # TODO: We don't need to list internal object files if the internal 1 // FIXME: build the ClassSpecifier node. 1 return UnableToLegalize; // FIXME: handle implicit extensions. 1 // FIXME actually implement a check for if the coro is suspended. 2 /// FIXME: Figure out a way to manage ID spaces. 1 // TODO: volatiles can't be elided, but they can be reordered with other 1 // TODO: call site and callee entry count should be mostly consistent, add 1 // FIXME : Register with Stub Address, after JITLink Fix. 1 // FIXME: Move this into the "return false;" block above. 1 Streamer->emitIntValue(Value, 4); // FIXME: Why not 8 (size of quadword)? 1 // FIXME: This should probably be addLiveOuts(). 1 // FIXME: This predicate seems like it would be useful to add to ASTContext. 2 /// FIXME: IgnoreParenImpCasts really ought to be equivalent to 1 // TODO: strcmp, strcpy 1 // FIXME: Implement warning dependent on NSCopying being 1 // FIXME: Use ImportAttributes for this test. 2 // FIXME: Generate IR in one pass, rather than going back and fixing up these 1 // TODO: This could be done in instsimplify. 2 // FIXME: We need target hooks for the evaluation. It may be limited in 1 // TODO discuss with Greg Clayton, make sure this makes sense. 1 // TODO: Move lowering to library calls here. 1 // FIXME: The current implementation assumes that X is in [0, SINT_MAX]. 1 /*FIXME: StartL=*/ID->getLocation(), 1 // FIXME: If we wanted to, we could allocate all of these in one big array. 1 // TODO: Remove folds if we canonicalize to intrinsics (see above). 1 // TODO: Determine whether the cost of the branch is higher than the cost 1 #ifdef HAVE___CMPDI2 // FIXME: unused 1 // FIXME: sret demotion isn't supported yet - bail out. 1 // FIXME: Add a commandline flag for this too. 1 // FIXME: Recover from "NSObject foo" by inserting the * in "NSObject *foo"? 1 // FIXME: Handle arrays, which run the same constructor for every element. 1 return true; // FIXME When do we consider two using directives equal? 1 // FIXME: Fix `NestedNameSpecifierLoc::getLocalSourceRange` for the 1 // FIXME: Add support for explicit call of template constructor. 1 // FIXME: If the case list was broken is some way, we don't have a good system 1 # FIXME: This should really only be suite in test suite config 2 // FIXME: Reimplement for ghash. 1 # FIXME: need libclang_rt.msan*.a.syms? 1 if (TypeIdx != 1) // TODO: This probably does work as expected already. 1 // FIXME: handle musttail 1 // FIXME: Remove ? 1 // FIXME: removing the semicolon may be invalid in some obscure cases, e.g. 1 /* // TODO: Check the comment consistency 1 // FIXME We might be able to do the conversion during compilation and get rid 1 // FIXME: GCC treats block pointers as fundamental types?! 1 // TODO: Should we test this for sanity? 1 // TODO: To be correct, this method needs to fill the breakpoint location 1 // FIXME: Currently for PowerPC memory operands are always loaded 1 // FIXME: Only 0/0, Inf/Inf, Inf REM x and x REM 0 produce NaN. 1 // FIXME: Verify the applied fix. 1 // FIXME: this shouldn't be necessary once we have FileName instances 1 // TODO: In most cases AVX doesn't have a 8-byte alignment requirement. 1 // TODO: It may be better to default to latency-oriented scheduling, however 1 // FIXME: Remove these values once we remove the Legacy PM. 1 /// FIXME: figure out a way to move PassInstrumentationAnalysis into its own 1 // FIXME: If there is a ',' before the next ']' or ':', we can skip to 1 // FIXME: Is this really right? 3 // FIXME: It may be better to record these sizes and add them as constraints 1 // FIXME: In case of N32 / N64 ABI and emabled XGOT, local addresses 1 // TODO For non-8-bit byte addressable architectures this needs to be 1 // FIXME: `createLeaf` is based on `syntax::tokenize` internally, as such it 1 // FIXME: Allow record producers to suggest Abbrevs. 1 // TODO: For now, not handling conversions like: 1 // TODO Unhandled 1 // TODO: handle the cases where there are other "add + Imminstr" pairs 1 // FIXME: Injecting into the DAGISel pipeline seems to cause issues with 1 // TODO: Handle multiple MachineBasicBlocks. Currently not handled because 1 // TODO: GEH - cannot do this assertion because root thread not set up as 1 // TODO: Handle the 'partially zero' case. 3 // TODO: This is a copy from f18.cpp. It doesn't really belong here and should 1 /// TODO: Should this give more weight to users inside the loop? 1 // TODO: Check that map operands are loop IVs or symbols. 2 // FIXME: Try to preserve type sugar here, which is hard 1 // FIXME: better error handling here. For now, simply return an empty 1 // TODO: Different algorithm for large dep_list ( > 10 ? ) 1 # FIXME: CMake docs suggest OBJECT_DEPENDS isn't needed, but I can't get 1 // FIXME: deduced type missing in AST. https://llvm.org/PR42914 1 // TODO: Allow VPSEL and VPNOT, we currently cannot because: 1 // FIXME: We need a more general way of getting the O_CREAT value. 1 // FIXME: find some useful way to present the m_return_id, since there may 1 // TODO: Handle "half" or other float types? 1 // into their uses. TODO: generalize this to work over profiling data 1 // FIXME this locally as well so that BPI and BFI are consistent as well. We 1 // TODO: Functions using scope-based EH are currently not supported. 1 // FIXME: Even though this will always have worst-case quadratic time, we 1 /// FIXME: The only reason the mixin type itself can't declare the Key value 1 // TODO: Does this help compile time at all? 1 # FIXME: Eliminate this and make normal constructor? Requires hiding ctypes 1 {ISD::UMIN, MVT::v32i16, 8}, // FIXME: umin is cheaper than umax 1 // FIXME -- need to check this again on template instantiation 2 // FIXME: could potentially support tracking pointers and references in the 1 // TODO: We can do better than scalarizing the vector and at least split it 2 /// FIXME: Fix pc-region jump instructions which cross 256MB segment boundaries. 1 // TODO The following IS implemented in libgcc but is not in the EABI 2 // TODO: Non-unit stride is not an issue to generalize to. 1 // TODO: Which one is called first, emitStartOfAsmFile or 2 // TODO: Handle intrinsic subroutine. 1 # TODO: guard against surprises and fail create Runtime Custom Ops with 1 // FIXME: If there's a public header in some module that re-exports it, 1 // TODO: the code above creates new registers which are then removed here. 1 // TODO: OpOperand tracks dependencies on buffer operands. Tensor result will 1 // TODO: Handle more complex cases. We should be able to replace loops 1 // FIXME: We would really like to refer back to where the symbol was 2 // FIXME: Replace this with the existing map in ScheduleDAGInstrs::MISUnitMap 1 // objects. TODO: Move this KnownBits.h if this is usable in more cases. 1 // TODO: PointerCheckLengthParameter, PointerAllocateSource 1 // TODO: extend this to check for memory-based dependence violation when we have 2 // TODO: use a codegen version of PassRegistry.def/PassBuilder::is*Pass() once 1 // be fine with ElementRegion. TODO: Should we instead make 1 // FIXME do we need `.sdata` and `.sbss` explicitly? 1 // FIXME: Should this be permitted in C++? 2 // FIXME: we can probably do a comparison against other MemRegions, though. 1 // FIXME: refactor this to use the same code that inliner is using. 1 (/*FIXME !Lang.ObjC && */ Lang.CPlusPlus && 1 // FIXME: Check whether the alloca is promotable before dropping the 1 // FIXME: Should this be reported / treated as failure to materialize? 1 // FIXME: Needs to be a multiple of the group size? 1 // TODO: Recurse into the fields to see if they have excess padding. 1 // TODO: Allow checking a specific predicate. 1 // TODO: If C++ ever gets a real enum class, make this part of the 1 /// FIXME: return correct results on macro arguments. For now, we return an 1 // FIXME: remove it. 1 // FIXME: Can we stop the other threads at this point? 1 // TODO: Custom lowering for v2s32, v4s32, v2s64. 1 // FIXME: 96-bit case was widened during legalize. We need to narrow it back 1 // FIXME: come up with some stats. 4 // FIXME: __attribute__((cleanup)) ? 1 // FIXME: What about f32 arguments? C promotes them to f64 when calling 1 // TODO: Collect metadata other than DISubprograms. 1 // TODO: Store this information in .debug$H so that we don't have to recompute 1 // TODO: We should be able to use bic/bif too for SVE. 1 // TODO: Enable inlining structured control flows with return. 1 // FIXME: this repeats what WebAssemblyMCInstLower:: 1 // FIXME: handle category headers that are declared across multiple lines. 2 // FIXME: Do something better for DWARF debuggers, which won't expect this, 1 // TODO: This code is very similar to KMP_WAIT. Need to generalize 1 // TODO: The sext_inreg of extended types ends, although we can could 1 // all have the same class. FIXME: Is there a way to find a common 1 // FIXME: block pointer types? 1 // FIXME: The heuristic used below for determining coldness is based on 1 // FIXME: there is no way to update VFS if it was changed by 1 // FIXME: implement on this platform. 1 // TODO: At some point, we should change the arguments to instead just accept an 1 SourceLocation TemplateKWLoc; // FIXME: parsed, but unused. 1 // FIXME: Share this cleanup with the constructor call emission rather than 1 // FIXME: This is a poor diagnostic for ReturnStmts without expressions. 1 assert isinstance(preprocess_cmd, str) # TODO: use a list instead of using shell 1 // FIXME: All duplicated with non-local case. 1 // TODO: Remove this when we have copy folding optimizations after 1 // TODO: Handle zext. 1 // FIXME: Portability. 1 // TODO: GNU ranlib also supports a -t flag 1 include TODO lit.py 1 /// TODO: Consider refactor return type of these functions as integer or enum, 1 // TODO: More sophistication in the way Formulae are generated and filtered. 1 // TODO: call BLAS-2 CGEMV(x,y) 1 // TODO: track callsites. 2 // FIXME: Print which macro is being invoked. 1 // FIXME: Do we need to pass ProgramStateManager anymore? 1 // FIXME: This has the potential to be expensive (compile time) while not 1 // TODO: Perform a more powerful invariance analysis (ideally IPO, and ideally 1 // FIXME: How can we handle this? It's not good enough to subtract the 1 // TODO: remove this special case (and update test/IR/parser.mlir) 1 // FIXME: Change this once MC is the system assembler. 1 // FIXME: Find a better way to identify friends. 1 // TODO: for now we "fixed" this by only accepting x/c cases 1 // TODO: Why are some tests have "mingw" listed as OS? 1 // FIXME: Use a specific diagnostic for the rest of these cases. 1 ok = ok && Emit("\n", 1, 1, handler); // TODO: Windows CR+LF 1 // FIXME: This is incorrect. Non-reference declarations can lifetime-extend 1 // FIXME: should check if immediate value would be valid for a Thumb2 3 // FIXME do not use copy 1 // TODO: Value number heap versions. We may be able to discover 2 /// TODO: We should be able to use set_union from SetOperations.h, but 1 // TODO: See above TODO 1 // FIXME: On some processors, load/store operations are split into multiple 1 // FIXME: remove when files support multiple names 1 # FIXME: 3 // FIXME: This is broken, because the Blocker may be reported to be 1 /// TODO: This should be a tunable flag. 1 /// TODO: dynamic cases would require a way to compare symbolic 1 // FIXME: Should probably use stack pseudos before frame lowering. 1 // TODO: Support deletion of the current loop. 1 // FIXME: To clean up and correct the semantics of fast-math-flags, FCmp 1 out << '\n'; // TODO: DOS CR-LF line ending if necessary 1 // FIXME: Handle structs. 2 // TODO: Translate any source ranges as well. 1 // FIXME: Can we diagnose ODR violations somehow? 1 /// FIXME: Temporarily stores the name of a specialization 1 // TODO: This is a hack to work-around the fact that FMF may not be 1 #"//lldb/source/Target", # FIXME: 2-hop dependency cycle. 1 // TODO: functions like execve and posix_spawnp exhibit undefined behavior 1 // TODO: image synchronization 1 // TODO: this is very conservative, update once RISC-V psABI requirements 1 // FIXME: Visit the "outer" template parameter lists on the TagDecl 2 // FIXME: We can extract pow of 2 of splat constant for scalable vectors. 1 // TODO: non-zero address space. 1 // FIXME: if we don't pass any stack arguments it would be actually 1 // TODO: Operand is a Value, check if we should remove `getDefiningOp()`. 1 // TODO: This won't work for switch statements. 2 // FIXME: This was probably a copy to a virtual register that does have a 1 // TODO: Apply followup loop properties. 1 // FIXME: it would be good for us to keep the WeakRefAttr as-written instead 1 // TODO: Load to Workgroup storage class first. 1 // TODO: We could check the types of the arguments here. 1 /// FIXME: we may need this to be per device and per library. 1 // FIXME: Fill in HighlightRange with range coming from N->ASTNode. 1 // TODO: This can be relaxed. 1 // TODO: We could potentially change the return to an assertion to alert 1 // FIXME: fold this into config/context mechanism. 1 # TODO: Should we add checks for global variables being emitted? 1 // FIXME: we probably shouldn't use floats at all. 1 // FIXME: Add support for XPLINK using the ADA register. 1 // FIXME: CaptureStackBackTrace might be too slow for us. 1 // FIXME: The C++98 initializer is an attempt to work around compile failures 2 // FIXME: Horrible hack to handle the BFI -> BFM, SBFIZ->SBFM, and 1 // TODO: Fix performance issues in SourceMgr::getLineAndColumn so that we can 1 // TODO: Tolerate tail call for now, as we may see tail call from libraries. 1 // TODO: Change type to 32 for scalar 1 // FIXME: Write diagnostic categories and link to diagnostic groups in each. 1 /// TODO: Remove this after opaque pointer transition is complete. 1 // TODO: maybe visit attributes? 1 // FIXME: Capture any field if necessary (method -> function extraction). 1 // FIXME: support hovers for other nodes? 1 // FIXME: Add DefaultConfig here once we can tear down the exclusive TSD 2 // TODO: misleading legacy name warning! 1 // FIXME: Restructure so we don't have to expose so much stuff. 1 // FIXME: This could be a TinyPtrVector and/or merge with LatticeState. 1 // TODO: remove this when we discard GFX80 encoding. 1 /// FIXME: This ought to take an argument indicating the number of try-blocks 1 // FIXME: Make the function take a parameter to return only the function body, 1 /// FIXME: InstrChanges is opaque and is an implementation detail of an 1 // FIXME: Support conversion to BINARY when upgrading XRay trace versions. 1 // TODO: We should not name instructions in NDEBUG builds. 1 /// TODO this is incomplete. 1 // FIXME: handling of macros should be configurable. 2 // FIXME: Kill this with fire once we have a new JIT linker: this is only here 1 // FIXME: This probably shouldn't be here, but the code to compute 1 // FIXME: We should also fold the compare when the pointer escapes, but the 1 // TODO: Linker could still eliminate the GV if we just skip 1 // FIXME: cl::Required can be specified when this option is present 1 // FIXME: For the moment, disable this completely for MIPS64. 1 /// TODO - This transformation could remove entries from a phi in the target 1 // TODO: It's theoretically possible to do code motion in this case, as 1 // TODO: Since are using a URL to open connection we should 1 // FIXME: Avoid unnecessary std::string trashing. 1 // FIXME: The .addReg(DstReg) is a white lie used to temporarily work 1 // TODO: refactor removeColumns to use it from here. 1 // FIXME: Simplify 1 assert(ResNo == 0 && "FIXME: ComplexPattern with multiple results?"); 1 // FIXME: For now if we move it over anything without side effect 1 // FIXME: "each method in a recursion cycle" Increment is not implemented. 1 // FIXME: We should do something similar if we merge two definitions of the 1 /// FIXME: Instead of adding the dominance information and then dropping it 1 // TODO: To list bundle IDs in a bundled text file we need to go through 1 // FIXME: MLIR's 'maxf' and LLVM's 'vector_reduce_fmax' do not handle 1 // FIXME: This doesn't currently handle early-clobber or multiple removed 1 // FIXME: this is interesting to most users. However: 1 # TODO: It would be much more reliable to list *allowed* instructions rather than list undesired 1 // FIXME: Add a test for `has()` that does not depend on C++. 1 prev_frame.GetStackID()); // TODO: remove this after some testing 1 // FIXME: No handling for function pointers yet. This requires 1 // FIXME: Should we cache this at all? 1 // TODO: We probably could also simulate to Clang's file manager that there 1 /// TODO Move this function to M68kMachineFunctionInfo. 1 // FIXME: Insert dbg.value markers in the successors when appropriate. 1 // FIXME: Perform checking of type validity 1 // FIXME: check if parameter will be a non l-value reference. 1 // FIXME: explore options to support interactive fix selection. 1 // FIXME: If the base type of the member expr is not FD->getParent(), 1 // FIXME: For now we just assume that all asm symbols are executable. 1 // FIXME: v selecting here results in renaming Field. 1 // FIXME: a better behavior is to only append on newline to Code, but this 1 // TODO: Investigate general usefulness; Effect on unit tests is to make index 1 // TODO: We could insert relevant casts on type mismatch here. 1 // TODO: Support folding with more than 2 input shapes 1 // Allocate out-of-line storage. FIXME: Use an explicit alignment 1 // FIXME: Probably need to propagate Errors through the pass manager. 1 // FIXME Theoretically ,the 'undef' value could be replaced by any other 1 // TODO: We should be able to automatically remove these branches before we 1 // This operator returns the address of the boxed value. TODO: consider 1 // FIXME: PP.UseStdFunctionForLambda = true; 1 PRE_SYSCALL(compat_50_lfs_segwait)(void *fsidp_, void *tv_) { /* TODO */ } 1 // FIXME: This is duplicated in several places. Refactor. 1 // TODO: Currently we do not exploit special values that produce something 1 // inferred hold at original context instruction. TODO: It may be 1 // FIXME: We should allow 32-bit hex float and remove this. 1 # FIXME: It leaks to user, callee of add_tablegen. 1 // FIXME: This is the general constant synthesis problem. This code 1 // FIXME: Corresponding rule in the standard? 1 /// TODO: Consider merging with ReplaceNodeResults. 1 // TODO Support PE_IMAGE_DEBUG_TYPE_REPRO. 1 // TODO: Normalize FirstAff to zero (convert to isl_map, determine minimum, 1 // FIXME: this expr should store IsArrow. 1 // TODO: Values used in region-statements. 1 // FIXME: Add indirect thunk support and remove this. 1 // FIXME: If the offset won't fit in 24-bits, compute the offset into a 1 // FIXME: Do not define _LONG_LONG when -fno-long-long is specified. 1 // FIXME: There is no simple and maintainable way to express a set 1 // FIXME: This feels like a hack. 1 // TODO: Will be extended when additional optimizations are added 3 // TODO: Handle symbol back references and template instances. 1 // TODO: Move all global ctors functions to the end of the module for code 1 // FIXME: Improve error handling here and elsewhere in this pass. 1 // TODO: support Q formatting extension? 1 // TODO: This is a HACK to avoid getPointerAlignment to introduce a ptr2int 1 // FIXME: return false when -final_name ... 1 // TODO: The smallest IR representation is (select X, 0, 1), and that would 1 // FIXME: For now, emit a dummy basic block because expr emitters in 1 // TODO: If the RTLIB::Libcall-taking flavor of GetSignature remains unsed 1 // TODO: Handle C++ base classes. 1 // FIXME: Should check isTokenRange(), for the (rare) case that 1 // FIXME: we could just swap with the end of the list, then erase. However, 1 pcmd(" // FIXME: add verbose output") 1 // TODO: bbArg index of 1 // FIXME: This can be made more efficient. 1 // TODO: Use some preallocated space for dynamic malloc. 1 // FIXME: This test should be changed once existing targets have 1 // FIXME: We could handle FrameIndex values here. 1 // FIXME: Move the assert before the single decl case when we fix the 1 // TODO: When not using precise CFA, we also need to adjust for the 2 // FIXME: This logic comes from other passes that actually change the loop 1 // TODO: Get rid of the Args intermediate step 1 // TODO: Support TBAA for unions. 1 // FIXME Check for ODR error if the two definitions have 1 // TODO: update to support 0-d vectors when available. 1 // TODO: is there any way to detect that an core file is a kernel 1 // TODO: Support the case where LoadMI loads a wide register, but MI 1 /// FIXME: Finish documenting this. 1 /// TODO: handle more complex cases. 1 // FIXME: Support hoisting. 1 // TODO: Add support for vfscanf & family. 1 // FIXME: Per [class.mem]p6, all exception-specifications at class scope 1 // TODO: Contents is present in several classes of the hierarchy. 1 //TODO: Ugh this is rather ugly 1 // TODO: Currently the only place that the symbols' comdat flag matters is 1 // TODO: This and the artificial type below are misleading, the 1 // FIXME: Do I need to do anything special with BoolTy expressions? 1 // FIXME: Reduce this API to a more narrow subset of std::vector 1 // TODO: why is it done conditionally to value_regs? 1 # TODO: Test more compilers 1 // FIXME: This needs to cope with merging of prototyped/non-prototyped 1 // TODO: warn for the case where the EQUIVALENCE statement is in a 1 //===----------------------- TODO -----------------------------------------===// 1 // TODO: Add support for thumbs, in that case 1 // TODO: Check that the VReg name is not the same as a physical register name. 1 // TODO: Improve this cost model. 2 // TODO: `PRIVATE` attribute 1 /// FIXME: This should be done from the Attributor once it is added. 1 // TODO: Move this to a loop fusion utility once 'mdg' is also moved. 1 // FIXME: NumDataSuccs would be more precise than NumSuccs here. This 1 // FIXME: This range should just cover `XX` in `#pragma mark XX` and 1 // TODO: Sink autorelease calls as far as possible. Unfortunately we 1 // FIXME: All of these patterns already exist in tablegen. We should be 1 // FIXME: Results also contain Container::_magic on some platforms. 1 // TODO: Don't worry about 64-bit now, but when this is fixed remove the 1 static constexpr std::size_t maxAlignment_{8}; // TODO: configure for target 1 // FIXME: This method is too general. In principle we should compute the number 1 // FIXME: This should be the page size of the system running profiling. 1 // FIXME: figure out a stable format for AST dumps, so that we can check the 1 // FIXME: If CastToBase is non-0, we should prefix the output with 1 // FIXME: Any other checks required to be done here? Remove this method if 1 // FIXME: A CXCursor_InclusionDirective should give the location of the 1 // FIXME: Handle related result types here. 1 // TODO: Fix CallAnalyzer to handle all indirect calls. 1 // TODO: Add logic to detect when a write happens and ignore that watchpoint 1 // TODO: We can provide more information for better but more expensive 1 // FIXME: Hack to recognize cmp{sh,ss,sd,ph,ps,pd}. 1 // TODO: Try to keep tracking of an entry value if we encounter a propagated 1 // FIXME: Conform to ABI ([[obj retain] autorelease]). 2 // TODO: Non-standard intrinsic functions 1 POST_SYSCALL(sysarch)(long long res, long long op_, void *parms_) { /* TODO */ } 1 // TODO: Remove special cases. 1 // TODO: Look the instruction and check recursively. 1 // TODO: Canonicalize neg after min/max if I1 is constant. 1 // FIXME: we might have run. 1 /// TODO: This is a temporary hack until we update the bitcode format for 1 // TODO: K&R: the meaning of '\\a' is different in traditional C 2 // FIXME: output more information, better presented. 1 // FIXME: this will emit individual packets, we should 1 // TODO: Add support for symbol versioning. 1 # TODO: implement private headers 1 // TODO: get the result shape and create the loop... 2 // TODO: Investigate the cost/benefit of tail call elimination on debugging. 1 // TODO: Move implementation to .cpp once named ops are auto-generated. 1 // documented by a FIXME on the definition of 1 // FIXME: any reason to have a separate declaration? 2 // TODO: may need to move output parsing before region parsing. 1 /// FIXME: Move this to the corresponding cpp file as is done for 1 // TODO: A recursive scan of all blocks in the subprogram is needed in order 1 // TODO: Check if fixing up the stack more than once is safe so we can 1 // FIXME: This is overly conservative because it does not take into 1 // TODO: cobounds 1 // FIXME: We really want to get out of the tool chain level argument 1 # FIXME: lldb should provide something like getCanonicalType 1 // FIXME: Verify the section containing BaseRelocHeader has at least 1 // FIXME: This needs to change if we wish to bundle labels 1 // FIXME: Disambiguate these cases. Note that the latter case is probably 1 // FIXME: This is only partially true. If we have to do vector compares, any 1 // TODO: Diagnose if not enumerable or depends on a parameter. 1 // FIXME: We no longer need the types from CallArgs; lift up and simplify. 1 // TODO: Optimize `move_byte_xxx(...)` functions. 1 // TODO: Handle all atomics and other side-effect operations we know of. 1 Asm.emitInt8(0); // TODO: Support non-zero segment_selector_size. 1 /// FIXME: We should replace this with pointee_iterator> 1 // FIXME: We don't call SymCleanup() on exit yet - should we? 1 // sic %plt ; FIXME: is it safe to use %plt here? 1 // FIXME: Without this check, occasionally when running the test suite 1 // FIXME: Do not inline variadic calls. 1 DebugLoc DL; // FIXME: Is no location the right choice? 1 // TODO: There is no exp10() intrinsic yet. 1 // TODO: rewrite with top-level cxxBaseSpecifier matcher when available 1 // FIXME: We should handle this case in future. 1 // FIXME: Is this always true? 1 // FIXME: Show other ClangTidyOptions' fields, like ExtraArg. 1 // FIXME: Add automatic formatting support as well. 1 // TODO: .scalarize(0) 1 // FIXME: Windows support large pages too. Might be worth checking 1 // FIXME: Can we reset SecAlloc.Content here, now that it's copied into 1 // TODO: mark whether we did this inference? 2 // TODO: Deal with mismatched index constants and variable indexes? 1 // FIXME: More precise: no Uses that alias SI. 1 // FIXME: We presumably shouldn't strip off ElaboratedTypes with 1 // TODO: Improve memory allocation? keep a list of pre-allocated structures? 1 PRE_SYSCALL(compat_43_lstat43)(void *path_, void *ub_) { /* TODO */ } 1 // FIXME: The -std= value is not ignored; it affects the tokenization 1 << VD->getType()->isPointerType(); // FIXME: Add fix-it hint to Variable 1 // FIXME: We currently are not able to detect floating point reductions 1 // FIXME: This is a temporary workaround for the case where clang-format 1 // FIXME: Handle op_sel 3 // TODO: straightforward to generalize to a non-unit stride. 1 EXPECT_EQ(Some.shl(Wrap), Full); // TODO: [0xa, 0x7ff << 0x5 + 1) 1 // FIXME: The tests "GetConstType" and "GetLocAsIntType" infer the type of 1 Record.push_back((unsigned)D->getTagKind()); // FIXME: stable encoding 1 // TODO: Under what circumstances should we shuffle using the full width? 1 // FIXME: Jump tables are not yet required because fast-isel doesn't 1 // TODO: Update the histogram for the node. 1 // TODO: Mapping this to it's own value would allow for better cross 1 // TODO: If both release and invalidate are happening they could be combined 1 // FIXME: Need to split the load. 1 // TODO: Assert that dim and symbol count match the first. 1 // TODO: If IPRA is enabled, and the callee is isSafeForNoCSROpt, it may make 1 // FIXME: Also include types here. 1 // FIXME: To match historical behavior of TableGen, for now add those flags 1 // TODO: Could use isKnownNegative() to handle non-constant values. 1 // FIXME: If this is a friend function template definition, we should check 1 // TODO: To support simple redirecting of the end of the body code that has 1 // FIXME: Consider whether this should be an invalid loc since the loc 1 } else if (exc_code == 0) // FIXME not EXC_ARM_BREAKPOINT but a kernel 1 // FIXME: Implement XGOT for microMIPS. 1 //FIXME: should we report or raise here? 1 /// TODO: this does not account for aliasing of memrefs. 1 # TODO: This shouldn't be a heuristic: we should have a way to annotate 1 if (SI->getNumCases() < 4) // FIXME: Find best threshold value (benchmark). 1 // TODO: This has been removed in later specs, which specify that D implies F 1 // TODO: It turns out we need a decent amount of plumbing for the target 1 // FIXME: Should consider known workgroup size to eliminate known 0 cases. 1 // FIXME: Switch these to "= default" once MSVC supports generating move ops 1 // FIXME: handle invokes 1 // FIXME: The parameter Deps is the result populated by this method, the 1 // FIXME: We should sink the escape vs. abort info into the caller nicely, 1 /// benefit of choosing A. TODO: We may want to consider both options and make 1 // TODO (davide): This always assumes prot is valid. 1 // TODO: Analyze KMP_VERSION environment variable, print 1 // TODO: Generate TBAA information that describes this access as a structure 1 // TODO: does this make sense? 1 // FIXME: Allow NULL aliasee. 1 // FIXME: What about MS-style explicit specializations declared within a 1 // FIXME: "A(f())" deserves a vexing-parse warning, not just a 1 // FIXME: Add diagnostic? 1 // TODO: REAL(2 & 3) 3 // FIXME: Will be used by a later planned change. 1 // FIXME: Use findPHICopyInsertPoint() to find the correct insertion point 1 // TODO: UTF-8 decoding; may have to get more bytes in a loop 1 // TODO: Enable debug info when the SPIR-V backend arrives. 1 // FIXME: Support correlated properties, like: 1 // FIXME: 32-bit wchar_t signals UTF-32. This may change 1 // TODO: This test is focussed on one specific instance (ld/st). 1 // FIXME: Change the immediate to improve opportunities? 1 // TODO: Support probe based profile generation 1 // FIXME: Proper error handling. 1 // FIXME -- Check the type that the smart pointer points to. 1 // TODO: investigate 1 // TODO: Support non-local call-slot optimization? 1 // TODO: This assumes the instruction \p Before is in the same 1 // FIXME: We are still missing the case where we single step 1 // TODO: refine this placeholder 1 // TODO: Should this try to use a scalar add pseudo if the base address 1 // FIXME: This assumes all exports are functions. 1 // FIXME: DependentTypeOfExprType 1 // FIXME: This function should be removed once the functionality in 1 // TODO: Path notes. 1 // TODO: getExtents on op should return a ValueRange instead of a vector. 1 /// FIXME: What other kind of declarations would we need to generalize 1 // TODO: intentional leak. Some information is garbage collected too early, 1 // FIXME: This mimics what GCC implements, but doesn't match up with the 1 // TODO: Rename MetadataStreamerV4 -> MetadataStreamerMsgPackV4. 1 // TODO: Finish this list and add an assert that we've handled them 1 // FIXME: Add more two-instruction sequences. 1 // FIXME: Support this case by deducing the common type. 1 .clampMaxNumElements(1, S16, 2) // TODO: Make 4? 1 // FIXME diagnose 1 // TODO: Allocators should receive the correct size and possibly alignment, 1 // TODO: Insert before the earliest ExtractElementInst that is replaced. 1 // FIXME: We probably don't need to run these for -fPIE. 1 // TODO: 10 may be a better default since it's the maximum. 1 // FIXME: when writing dwo, we need to avoid relocations. Probably 1 // FIXME: Collapse this into TemplateParamPosition; or, just move depth/index 1 // TODO: Handle splat vectors. 1 // FIXME: This is duplicated between this file and MemorySSATest. Refactor. 1 /// TODO: Hoist loop induction variable increments. This has to be 1 # TODO: Support ios, tvos and watchos as well. 1 // them. TODO: Teach operation legalization how to expand unsupported 1 // TODO: Check if this is horribly expensive. 1 /// TODO: Optionally allow splats from other elements. 1 // FIXME: Here we try to validate the silenced checkers or packages are valid. 1 // FIXME: If both the original and replacement value are part of the 1 // FIXME: Handle #assert 1 // FIXME: this is a bit hacky to get ReadToEndOfLine work. 2 // FIXME: What if other value results of the node have uses not matched 1 PRE_SYSCALL(compat_43_fstat43)(long long fd_, void *sb_) { /* TODO */ } 1 # TODO: Remove this once we switch to ld64.lld. 4 // TODO: layout information if relevant. 1 // FIXME: This should eventually be extended to be a post-dominator tree 1 // FIXME: Try to re-use BSI and PFI from the original module here. 1 // FIXME: A virtual register must be used initially, as the register 1 // TODO: Convert noalias arg to !noalias 1 // FIXME: Probably should not allow 16-bit G_EXTRACT results. 1 // TODO: Check if we should emit tied or untied task. 1 // FIXME: The pass should maintain this for us so we don't have to re-scan the 1 // FIXME: we could still hoist the assignment, and leave the variable there? 1 // TODO: call BLAS-3 ZGEMM 1 // FIXME: our index should definitely store def | decl separately! 1 // FIXME: Do this for new pass manager. 1 // FIXME: If the GEP is not inbounds, and there are extra indices after the 1 {"PAIR", /* FIXME populate this */ B(_0)}, 1 // TODO: Make 'dependenceConstraints' optional arg. 1 // TODO: Handle non-splat vector constants. All undef causes trouble. 1 // TODO List: 1 // TODO: Always legal with future ftz flag. 1 #"//lldb/source/Target", # FIXME: 3-hop Dependency cycle (DataFormatters->Target->Expression->Interpreter->DataFormatters) 1 // FIXME: Note, this is a hack. We need to pass the selected float 1 // TODO: Add *_globally support 1 * TODO FMT Will probably change to support Unicode grapheme 1 // TODO: Treat the case of incorrect code. 1 // LDRH has a funny addressing mode (there's already a FIXME for it). 1 // FIXME: This can only happen as an extension. Invent a mangling. 1 // FIXME: extend this code to support cases like `operator +` or 1 // FIXME: If the destination is a Thumb function (and the instruction 1 // FIXME: Remove this ctor, use AttributeSet. 1 // TODO: Add the provided labels to the PDL pattern when PDL supports 1 // TODO: Canonicalization should be implemented for shapes that can be 1 // FIXME: This should really be asserting this: 1 // FIXME: This is just taking a guess, rax may very well no longer hold the 1 // FIXME: The hack below doesn't work for bitfields. For now, we simply 1 // FIXME: If we ever want to show these implicit accesses, this will be 1 /// TODO: We could use region analysis to quickly skip over SESE regions during 2 // FIXME: respect -fsanitize-trap / -ftrap-function here? 1 // FIXME: We could relax this restriction with a bit more work and performance 1 // TODO: Stop doing that. See: https://reviews.llvm.org/D45093#1090292 1 // TODO: being conservative for the moment in cases that 1 // FIXME: Before we leave this submodule, we should parse all the other 1 // FIXME: this is a workaround for the lack of proper modules-aware support 1 /// TODO: Handle pre/postinc as well. 4 // TODO: CodeSize should account for multiple functions. 1 // FIXME: We might be able to treat allocsize functions as general allocation 1 // FIXME: we should send multiple weighted paths here. 1 // TODO: add option to decide if the prologue/epilogue should be peeled. 1 // TODO: These ops should implement BufferizableOpInterface directly when moved 1 // FIXME: Use the earliest possible split while reflowing to correctly 1 // FIXME: Should we allow this in all language modes that support an import 1 // FIXME: what should all be filtered out beyond these? 1 case 4: { // TODO: Get this to work. 1 // TODO: Make SCEV use Attributor assumption. 1 // FIXME: This function is also used to retrieve floating-point values, 1 // FIXME: see PR44797. We should revisit these checks and possibly move them 1 // FIXME: Should we include any prior module file outputs as inputs of 1 // FIXME: Horrible hack for sxtw and uxtw with Wn src and Xd dst operands. 1 # TODO: Enable for MinGW Windows builds too. 1 // FIXME: Replace Expr::IgnoreImplicitAsWritten() with this function. 1 // FIXME: Clang uses it, but it's bogus, since neon defaults to vfpv3. 1 // TODO: add support for large vectors. 1 /// FIXME: Overload to allow directly matching types? 2 // appropriate defaults. See associated FIXME in ConstantFoldBinaryInstruction 1 // TODO: Add scoring tests (via getBestVariantMatchForContext). 1 /// FIXME: This should be hoisted into a generic utility, likely in 1 // FIXME: If running after legalize, we probably can't do this. 1 // TODO: -fpreprocessed mode?? 1 // FIXME: This should be handled by the pass manager, not the outliner. 1 // FIXME: Include sizes from all submodules, and include MacroInfo sizes, 1 // FIXME: encode cancellation errors using RequestCancelled or ContentModified 1 // FIXME: It's not clear that the proposal meant to allow file-scope 1 // FIXME: the rest of the function is almost a direct copy-paste from 1 // (assuming that the source types match - see next TODO comment). 1 // FIXME: We are assuming that the stacks grow downward in memory. That's not 1 // TODO: reconsider this when the need arises. 1 // FIXME: When the kernel provides a way to set the background tag of a 1 // TODO: VirtualBaseBranches should also appear for destructors. 1 // FIXME: Add support for lazily stat'ing umbrella headers and excluded 1 LangOptions LangOpts; // FIXME: use langopts from each original file 1 //FIXME: Formulas should store bitwidth to do wrapping properly. 1 // FIXME: This ignores many potential bugs (). 1 // FIXME: define __VECTOR__ n 1 if automatic vectorization is enabled 1 // TODO: This is the same as the MachineOutliner, and should be consolidated 3 // TODO: Can be more efficient since isRecursivePHI can theoretically 1 // FIXME: Eliminate the llvm_shutdown requirement, that should either be part 1 // FIXME: better method with static modifier? 1 // FIXME: Find a better way to handle this case. 1 // FIXME: Implement checks without weak. 2 // FIXME: Support "ATMAM" instruction for LOAD_ADD/SUB/AND/OR. 1 // FIXME: Include a location for the use, and say which one was used. 1 # FIXME: Disable dead stripping once other binaries are dead-stripped. 3 // FIXME: check that this works on Windows and add tests. 1 // TODO: Use std::apply from c++17 1 // FIXME: Generate me with CMake 1 // TODO: Check that before the fixTLVSectionsAndEdges pass, the GOT/PLT build 1 // FIXME: This returns true for C/C++ keywords like 'struct'. 1 // TODO: if this becomes a bottleneck, we can save on GetLastDef calls by 1 // TODO: handle scalable vectors 1 // FIXME: add a buffer of executed instructions. 2 # FIXME: Do this only if a gn arg compiler_rt_enable_ios is set? 1 // TODO: Look into changing the default m0 initialization value. If the 2 // FIXME: why do we need this? 1 // FIXME: Include the path in the diagnostic. 1 // FIXME: We are constantly running into bugs where Line.Level is incorrectly 1 // FIXME: We can and should optimize away the NOP for local calls. 1 // TODO: Take notes on state transitions to provide better warning messages. 1 // FIXME: Hash more of Options. For now all clients initialize Options from 1 // TODO: The symbol should be lowered to constant in lowering, they are read 1 // FIXME: We could eliminate C++ destructors if they're readonly/readnone and 1 // FIXME: When we perform these implicit instantiations, we do not 1 // TODO: This limitation is more strict than necessary. We could sum the 1 // FIXME: Does this need to check IEEE mode bit? SNaNs are generally not 1 // FIXME: Hack. We rely on AssertZext to be able to fold DS addressing 1 // FIXME: This might not be the best algorithm for finding bit test clusters. 1 // FIXME: Fix a dependency issue by instantiating the ABI object to some 1 #if 0 // TODO: implement resource type check controlled by options with ub = LB. 1 // FIXME: We might want to retry here with a wider type if we fail, if that 1 // FIXME: We lack an extension to customize the mangling of the variants, e.g., 2 // TODO: Do we want runtime unrolling? 1 // FIXME: Use ARMTargetParser. 1 // TODO: Should we just carry on? 1 // FIXME: Should this be a dedicated TreeTransform? 1 // FIXME: It might be better to not reuse this AST. That way queued AST builds 1 // FIXME: We should add a DiscardedStmt marker to the AST. 1 // FIXME: TryParseSimpleDeclaration doesn't look past the first initializer, 1 // FIXME: can this be reworked into a worklist-based algorithm while preserving 1 // TODO: In the future, similar techniques could be used to eliminate 1 // FIXME: Since the return type isn't actually parsed, it can't be used to 1 /* TODO: GEH: do ICVs work for nested serialized teams? Don't we need an 1 // FIXME: Once function_ref and unique_function operator= operators handle 2 // TODO: Storage association with any object for which this predicate holds, 1 // FIXME: There is an important caveat and two assumptions 1 // FIXME: Properly handle all of the latency adjustments for address 2 // TODO: If we know we visited all returned values, thus no are assumed 1 // TODO add Operator overloading specific Options to 1 // TODO: allow malloc? 1 // FIXME: figure out why this is necessary. 1 /// FIXME: Do we really? 1 // TODO: Right now, the operands of an operation are either all normalizable, 1 // FIXME: largely duplicates config::Provider::fromAncestorRelativeYAMLFiles. 1 // FIXME: This will also reduce register usage, which may be better 1 // FIXME: Visit the "outer" template parameter lists on the FunctionDecl 1 // FIXME: Do something a bit more intelligent inside constructor and 1 // FIXME: Once SValBuilder supports unary minus, we should use SValBuilder to 1 // FIXME: What if other value results of the node have uses not matched 1 // FIXME: Add retpoline support and remove this. 1 // TODO: In DWARF5 support ULEB128 for high_pc 1 return nullptr; // FIXME: deal with more complex aggregates? 1 // TODO: consider having trait inheritance so that HasDefaultDLTIDataLayout 1 // TODO: The count can also come frome a specialization constant. 1 // FIXME: Once lld-link rejects multiple resource .obj files: 1 /// FIXME: This function should be removed once all targets stop using the 1 // TODO: Think of an approach to remove the std::distance call 1 // FIXME: Dropping the reference type on the type into makes it 1 // FIXME: This assumes vector elements are byte-sized. 2 /// FIXME: Now that this only allocates ImplicitConversionSequences, do we 1 // TODO: Check if we can actually use the new instructions and implement them. 2 // FIXME: Check flags on the node to see if we can use a finite call. 1 // FIXME: Add a test for `declRefExpr()` that does not depend on C++. 1 // TODO : Remove this function 1 // TODO: any other raw characters? 1 /// TODO: This is temporary until we decide a new bitcode encoding for 1 // TODO: Add support for X86::SETcc instructions. 1 // TODO: Write a test demonstrating why computing isPrivateExtern before 1 // FIXME: Should we use a dummy register class? 1 // TODO: once ranked shape types are plugged in, we may want to drop the 1 // TODO: how to test Rounding::TiesAwayFromZero on x86? 1 // FIXME: This could be refined to only bail if the convergent operation is 1 // FIXME: Currently we always output an index of 0 for any imported 1 // FIXME: this is not mirrored in CXSymbolRole. 1 // FIXME: figure out a good home for it, and share the implementation with 1 // TODO: How to use branch immediate and avoid register+add? 1 // FIXME: landingpad 1 // FIXME: Note that we can't easily compute the lexical context of a 1 // FIXME: This should be a `type-id` following the grammar. Fix this once we 1 // FIXME: ObjC object pointers always reside on the heap, but currently 1 c = 'u'; break; // FIXME: Check this doesn't collide 1 // FIXME: implement the rest. 2 // TODO: a base of no parent? weird.. 1 // TODO: should we print "virtual"? 1 // TODO: Handle transformation of lcssa phis in the InnerLoop latch in case of 1 // FIXME: Can we sink instructions without violating dominance when TheSrc 1 // TODO: Think of an approach to remove the increment here each time. 1 // FIXME: it should be possible to handle different types correctly. 1 // FIXME: To TableGen this we need to make some table generated files available 1 // TODO: Do we need to track the region to avoid having it dead 1 // TODO - DATA statements and DATA-like initialization extension 1 POST_SYSCALL(compat_13_sigpending13)(long long res) { /* TODO */ } 1 // FIXME: This is searching much more than necessary, but I am 1 // FIXME: this causes a "real" child to end up with its name changed to 1 // TODO: get rid of toDataLengthPair when adding support for arrays 1 // FIXME: 3 element stores scalarized on SI 1 // FIXME: Rewrite to use regunits. 1 // See FIXME above 1 // TODO: need to add STRICT_SELECT_CC and STRICT_SELECT_CCS 1 // TODO: consider evolving the semantics to only allow 1D source or dest and 1 // FIXME: Add a warning about failing to specify `-mretpoline` and 1 // TODO: Be less conservative when the type is similar and can use the same 1 // TODO: Do we need to handle this in two places like we do with 1 // FIXME we have the minimal version number, we could be propagating 1 // FIXME: unify ClassTemplateSpecializationDecl and TemplateSpecializationType's 1 // TODO: Consider limiting inalloca use to only calling conventions supported 1 // FIXME: Given that these have the same name, these should both be 1 // TODO: Change SPIR-V conversion to be progressive and remove the following 2 // TODO: Support AffineExprs mod/floordiv/ceildiv. 1 // TODO: C1534: Don't allow a "restricted" specific intrinsic to be passed. 1 // FIXME: We are assuming that the assembly name is equal to the TableGen 1 // TODO -- move this test into llvm::isInstructionTriviallyDead 1 # FIXME Support slice objects. 1 // FIXME: There are likely other contexts in which it makes no sense to ask 1 // TODO: Extract DWARF dump tool to objdump. 1 // FIXME: We didn't implement following selection: 1 // TODO: handle the other cases 1 // FIXME: This assumes PEI locate spill slot with smaller indices 1 // FIXME: Eventually we should discover this dynamically. 1 // TODO: Consider using bitvectors for liveness, the set of potentially 1 // FIXME: make these findable once user types _. 1 // FIXME: This really, really shouldn't use TargetMachine. We don't want 1 // TODO: option to specify cleanup loop unrolling. 1 // FIXME: This handling of macros is more conservative than necessary. When 1 // FIXME: Add a flag for modules. 1 // FIXME: Inserting at an OOB index will always just append to the list. This 1 // TODO: Support construction contexts for variadic function arguments. 1 // TODO: Should VirtualFunctionElimination also be supported here? 1 // FIXME: This changes CPP defines, we need -target-soft-float. 1 // FIXME: The function declaration we're constructing here is mostly reusing 1 // TODO: hex FP input 1 // TODO: Add link between use and def for types 1 // FIXME: Process parameters correctly. This is a leak only if we return 1 // FIXME: better error handling. for now just print error message and skip 1 // FIXME: We can extend the number of predecessor, but in that case, we 1 // TODO: We should verify that the operation can always be folded, but this 1 // TODO: Support the following clauses: private, firstprivate, lastprivate, 1 // FIXME: It's a little silly to look at every function just to enumerate 1 // FIXME: we should be able to compute the caching hash for the entry based 1 // FIXME: Do we need to fix up the " */" at the end? 1 // FIXME: This can probably be combined with the shuffle below. 1 // TODO: On some of these floating point instructions, USR is marked as Use. 1 // FIXME: this isn't fully correct; we also need to test whether the 1 // TODO: consider using push / pop instead of sub + store / add 1 // FIXME: Are these case sensitive? It'd be nice to lower-case all the 1 /// FIXME: This could definitely be improved upon. 1 // FIXME: It is possible to extend it to handle reg+reg cases. 1 // FIXME: handle properties that are declared across multiple lines. 2 // FIXME: Figure out why this fails on mac/arm, PR46647 1 // FIXME: The TLS descriptor byte length may different with different 1 // FIXME: This code currently bypasses the call site for the 1 // FIXME: Implement. 1 // FIXME: Non-trivial to implement, but important for C++ 2 // FIXME: If we made functions typeless then there would be no need to do this. 1 // TODO: Is it worth matching urem as well? 1 // FIXME: This could be coincidental. Should we really check for a tied 1 // FIXME: Implement! 3 // TODO: Extend to CL_DEVICE_TYPE_ALL? 1 // FIXME: At the moment, we don't take advantage of this extra information, 1 // FIXME: assumes exactly one instruction is used to restore each 2 // TODO: This is a splat, but we don't recognize it. 1 // FIXME: The machine representation is currently broken 1 // FIXME: We ignore using-decls defined in function definitions at the 1 // FIXME: this should be stored in the record layout. 1 // TODO: still under discussion whether to switch to SLS_All. 1 "TODO: dispatchOp with abstract results"); 1 // FIXME: This is missing a generalization to handle the case where one is 1 // FIXME: This will need to be extended to handle Variadic functions. We'll 1 // TODO: If serializeToCubin ends up defining optimizations, factor them 1 // TODO: run initializer if any. Currently, there is no way to know this is 1 if (ShAmt == SubAmt) // TODO: Use m_Specific 2 // FIXME: implement event-based waiting 1 /// FIXME: this comment is not true anymore since genLoad 1 // TODO: llvm::Triple::normalize treats the missing components from these 1 // FIXME: Add TargetCostKind support. 1 // TODO: Handle atomicrmw fadd/fsub 1 // FIXME: We may want to replace this with a more meaningful metric, like 1 // FIXME: Handle code size growth for min_size and opt_size. 1 // FIXME: CounterValue? 1 // FIXME we don't have a way to represent reg saves at an specific 4 // FIXME: No atomic loads are supported. 1 // FIXME: There is more per-file stuff we could just drop here? 1 // FIXME: Make this take StringRefs instead of null terminated strings to 1 // TODO: getAffineScope should be publicly exposed for affine passes/utilities. 1 // FIXME: maybe not need to be reserved 1 // FIXME: This should not be limited to scalar (pull into APInt match above). 1 // TODO: Merge with expandFunnelShift. 1 // TODO: This logic is the same as in Malloc checker. 1 // (TODO: else if all their users depend on the same group, put them there) 1 // FIXME: Don't do this here. 1 // FIXME: Is there a better way to check for load fold barriers? 1 // TODO: handle big endian... 2 // TODO: Make clang to emit full names for variables in namespaces 1 // FIXME: Revisit this based on C++ committee response to unimplementability. 1 // FIXME: Implement support for BindKind. 1 // TODO: We need a undef-specific checking function in ValueTracking 1 // TODO: this is basically a symbol with an optional DataRef base; 1 // FIXME: We're abusing the fact that everything lives in a GPR for now; in 1 PRE_SYSCALL(compat_12_stat12)(void *path_, void *ub_) { /* TODO */ } 1 // FIXME: Handle "shrinking" more efficiently, 2 // TODO: Avoid the loads if the corresponding argument of the 1 // TODO: Use the debug locations of the calls instead. 1 POST_SYSCALL(compat_43_ogetdtablesize)(long long res) { /* TODO */ } 1 // TODO: test other intrinsics 1 // TODO: Entry value operations can currently not be combined with any 1 // TODO: Contrary to the name of the functiom, 1 // TODO: 16-bit elements. 1 // TODO These checks can be expanded to encompas any use with only 1 // FIXME: If the kind is "compiler" warn if the string is present (it is 1 // FIXME: We should have a function to construct CXFiles. 1 // FIXME: We should consider ways of fixing this, perhaps by eliminating 1 // FIXME: This function is a hack that works around the quirky AST 1 // TODO: Remove this class when -name-whitelist option is removed. 1 // FIXME: The following handlers should use a callback mechanism, we don't 1 // FIXME: Some simple tests here could identify macro definitions and 1 // FIXME: insert after the file comment or the header guard, if present. 1 // FIXME: Need to escape general characters. 1 // FIXME: [dcl.fct.spec]p4: 1 // FIXME: when operator() of lambda is analyzed as a top level function and 1 // TODO: make this function take `end_unit_index` as a parameter instead of 1 // TODO: This load poprobably can be promoted to constant address space. 1 // TODO: This should probably be the pointer size. 1 // FIXME: Why getNonCompileUnitScope()? 1 // FIXME: A lot of the code below could be shared with EmitMemberExpr. 1 // FIXME: Make VarTemplate tests work. 2 // FIXME: Should declarations in anonymous namespaces get the same treatment 1 // TODO: add BridgeOS & DriverKit once in llvm/lib/Support/Triple.cpp 1 {// FIXME: MS Asm doesn't currently parse Constraints, Clobbers, etc. Once 1 // TODO: Check for names identical to language keywords, and other names 1 // FIXME: It's unclear that the restriction to static members here has any 1 // FIXME: We currently don't use control-dependence but simply include all 1 // FIXME: Do something different for soft failure modes? 1 // FIXME: We don't currently support creating pre-indexed loads/stores when 1 // TODO remove this limitation. 1 // FIXME: preserve the ill-formed return expression. 1 // FIXME: Should have separate input and output flags 1 // FIXME: preserve PostDominatorTreeWrapperPass 1 // FIXME: handle explicit asm clobbers. 1 // FIXME: Code completion for co_return. 1 // FIXME: We could use a nicer diagnostic here. 1 // FIXME: this is invalid for WindowsCE. 1 # FIXME: Record information from the individual test suites? 1 // FIXME: P0091R3 does not permit class template argument deduction here, 1 // FIXME: Unaligned stores need special handling. Doublewords require 1 // TODO: Currently we're always allowing widening on CPUs without VLX, 1 Kind == OMPC_in_reduction; // TODO add next clauses like 'reduction'. 1 // FIXME: Simplify the complex 'AST dump' command line. 1 // FIXME: check for MTE extension 1 // FIXME: Support inbounds GEPs. 1 // compatibility. FIXME: should we deviate?? 1 // FIXME: Long term, we don't want to have to rely on this implicit 1 // FIXME: If vtable is used by ctor/dtor, or if vtable is external and we are 1 // TODO: Generalize this to work with other comparison idioms or ensure 1 /// FIXME: This could learn about optsize, and be used in the cost model. 1 // FIXME: these lines can be removed in C++17 1 // FIXME: Diagnostic location! 1 /// FIXME: this warns on all overrides outside of the sliced path in case of 1 // FIXME: This only handles the simplest case, where the source object 1 // TODO: This condition should be checked in the synchronous part of the 1 // TODO: I18n this message. 1 // TODO: For now we only find aggregates in BaseTypes. It might be better to 1 // FIXME: Gross. 1 // TODO: Note that legalization can turn masked loads/stores into unmasked 1 // FIXME: s16 shift amounts should be legal. 1 // FIXME: We really should have a better mechanism in the ASTContext to 1 case 2: { // TODO: Get this to work. 1 // TODO: support floats 1 // FIXME: Better solution for this? 1 EXPLICIT_SYMBOL(__main) // FIXME: Don't call it. 1 // FIXME: Capture 'this' / 'self' if necessary. 1 // related FIXME in Mapper::mapLocalAsMetadata in ValueMapper.cpp. 1 // TODO: replace this with call to auto generated uncompressinstr() function. 1 // TODO: verify that this assignment is correct. 1 /// FIXME: This function will not work right if calling 1 // FIXME: Pass these parameters as function attributes, not as -llvm flags. 1 // FIXME: this could be fixed by filtering instructions from outside 1 // FIXME: Will not trap if loading a signaling NaN. 1 // TODO: Add more platforms that support pipe2. 1 // FIXME: When PIC is disabled and foo is defined locally in the 1 // FIXME: stable encoding for in/out/inout/bycopy/byref/oneway/nullability 1 // TODO: This code should be commoned with the code for 1 // TODO: Generalize ConstantFoldTerminator so that it can be used 1 // FIXME: IndirectBr on "undef" doesn't actually need to go anywhere: 1 // TODO: Change this to work on FuncLikeOp once there is an operation 1 // FIXME: There's a bug here, where setting NumThreads = Inputs.size() fails 1 // FIXME: We should support doing a MUL in a wider type. 2 // TODO FMT There might be more optimizations possible: 1 // TODO: if the read and write have the same ancestor we could recurse in 1 // FIXME: support *wprintf in common format interceptors. 1 // FIXME: Make this constexpr once all compilers are smart enough to do it. 1 // FIXME: VarTemplatePartialSpecializationDecl does not update ("adopt") 1 // FIXME: We don't want this to happen. Rather, we should be able to 1 // TODO: ieeeMinNum/ieeeMaxNum 1 // FIXME: Don't traverse these tokens twice (here and in 1 // TODO: support mask. 1 // TODO: memset_pattern4, memset_pattern8 1 // FIXME: also support "plain" style where signatures are always omitted. 1 // FIXME: Remove this once we can guarantee that we have PhiInfo always 1 // FIXME: Use TargetInstrInfo::RegSubRegPair. Also duplicated in 1 // FIXME: Checking this here is insufficient. We accept-invalid on: 1 // TODO: Add support for more complex library call signatures that include 1 // FIXME: infer better src pointer alignment like SelectionDAG does here. 1 // FIXME: All of these Opcode-specific if's are needed for compatibility 1 // TODO: need OpFoldResult ODS adaptor to clean this up. 1 // FIXME: Look into directly passing the FileEntry from LookupFile instead. 1 // FIXME: this is incorrect for cases where we have a non-dependent 1 // FIXME: The receiver could be a reference to a class, meaning that 1 // TODO: Note that as this is metadata, it is possible to drop and/or merge 1 // FIXME: Alphabetical sort puts 'experimental' in the middle. 1 // FIXME: We would like an efficient form for this, so we 1 // TODO create zero currenlty handled as create. Update when extension 1 // FIXME: Do something with these! 1 // FIXME: if we have an array of structures, all explicitly 1 // FIXME: parameter attributes 1 // FIXME: In order to match the standard wording as closely as possible, we 1 # TODO: 1 // TODO: support tensor type. 1 /// FIXME: Remove this workaround when freeze related patches are done. 1 // FIXME: Diagnostics should be used instead. 1 // FIXME: Add a test for `references()` that does not depend on C++. 1 // FIXME: Also skip generation of diagnostics alltogether to speed up ast 1 // FIXME: Don't delete a preceding comment, if there are no other entities 1 // TODO: Factor out the flags specific to the FDR mode implementation. For 1 // FIXME: Improve the reported location. 1 // FIXME: should check the other field? 1 // TODO: create a separate function to go through the rules for 1 // TODO: Figure out why typo correction misbehaves in this case, fix it, and 1 // TODO: Support accesses to members of base classes in TBAA. For now, we 1 // FIXME: add note with the def operand. 1 // FIXME: Handle EXCEPTION_STACK_OVERFLOW here. 1 // TODO: Currently only variable initialization with specialization 1 // // FIXME: Implement talking to the remote debugserver. 1 // FIXME: Other compilers mangle partially-resolved template arguments in 1 // FIXME: We shouldn't need this, the protocol decl should contain enough 1 /// FIXME: We do currently require the DiagHandler field to be set in Conf. 1 // TODO: Perform some kind of equivalence check on the condition and score 1 // TODO: Use Intrinsic::canonicalize or let function attributes tell us that 2 // FIXME: Merge with the above RenamingASTConsumer. 1 // FIXME: fcmp 1 // TODO: We shall only need a one instance of module pass, but that needs to be 1 // FIXME: For the TLS case, collect and use profiling information to 1 // FIXME: This is making global / module-level changes, which doesn't seem 1 /// zeroext/signext integer return value. FIXME: Some C calling conventions 1 // FIXME: in addition to querying for extra/overlapping symbols, we should 1 // FIXME: this is a hack for fixing a later crash when attempting to 1 // on top of. FIXME: spill locations created before this pass runs 1 // FIXME: We could handle more hoisting cases. 1 /// FIXME: We could possibly optimize this quite a bit for cases where the 1 // FIXME: These should be output like this: 1 // TODO: "devirtualize" this for accesses to known-complete objects. 1 // FIXME: This should be in InstSimplify because we're replacing an 1 /// TODO: Remove default argument 2 // TODO: The format bb.. is supported only when it's not a 1 // TODO: if we're currently emitting a complete-object ctor/dtor, 1 /*FIXME:ConstructLoc*/ SourceLocation(), ToType, 1 // FIXME: This should probably be part of SValBuilder. 1 /// TODO: w (resp. kw) is unrolled when the strideW ( resp. dilationW) is 2 #if 0 // TODO: REAL(2 & 3) 1 // TODO: We should add code that will leave the current process 2 // TODO Import instantiated exception specifications. 1 # FIXME: Why is this named files, when does it have multiple 1 // TODO: Can we assert there is no overflow because InstSimplify always 1 // TODO: Get the simplest access function. 1 // FIXME: If we have local visibility but not modules enabled, the 1 /// FIXME: This is basically just for bringup, this can be made a lot more rich 1 // TODO: For non-entry point functions, it should be legal 1 // FIXME: We could consider re-using spelling for tokens we see repeatedly. 1 // TODO: __mspabi_srall, __mspabi_srlll, __mspabi_sllll 1 // rather than hide. FIXME: Look for hiding based on function 1 // FIXME: 64-bit operands can zero extend, sign extend, or pad zeroes for FP 1 // FIXME: On some platforms this could be handled by the longjmp/exception 1 // FIXME: Current implementation of ClampedSubtract implicitly assumes that 1 // TODO: Replace this to exploit HyperRectangularSet. 1 // FIXME: POSIX specific. Always accept? 1 // TODO: more flexible constant handling. 2 // TODO: remove this method and fix tests that use it by setting 1 // FIXME: SEHLeaveStmt 1 // TODO: GEH - this may be is wrong because some sync would be necessary 1 // FIXME: Support C++ method extraction. 1 __kmp_release_lock(&__kmp_global_lock, gtid); // AC: TODO move this line upper 1 // TODO: Use the location of the literal element itself. 1 // TODO: atm we just bail because a stronger analysis is needed for these 1 /// FIXME: Migrate the caller of this to use containsErrors() instead once 1 // FIXME: This doesn't benefit from the same typo-correction we 1 // FIXME: This is an oversimplification, they should only be related if they 1 // TODO: more forwarding can be done when support for 1 // FIXME: ControllingPlan & OkayToDiscard aren't really orthogonal. 1 //!!!!! TODO check if the inc should be unsigned, or signed??? 1 // FIXME: These should be moved to TargetTuple once it exists 2 // FIXME: all non-x86 targets need unwind tables, however, LLVM currently does 1 // FIXME: SEHTryStmt 1 // FIXME: Reject attempts to use -march=native unless the target matches 1 // FIXME: BlockDecl does not know its return type, 1 // FIXME: ChooseExpr is really a constant. We need to fix 1 // TODO: Adapt simplifyDivRemOfSelectWithZeroOp to allow this and other folds. 2 // FIXME: OldParm may come from a FunctionProtoType, in which case CurContext 1 // TODO: When implementing stack protectors, take that into account 1 // FIXME: Why isn't this in the subclass gunk?? 1 // TODO: handle e.g. store to alloca here - only worth doing if we extend 1 PRE_SYSCALL(compat_12_fstat12)(long long fd_, void *sb_) { /* TODO */ } 1 // FIXME: The token on the next line after #include should have 1 // FIXME: If we support lambdas here, we'll need to set StopAtSemi to false 1 // FIXME: this test case is not supported by MCJIT 3 // FIXME: OffsetHere is the offset in the vtable of the virtual base 1 // TODO: Do we need to guard against already legalized intrinsics? 1 // FIXME: This can fail 1 // TODO: Audit uses of KernelOrKext and see where it'd be more appropriate to 1 // FIXME: What about layers of ElementRegions? 1 // TODO: Some of these folds could work with arbitrary constants, but this 1 // TODO: case 106: return kind for double/double 1 // FIXME: Deleting the `TraverseParenTypeLoc` override doesn't change test 1 // TODO: There are a bunch of cases of restrictive memory effects we 1 // FIXME: Perform include insertion to make symbol visible. 1 // TODO: how to deal with NaN(...) ambiguity? 1 // TODO: Similar enums are defined in clang/lib/Frontend/TextDiagnostic.cpp. 1 // TODO: Another approach for checking dominance is having two iterators and 1 // FIXME: We would be able to avoid the libcall in many places if we 1 /// FIXME: Normally null; tail-allocate this. 1 // FIXME (simon): If the relocation target symbol is not a PLT entry 1 // TODO: Add support for emitting DWARFv5 line table. 1 // TODO: We may not support all of this. 1 // FIXME: Should we call this function for all blocks which exit the function? 1 // TODO: implement other casts. 1 // TODO: also use this scan to queue conditions to simplify, so we can 1 /// TODO: Develop and implement the target dependent cost model and 1 // most likely evaluate to concrete false anyway. FIXME: We might 1 // FIXME: This is a temporary measure while we still accept arbitrary code 1 // TODO FMT This loop evaluates the loop invariant `this->__type != 1 // FIXME: Various functions that take a string &ErrorMessage should be upgraded 1 // FIXME: This should go in generic DAG combiner with an isTruncateFree check, 1 // FIXME: not sure if we want to recognize negation. 1 // TODO: maybe get from delegate, not needed for first pass 1 // TODO Support mixed TLSDESC and TLS GD. 1 // FIXME: Potentially implement the more complex deduction algorithm? 1 // FIXME: this should use ZExt instead of SExt, but JSON doesn't allow a 1 // TODO: If the fadd has 'nsz', should we return +0.0? 1 // FIXME: This is overly conservative. Dynamic allocas are inefficient for 1 // FIXME: Set up the abbrev, we know how many values there are! 1 // C++, although that's questionable (see FIXME in StringPrinter.cpp). 1 // FIXME: mangleValueInTemplateArg has quadratic time complexity in 1 // FIXME: Not necessary thread 0. 1 // TODO: Extend getKnownUndefForVectorBinop to also deal with known zeros 1 // FIXME: Merge into a single cstring creation function. 3 // FIXME: This conversion should be explicit. 1 // TODO: report this error, but really only once. 1 // FIXME: This should probably use CharUnits or something. Maybe we should 1 // FIXME: handle bitcasted callee, e.g. 1 // FIXME: code copied and transformed from MCDwarf.cpp::EmitDwarfLineTable. 1 /* TODO: Add Support for not Intel compilers for IA64 */ 1 /// TODO: Move this to a unittest when unittests are available for OpenMPOpt. 1 // FIXME: this state can be merged with (2), but the following assert 1 // FIXME: Assuming no overlap here breaks guaranteed copy elision for base 1 // FIXME: This only supports removing qualifiers that are made up of just 1 // FIXME: move as many interceptors as possible into 4 // TODO: We are only supporting return instruction with no value at this time 1 // Don't replace this with a store with a different address space. TODO: 1 // TODO: Do we care about size for enum forward declarations? 1 // TODO: use a variant scheduling class to model the latency profile 1 // TODO: Allow recursive phi users. 1 // TODO: GNU windres takes input on stdin in this case. 1 // FIXME: Set STAB bits. 1 // TODO: Add locking if this class is to be used in a multi-threaded context. 1 # FIXME: The cmake build runs DumpTool:clang-ast-dump to generate a json 1 // FIXME: bitconverting between vector types may or may not be a 1 // TODO: This function currently creates a source location dummy. It might be 1 // FIXME: Add a test for `elaboratedType()` that does not depend on C++. 1 // FIXME: Should we support LUb... for block literals? 2 // FIXME: It should be generic to C++11. 1 // TODO: An upper bound could be computed as well. 1 // FIXME: do this. 1 // FIXME: This is subtle and fragile. 1 // FIXME: this may not actually make any sense if we can efficiently move 1 // FIXME: the semantic of RealPathName is unclear, and the name might be 1 // TODO: Pass BFI and BPI to update profile information. 1 // TODO Implement locale conversions. 1 // FIXME: We shouldn't even get here for declarations. 1 // FIXME: this should not be necessary, remove usages in the frontend 1 // FIXME: Locally-scoped imported entities could be moved to the 1 // FIXME: Compute the actual parameter types. 1 // FIXME: Use defaulted operands for trailing 0s and remove from the complex 2 /// TODO: Generates only(!) dummy values. 1 // FIXME: Subtract necessary number from StackTrace entries to turn return addresses 1 Record.push_back(A->getKind() + 1); // FIXME: stable encoding, target attrs 1 // FIXME: This is a hack. We need a better way to communicate the 1 // TODO: merge these two special values in a single one used everywhere. 1 // TODO: Outline this derivation logic and have just 1 // FIXME: handle setters with more that 1 arguments. 1 // TODO: Report an error when both name and ir block are specified. 1 // TODO: It would be more efficient if we removed dead instructions 1 // FIXME: This is trying not to break up replacements, but then to re-sync 1 // TODO: Allow icmp of smaller types, and calculate at the end 1 /// FIXME: this should not be a singly-linked list. Move storage elsewhere. 1 // TODO: support multiple return in FastISel 1 // TODO: kmp_lock_t seems a tad to big (and heavy weight) for this. Check other 1 // FIXME: This must removed once the runtime library is fixed. 2 // FIXME: simplify-demanded-bits in DAGCombine will probably have 1 // FIXME: Already done in Compilation *Driver::BuildCompilation 1 // FIXME: Pass in a VarDecl::InitializationStyle. 1 // FIXME: This is very limited at the moment. 2 // FIXME: iff X is already masked, we don't need the one-use check. 1 // FIXME: If a default argument contains an unexpanded parameter pack, the 1 // FIXME: Extending the code below to handle vectors. 1 /// TODO Switch to throwing and catching two values without using the struct 1 // FIXME JumpTable and ExternalSymbol address currently don't like 1 // FIXME: This seems like a very heavyweight way of retaining the inline 1 // TODO: Simplify this once P will be determined by MSSA, in which case the 1 // TODO: Can we use a call to __muldc3 ? 1 // TODO: On Windows this should be a HANDLE, and wait should use 1 // FIXME: Not yet implemented 2 // TODO: Refine this by passing the proper nDims and nSymbols so we can 1 // TODO: get rid of flattenedIdx which assumes operand order and contiguity. 1 // FIXME: Rewrite the infrastructure to let it easier to value number 1 // TODO add caching 1 // FIXME: Support floating-point formatting in sanitizer_common's 1 // FIXME: This could be much more aggressive, but we need to investigate 1 // FIXME: May have to do additional look-ahead to only allow for 1 // FIXME: This seems like the wrong definition for redeclaration. 2 // FIXME: Actually abort assembly here. 1 // TODO: Add support for phi translation to handle the loop case. 1 // FIXME: Currently we add the same parent multiple times, but only 1 // TODO: make use of undef flag to limit potential values aggressively. 2 // FIXME: Should we CollectAllContexts and walk them all here? 1 // FIXME: Is this really hasReservedCallFrame? 1 // FIXME: Currently, we ignore the target for non-binary/ihex formats 1 # FIXME: llvm/Config/BUILD.gn currently always sets LLVM_WITH_Z3 1 // FIXME: Index can be stale, so we may loose some latest results from the 1 // FIXME: add caller pc to the error message (possibly as "ubsan: error-type 1 // TODO: For now we expand the privatization type to the fullest which can 1 // FIXME: It'd be really nice to cover all the library functions we're 1 // TODO FIXME Add support for the auxiliary header (if any) once 1 // TODO: handle weak defs, thread locals 1 // TODO FIXME Should get from auxiliary_header->o_entry when support for the 1 /* TODO: In case of split reduction barrier, primary thread may send 1 // FIXME: For extra strictness, consider AnyScope=false. 1 // TODO: add no-alias but make sure it doesn't break synchronization by 1 // FIXME: This isn't correct! This loop and all nested loops' analyses should 1 // TODO: ObjCARCContract could insert PHI nodes when uses aren't 1 // TODO: add support for APFloat and APInt to LLVM IR C API, then expose the 3 // TODO: This method returns a vector of FileSpec's because a 1 /// FIXME: Make this private from DwarfDebug, we have the necessary accessors 1 // FIXME: Not implemented yet. Code that uses AExt to mean 1 // FIXME: We only need to register one __cxa_thread_atexit function for the 1 # FIXME: Integrate with clang-tidy-diff.py 1 // FIXME: handle the case when STy != Loc.getElementType(). 1 // FIXME: We should just add a union op on a Bitvector and 1 // FIXME: Need a better design of the cost table to handle non-simple types of 1 // FIXME: Set SType for weaker fences where supported/appropriate. 1 // FIXME: These bindings shouldn't be Go-specific and should eventually move to 1 // FIXME: Add a more conservative mode 1 // FIXME: this probably shouldn't use 'round half up'. 1 // FIXME: Refactor with EmitExprAsInit. 1 // FIXME: This is a gross hack. 1 // TODO: Run this repeatedly until a fixed-point is reached. 1 /*is_explicit*/ false, // FIXME: Need this field in CodeView. 1 // TODO: Can check no nans on one of the operands for each one, but which 1 // TODO: Check that the reference is in bounds. 1 // FIXME: z/OS support to be added in later. 1 // TODO: Generalize to allow more than just half-width shifts? 1 // FIXME: Do we want to add a mapping for FLAT load, or should we just 1 // TODO: handle simple updates. If a value is modified and the original 1 // FIXME: currently B(S) assumed to be .got, this may not hold for all 1 // TODO: Look through sext or zext cast, when the result is known to 1 // FIXME: Some of functions declared in this file are in fact POSIX, not libc. 1 // TODO: Consider accumulating the offset to the base. 1 /// TODO: More heuristics will be used soon. 1 // FIXME: Handle loops with more than one induction variable. Note that, 1 // FIXME: Need target hooks. 1 // TODO: TBM instructions. 1 // FIXME: Omitting MAP_STACK here works in current kernels but might break 2 // FIXME: Updating the type to work around this is at best fragile. 1 // FIXME: Make VarTemplateSpec tests work. 2 // FIXME: We should check all base classes here, not just direct 1 // FIXME: Use std::string_view instead when we support C++17. 2 // FIXME: Instruction operands with defaults values (predicates and cc_out 1 // TODO: Use pagesize read from the ELF aux vector instead of EXEC_PAGESIZE. 1 // FIXME: In AVX, the register below becomes the one encoded 4 // FIXME: Don't handle partial uses of wider COPYs yet. 1 /// FIXME: document 1 // FIXME: 'isFunctionLocalClass' seems like an arbitrary/unintentional 1 // TODO: Do the uniquing of Signatures here instead of ObjectFileWriter? 1 // FIXME: It isn't entirely clear whether incomplete atomic types 1 // TODO: this can be generalized into the normal initialization logic: 1 // FIXME: Implement in mips64? 2 // FIXME: Re-enable coloring with register when it's capable of adding 1 // FIXME: a more robust solution which does not walk up the tree. 1 // FIXME: consider sharing some of this code with the code above. 1 // FIXME: ARM fails due to `Not implemented relocation type!` 1 // TODO: clear line by line rather than all at once 1 // FIXME: Do we need to handle other opcodes than Add? 1 /// 3. TODO: optionally applies actions (lambda). 1 // FIXME: use the target pointer size rather than sizeof(void*) 1 # FIXME: the blame cache could probably be made more effective still if 1 // FIXME: shufflevector 1 /// TODO: See if 'fixes' for false positives are optimized away by the compiler. 1 // TODO: provide a hook for this in GCStrategy. There might be some 1 // FIXME: we need to iterate over all the Debugger objects and have each of 2 // address is to far away. (TODO: support non-relative addressing) 1 // FIXME: can this move into MachineLateOptimization? 2 // TODO: Handle -dylib_file 1 // TODO: "exported" and "internal" Visibility needs to go here. 1 // TODO: Skip masking high bits if def is known boolean. 1 // TODO: in case of poison, it is safe; let's replace undefs only. 1 // FIXME: We don't do this when compiling a PCH because the AST 1 // FIXME: These are defined in one place, but properties in class extensions 1 // TODO: Expand to handle successors. 1 // FIXME: handle COFF object with PDB info to use PDBContext 1 // TODO: be more precise about which GEP operands we can reduce (e.g. array 2 // TODO: Can currently only handle mem instructions with a single define. 1 // TODO: Make sure not caller relies on the actual pointer width value. 1 // FIXME: It would be great if we could just do this with an InstAlias. 2 // FIXME: If I pass null tag, the graph is incorrect, e.g for 1 // FIXME: pick a better option when we have one. 1 // FIXME: Do not forget to remove this and use only 'import'. 1 // FIXME: Consider putting separate line comment sections as children to the 1 // FIXME: Should return UndefinedVal. 1 /// FIXME: Implement comparison for other node types (currently 1 // FIXME: Make generic? 1 // FIXME Windows CE supports older ARM CPUs 1 // FIXME: this is probably unneeded with GlobalISel. 1 // TODO: Wrap 'dependenceConstraints' and 'dependenceComponents' into a single 1 // FIXME: Proposed fix to core wording issue: if a class inherits 1 // FIXME: Remove the workaround when bug #48911 is fixed. 1 // FIXME: Create our ThreadPlanCallFunction with the return CompilerType, and 1 // TODO: Replace the twine arg with stringref to get rid of the conversion 1 // FIXME: This type should be passed down from the front end 1 // FIXME: Take using namespace directives in the source file into 1 // FIXME: Use AllowRHSConstant with getBinOpIdentity to handle additional ops, 1 /// The identifier is a template name. FIXME: Add an annotation for that. 1 // FIXME: If WG14 does not seem likely to adopt the same feature, add an 1 // TODO: transfer 1 # TODO: Add support for added/removed. 1 // FIXME: This is a duplication of AppenEmplace with the copy semantics 1 continue; // TODO (future): Record identical registers. 1 // FIXME: Pointer sizes may differ between different address spaces, so do we 1 // TODO: Implement a generic logic using tblgen that can support this. 1 // TODO Make sure this handling on indirect arguments is correct 1 // FIXME: Why do we not just look at the ObjectKind here? 1 // FIXME: this is invalid for WindowsCE 3 // TODO: We could use `-` for inputFilePath_, but then we'd need a way to 1 // FIXME: Move to thread-state. 2 // FIXME: Make sure this MachO triple mangling is really necessary. 1 // find a path to function entry. TODO: We should consider explicitly 1 // TODO: Support more than binop_eval_t. 1 // FIXME: Is going through int64_t always correct? 1 // FIXME: FixIts would be nice, but potentially nontrivial when nested macros 1 // TODO: Avoid materializing other types of conversions here. 1 // TODO: We should check the state here, and determine whether we need to 1 // FIXME: Add error handling. 2 // TODO: Add a bunch of ifdefs to determine the host system and what 1 // TODO: Add support for other content descriptions - we currently only 1 // FIXME: It'd be nice to change the APIs so that we returned an iterator 1 // FIXME: We should provide the ability to constrain the output of this 1 /// TODO: We should sort these to minimize wasted space due to alignment 1 // TODO: Can a null severity really get here? 1 // FIXME: Current only handle those Comdat groups that only containing one 1 /// larger than the predicate state register. FIXME: We should support vector 1 // FIXME revisit invalidation, process stop ids, etc. Right now we don't 1 // FIXME: This is a bit conservative/simple - it emits negative values always 1 # FIXME: This hardcodes a bunch of settings I never use; some of them should 1 // TODO: ponder whether we want to allow missing trailing sizes/strides that are 1 // TODO: Is there any reason to treat base-to-derived conversions 1 // FIXME Probably we should merge exception specifications. E.g. In the 1 // TODO: We expect this special case (element type < 8 bits) to be 1 // FIXME: We shouldn't be changing the lexical context of declarations 1 // TODO: Check whether this is just a mov of a register that would be 1 // FIXME: Add statistics about the number of ambiguous statements encountered 2 if (DoShiftOpt) { // FIXME: Handle aggregate types 1 // TODO error handling -> return a code or directly emit messages ? 1 // FIXME: double memoization is redundant, with memoization both here and in 1 // FIXME: When Sema learns to form this AttributedType, avoid printing the 1 // TODO: Could probably figure something out with non-0 offsets. 1 // FIXME: Re-enable the excluded target triples. 1 Record.push_back(E->LambdaExprBits.CaptureDefault); // FIXME: stable encoding 1 // TODO: bare ptr conversion could be handled here but we would need a way 1 // TODO: Actually if %y is an expression that depends only on Phi %z and some 1 // FIXME: Check this isn't a module interface partition. 1 // FIXME: Consider creating a child DeclContext to hold the entities 1 // TODO: maybe special-case visitBinAssignWeak? 1 // TODO: when we implement -dead_strip, we should dump dead stripped symbols 1 library_call=None) # TODO: Make optional. 1 // FIXME: Bunch of functionality that could be easily added: 1 // TODO: Switch to using a bitmap to track unreachable blocks. 1 /// TODO: Split out members (inheritance, fields, methods, etc.). 1 // TODO: handle not simple cases. 2 if (Cond.hasOneUse()) { // TODO: Look for multiple select uses. 1 // FIXME: atomiccmpxchg 1 // FIXME: move remaining dependence computation from MemberExpr::Create() 1 // TODO: Trigger a fatal error on duplicate specs. 1 /// FIXME: We could derive the result of steps 1 and 2 from a description of 1 // TODO: if the store and read have the same ancestor we could recurse in 1 // FIXME: should contain a string of YES or NO 1 // TODO: Can we detect this and skip the spill? 1 // FIXME: This iterator could conceptually be a random access iterator, and 1 // FIXME: We only support NegProbeSize materializable by DForm currently. 1 // FIXME: sizeof(...) permits an expression. 1 // FIXME: Is this really the right behavior? 1 // FIXME: The index here is closely tied to how ASTContext::getObjCLayout is 1 // FIXME: we're silently ignoring invalid data here 1 // FIXME elaborate moar 1 // FIXME: Make this skip relocations for CompactUnwindEntries that 1 /* TODO: free all this memory in __kmp_common_destroy using 1 // FIXME: let user specify whether to treat this case as an error or ignore 1 // FIXME: Cache the definition once we've found it. Building a chain with 1 /// FIXME: This should become part of our instruction tables. 2 // TODO - According to the spec: 1 # TODO: Replace this with `shlex.join` when minimum Python version is >= 3.8 1 // FIXME: Add a flag for bare-metal for that target and set Triple::EABI 1 // FIXME: Must stop RegScavenger spills in later passes. 1 // FIXME: We can use NOOPL on 32-bit targets with FeatureNOPL, but the 1 // TODO: Delete release+retain pairs (rare). 1 // FIXME: has SDWA but require handling of implicit VCC use 1 // TODO The interpretation of loader, exception and type check section 1 // TODO: Share loads when one use dominates another, or when a catchpad exit 1 // FIXME: If we knew which edges were created for indirect call profiles, 1 // TODO: This will need modification when supporting instruction set 1 // FIXME: GCC may be enabling these in cases where some other k6 1 // FIXME: This appears to be a g++ bug: more complex cases reveal that it 1 // TODO: allocate th_cons if called from kmp_set_defaults. 1 // FIXME: Class method lookup. Right now we don't have a good way 1 // FIXME: Potentially fully abort the expansion instead. 1 // FIXME: This should be in the MachineVerifier, as the RegBankSelected 1 // FIXME: emitPredicateMatch() functions can take a buffer directly rather 1 // FIXME: This is the wrong heuristic for non-canonical jump tables. 1 // FIXME: we could potentially avoid casts to/from i8*. 2 PRE_SYSCALL(lfs_segclean)(void *fsidp_, long long segment_) { /* TODO */ } 1 // FIXME: Make use of PredDefs? e.g. ADDC, SUBC sets predicates but are 1 // TODO: Actual arguments that are procedures and procedure pointers need to 1 // call". FIXME: with sufficiently cunning bit-tracking, we could look through 1 // TODO: Support tail calls 1 // FIXME: Clang should register these container operations automatically. 1 // FIXME: This is an inelegant way of specifying the features of a 1 // FIXME: These constants are taken from the heuristic-based cost visitor. 1 // FIXME These don't have an instruction index. Not clear we have enough 1 // TODO: Relative look table converter pass caused an issue when full lto is 1 // FIXME: we can't yet diagnose indirect calls. When/if we can, we 1 // TODO: functional-style map 1 // TODO others 1 // Possible TODO: Allow targets to extend this (perhaps by allowing the 1 // TODO: Since this is a schema/part of the contract, it should be moved to 1 // TODO see if there is a more elegant solution to selecting the rewrite 1 // FIXME: extern global merging is only enabled when we optimise for size 1 // TODO: extract it into more handlers 1 // TODO: Unifiy once ExtractOp supports 0-d vectors. 1 InstantiateVariableDefinition(/*FIXME:*/ Inst.second, Var, true, 1 // TODO: if pattern does not apply, report it; alter the cost/benefit. 1 // TODO: Introduce an MCInstrDesc flag for this 1 // TODO: Serialize FunctionContextIdx 1 // FIXME: Remove this; loadModule does the same check (but produces 1 // FIXME: Do this on all targets and at -O0 too. This can be enabled only if 1 // FIXME: The NSString formatter sets HasSourceSize(true) when the size is 1 // actual method. FIXME: we should infer retention by selector in 1 // TODO: Probably should be zext 1 // FIXME: Can we do this more efficiently without adding another block? 1 // FIXME: We are managing our modules, so we do not want the base class 1 // FIXME: This is target-dependent. 1 // TODO: refactor function type creation which usually occurs in std-LLVM 1 // FIXME: It is marginally lame that we just do nothing here if we see an 1 // TODO: This method assumes that the `baseType` is a MemRefType with AffineMap 1 // FIXME: This isn't correct for AArch64. Just moving the "generic" logic 1 // TODO: Handle variable definitions, e.g. bool valid = x.isValid(); 1 // TODO: If this pattern comes up more frequently, consider adding core 1 // TODO: Remove the explicit ST->hasAVX512()?, That would mean we would only 1 // TODO: Implement custom event and typed event handling support in Basic 1 // FIXME: Intended to be markInstructionForDeletion(CurInst), but it causes 1 // FIXME: Remove once we enable remote slab allocation. 1 // FIXME: this code is almost the identical to the one in TokensTest. Share 1 // FIXME: Should this be a call to FileSystem::getRealpath(), in some 1 // FIXME: in the future we may want to cache the mappings on demand only. 1 // TODO: Implement this with supported FunctionNameType. 1 // TODO: Should this be spilt into VOP3 a and b? 1 // FIXME: A lot of code in PPCDispatchGroupSBHazardRecognizer is P7 specific. 1 // FIXME: This code should be reworked as follows: 1 // FIXME: We will eventually need to handle non-statement-based events 2 // FIXME: remove krait check when GNU tools support krait cpu 1 // TODO: Should this error be handled (maybe in a high verbosity mode) 1 // TODO: This variable is a hack inherited from the old runtime. 1 // TODO: Query the target environment to make sure the current 1 // FIXME: DependentDecltypeType 1 // TODO: implement for other file formats. 1 // TODO: use a map. 1 // FIXME: Support uses of SubtargetData. Currently inbounds GEPs, fast-math 1 * FIXME: we steal and re-compile it into filesystem, which uses __int128_t, 1 // FIXME: Support Sparc quad-precision long double? 1 // FIXME: Take in account implicit addends to get correct results. 1 // TODO test DIM, MODULO, ISHFTC, DSHIFTL/R 1 // FIXME: Consider passing `Block` to `Analysis.typeErasedInitialElement()` 1 // FIXME: It doesn't make sense to me that DiagID is an incoming argument here 1 // TODO: We should report true if the used offsets are adjacent (excluded 1 // FIXME: The last export has a one byte size now. 1 // FIXME: factor out to msan_copy_origin_aligned 1 // FIXME: Reduce the malloc traffic here. 1 /* TODO move this to cleanup code */ 1 // TODO: Should we count size of debug info? 1 // TODO: we should sort the properties in various ways 1 $Class[[B]]::~$Class[[B]]() {} // FIXME: inconsistent with constructor 1 this->Size = this->Capacity = 0; // FIXME: Setting Capacity to 0 is suspect. 1 // FIXME: For a relocatable object ideally we might want to: 1 // TODO log it once we setup structured data logging 1 // FIXME: Probably should not bother building the index at all 1 // FIXME: Remove this, it's not clear what it means. (Which template 1 // FIXME -- handle compound assignment operators 1 // FIXME: This should be final, but the CrossWindows toolchain does weird 1 TODO increase performance by making this locks more specific */ 1 // FIXME: Support nested archives? 1 // ^ TODO: Implement random access methods. 1 for (const auto &Ref : RefsBundle.second) // FIXME: bulk insert? 1 return __kmp_release_hle_lock(lck, gtid); // TODO: add checks 1 // FIXME: improve error handling 1 // This returns an exact expression only. TODO: We really only need an 1 // TODO: This is not 100% correct, as the process may have been stopped with 1 // FIXME: Combine branch weights. 1 // FIXME: Add support for assocciated symbol location to AtomicChange to mark 1 // TODO non-MUL case? 1 // FIXME: We don't have enough information in the AST to produce the 'Y' 1 // FIXME: Creating a TentativeAnalysisScope from outside Sema is a 1 // TODO: length type parameter values? 1 // FIXME: Use DW_OP_convert when it's available everywhere. 1 /// FIXME: This part should be fixed so that we can change handleTargetFeatures 1 // FIXME: This is a big hammer, can we clear the cache more selectively? 1 // FIXME Add "unwrapping" for ArraySubscriptExpr and UnaryOperator, 1 // FIXME: This should be DllCharacteristics to match the COFF spec. 1 // TODO: If zero is not undef, we could also do this if the output is compared 1 // FIXME: location of the '_Complex' keyword. 1 // FIXME: This needs updating when @finally support is added. 1 // TODO: Unroll into iterative and explicit stack for efficiency. 1 // TODO: This could limit the transform, ie if we try to promote something 1 // FIXME: When we decide to merge method definitions, we'll need to 1 // FIXME: We can allow undefs, but if Index was specified, we may want to 1 // FIXME: Make these hash table accesses thread-safe. The races here are benign: 1 // FIXME: Can we safely always call this for __GNUC__ everywhere? 1 // TODO: If this method is inlined, the caller might know that `self` is 1 // TODO: consider having such functionality inside AsmPrinter. 1 // FIXME: We currently cannot assert that temporaries are clear, because 1 // FIXME: should we use other signals (file proximity) to help score? 1 // FIXME: We should figure out what to do about the "function name" argument 1 // TODO: Find and replace all regular free() with __kmp_env_free(). 1 // TODO: We're not evaluating allocators for all cases just yet as 1 // TODO: Currently works for static memrefs with a single layout map. 1 // FIXME: we should be able to use private labels for sections that can't be 1 // FIXME: Should this really be such a loose cast? 1 // TODO test feature AdditionalIntrinsics, warn on nonstandard 1 // TODO: This should be extended to handle switches as well. 1 // TODO: Setting the minimum jump table entries needed before a 1 // FIXME: also check ( and ) for function-like macros? 1 // FIXME: Ban DIExpressions in NamedMDNodes, they will serve no purpose. 1 // FIXME: At the moment we don't do any splitting optimizations here like 1 // TODO: it's possible that a jump table starts at the same address 1 // TODO: we should be able to emit equality checks early 1 // FIXME: ObjCPropertyDecl are not properly indexed here: 1 /// FIXME: Is there a better algorithm than insertion sort? 1 // TODO: This should be return [-2, 0] 1 // TODO: 'for base' flag 1 // TODO: Handle vector extloads 1 // FIXME: Verifier should enforce 1 MMO for these intrinsics. 1 .begin()) // FIXME - should we handle all of the parents? 2 // TODO: diagnose uses of these conventions on the wrong target. 1 // TODO: do this for vectors and scalars via a demanded bits analysis. 1 // TODO: Add support for non-symbol callables when necessary. If the callable 1 // TODO: If the attribute's kind appears in the list of duplicates, that is 1 // FIXME: location of exception specifications (attributes?) 1 // TODO: If we know the other base object is another promotable 1 // TODO: Some arguments and a return value would probably be more interesting. 1 _View __base_ = _View(); // TODO: [[no_unique_address]] makes clang crash! File a bug :) 1 // TODO: Support TBAA for bit fields. 1 /// FIXME: Make these strings localizable, since they end up in 1 // TODO: other section/symbol types 1 // TODO: Once code-generation is available, this will need to be commented 2 // FIXME: If it's already present, merge it. 1 // TODO: can strengthen via mask as well. 1 // FIXME: Fold operands with subregs. 1 // TODO: Determine trip count of \p CLI if constant, computeUnrollCount might 1 /// FIXME: This is wasted space for a union. 1 // FIXME: Once the integrated assembler supports full register names, tie this 1 // FIXME: assert that Op1 isn't/doesn't contain undef. 1 // FIXME: Add support for handling CCMP instructions. 1 // FIXME: Could omit 'Key' in name. 1 /// FIXME: This mechanism for adding automatic destructors doesn't handle 1 // FIXME: Debug values referencing 64+ unique machine locations are rare and 1 // FIXME: Only one argument per function. 1 // FIXME: We could probably with some care handle both volatile and ordered 2 // FIXME: 'as' enforces that this is defined and global. The manual claims 1 /// FIXME: We should be able to remove this if/when COFF properly tracks 2 // TODO: update to use 1 // FIXME: This should be removed and handled somewhere else. Seems to come 1 // TODO: Make RISCVInstPrinter::getRegisterName non-static so that this can a 1 // TODO: We should attach the attributes defined in OMPKinds.def. 1 // FIXME: Only bump the generation counter if the current generation number 1 {"class X { [[^~]]X(); };", // FIXME: Should be [[~X]]() 1 // TODO: Simplify 1 // FIXME: Replace all uses of this function with getStructOrErr. 1 // TODO: Once we detect the regions to be offloaded we should use the 1 // TODO: Add a Sema warning that MS ignores alignment for zero 1 // FIXME: Check for decl - it should be void ()(void). 1 /// FIXME: We will need these to be uniqued, or at least comparable, at some 2 // FIXME: Liveness. A 2D BitVector, perhaps? 1 // FIXME: We should be able to specify the equals operator as a friend, but 1 // TODO : Allocate function manager for this pass, other wise required set 1 // TODO: implement tryToMergeParialOverlappingStores using MemorySSA. 1 // FIXME: Consider putting separate line comment sections as children to 1 // TODO: also check the _dyld_global_lock_held variable in 1 // FIXME: Include a TypeSpecifier object. 1 // TODO: Shouldn't we track control dependencies of every bug location, 1 // FIXME: Avoid the conversion through memory if possible. 1 // FIXME: We probably don't really need to recover when we're dealing 1 // TODO: don't do more precise calculations above than are required. 1 // FIXME: Should this update Data as well? 1 // FIXME: Forward declarations of Objective-C classes and protocols 1 // FIXME: handle "fence singlethread" more efficiently. 1 // TODO: work this into building the attribute set. 1 // FIXME: better update in the passes that drop the header weight. 1 // TODO: Add support for single value fragment locations. 1 // FIXME: it would be good to make a list that is also user-configurable so 1 // FIXME: This could also check if there are any BLRs in the function 1 // FIXME: ObjCCompatibleAliasDecl requires aliased-class locations. 1 Assumptions (TODO: shouldn't need to assume these.): 1 // TODO: Works only for original loop; for transformed loops, should track 1 // TODO: Add a whitelist of STABS symbol types that contain valid section 1 // be fixed. FIXME: Can we do this if see a chain of super classes with 1 // TODO: add support for MatrixSubscriptExpr. 1 // FIXME: This is probably not intended. 2 // TODO: Support dynamic memref dimensions. 1 Visit(E->getControllingExpr()->getType()); // FIXME: remove 1 // FIXME: We don't cache the result of getFileInfo across the call to 1 // TODO: Print section type. 1 // FIXME: Add a test for `isArrow()` that does not depend on C++. 3 // FIXME: This property does not hold for object files produced by ld64's 1 // FIXME: Support promoting whole chain of musttail functions 1 // FIXME: Diffing the APValue would be neat. 1 // FIXME: What to do if these conflict? 1 // TODO: This restriction could be removed if the insert has only one use 1 // FIXME This inserts an unnecessary waitcnt 1 // FIXME: do we want to warn here? Not right now. The most reports might 1 // TODO: Cache set of Uses on the first walk in runOnLoop, update when 1 // FIXME: Allow NULL resolver. 1 // FIXME: Needs a better variable than TargetTriple 1 # TODO: use transforms to convert (x, y) to (r, theta) 1 // FIXME: Infer the maximum possible offset depending on the actual users 1 // FIXME: Support module partition import. 1 PRE_SYSCALL(compat_30___fhstat30)(void *fhp_, void *sb_) { /* TODO */ } 1 /// TODO: An update to the calling function signature is required only if the 1 // TODO: Need to handle 'this' in some way by probably renaming the 1 // FIXME: Remove once transition to getAlign is over. 1 // TODO can `lea` be used to adjust stack? 1 // FIXME: Detecting a == 0 || b == 0 above crashed GCN isel 1 // FIXME: We shouldn't consider split slices that happen to start in the 1 // TODO: Skip no alias MemoryDefs that have no aliasing reads. 1 PRE_SYSCALL(compat_60_sa_enable)(void) { /* TODO */ } 1 // TODO: Layout should also be controlled by the ABI attributes. For now 1 // FIXME: Handle sending 'autorelease' to already released object. 1 // FIXME: Make this non-recursion. 1 // FIXME: If an option to allow short exception handling clauses on a single 1 // TODO: If SADDSAT/SSUBSAT is legal, compare results to detect overflow. 1 // TODO: Do we need to check if the resulting extract is supported? 1 // FIXME: Once available, specialize this function for `contiguous_iterator`s, 1 // FIXME: This is a total hack, this should not be here. Once things are 3 // TODO: this error is untested. 4 // FIXME: consult devirt? 1 // FIXME: While we might want to start emitting on-disk entries for negative 1 // TODO: To support this we will need to rework a bit of how replacements are 1 return __kmp_test_hle_lock(lck, gtid); // TODO: add checks 1 // FIXME: This is really, really gross. It would be much cleaner if LLVM 1 // TODO: Remove this class in favor of using OwningOpRef directly. 1 // TODO: Pass back information on why we return false 1 // FIXME: If RelType == COFF::IMAGE_REL_AMD64_ADDR32NB we should be able 1 // TODO The __mspabi_mpyul*_hw32 functions ARE implemented in libgcc 1 // FIXME: allow the caller to pass in the list of vreg uses that remain 1 if (p == 0) continue; // FIXME: yield? 1 pcmd(" // FIXME: support read+write arguments. Currently READWRITE and WRITE do the") 1 // FIXME: Iterating over the instruction stream is unnecessary. We can simply 1 // TODO: The non-affine case isn't precisely modeled here. 1 // FIXME: This code relies on knowing what constitutes the issue hash. 1 // FIXME: This is probably not the right thing to do (well, it's debatable). 1 // TODO: Try to make this a bit less of a random mishmash of functions. 1 // TODO: Check readnone/readonly function attributes. 1 // FIXME: can both hands contain undef? 1 // TODO: Check that we do not assign bounds twice. 1 unsigned EltSize = EltTy.getSizeInBits() / 8; // FIXME: should be ABI size. 1 // TODO: This is where we would handle multiple choices of opcode 1 /// FIXME: This is a static member function because the MSP430/X86 1 // TODO: implement benefits, cost models. 1 // TODO: lck_rw_init(3 arguments). 1 // TODO: incorporate information from other exits 1 // FIXME This isn't correct, this is only necessary for callable nodes 1 // FIXME: I would like to be convinced that this code is worth being as 1 // TODO: Could also support "weak" symbols as well with ".gnu.linkonce.s.*" 1 // FIXME: remove this when there is proper index support via build system 1 /// FIXME: this should also take responsibility for wrapping *outgoing* calls, 1 // TODO: Allow multi exit functions that have different free calls. 1 // TODO: We could attempt to recompute new register classes while visiting 1 // FIXME: Should we be adding variants that aren't of type Full? 1 // FIXME: This seems fragile. Nothing that verifies that these elements 1 // FIXME: Here we check whether the token at the location is a greatergreater 1 /// FIXME: Should really happen when the target stops before the 1 // FIXME: Move to TII? 1 // FIXME: We could use a placeholder here, however NamedMDNode are 1 // TODO: Only create the .strtab here if any symbols have been requested. 1 // FIXME: We could disallow non-type decl-specifiers here, but it makes no 1 /// incorrect indexing in the implementation (see the FIXME in 1 // TODO: Write a pass to enumerate functions which reserved the Y register 1 // FIXME: implement the rest... 3 /// TODO: Also check whether the SU must start a new group. 2 /// FIXME: expose this as public API. 1 // FIXME: This doesn't diagnose assignment to a symbol which has been 2 // FIXME: Check for specialization vs. instantiation errors. 1 // FIXME: Improve error texts. 1 // FIXME: pointer arithmetic? 1 /// FIXME: Currently we only allow Stmt and Decl nodes to start a traversal. 1 EvalCallOptions CallOpts; // FIXME: We won't really need those. 1 // TODO: This is sort of hack as `llvm::Statistic`s can't be setup to avoid 1 // FIXME: Malloc(0) should either return an invalid address or assert, in 1 // FIXME: We need to check more things here. 1 // instruction at the point insertion. FIXME: This is overly 1 // FIXME: Check nodeduplicate 1 // TODO: Assume single layout map. Multiple maps not supported. 1 // FIXME: Can we do this across the fallthrough edge? 1 // TODO 1: currently it won't specialize if there are over the threshold of 1 // FIXME: Refactor this and isDerivedFrom to reuse implementation. 1 // FIXME: This is trying to discover which instructions are uses of phi 1 # TODO: Support composite ops. 1 // FIXME -- this should compare SExprs for equality, not pointer equality. 1 // TODO - there is scope for optimization here, but at the moment this code 1 # FIXME: This doesn't work with swarming. This should really be a data 1 // TODO: We could modify MI in place in most cases. 1 /// FIXME: This API is intended for use with embedded libraries only, and is 1 // TODO: Possibly make subtargetHasRegister const. 1 // FIXME: Virtual register workaround for RegScavenger not working with empty 1 // FIXME: Once targets reserve registers instead of removing them from the 1 Manager->shutdown(); // TODO: Error handle shutting down 1 // FIXME: Include the import location for the conflicting module. 1 // TODO: Would be useful to have an iterator based version 1 // TODO: Post-processing: Convert foo to foo(%pc), even in non-PIC mode, 1 // TODO: verify analysis 1 /// FIXME: Come up with a better algorithm instead. 1 PRE_SYSCALL(compat_12_msync)(void *addr_, long long len_) { /* TODO */ } 1 // TODO: The way stripping and groups interact is complicated 1 // FIXME: Private element size. 1 // TODO: be more aggressive here? 1 // FIXME: Should the verifier check this is in the entry block? 1 // FIXME: investigate how much we can prove about this race being "benign". 1 // FIXME: The Clang version string is not particularly granular; 1 // FIXME: It may make sense to emit these as ULEB sequences instead of 1 /// TODO: Revisit next line: big copy with ERMSB on march >= haswell are very 1 // FIXME: Implement C++11 [basic.start.init]p2: if the initializer of a 1 // FIXME: why both auto and int? 1 // non-top-level decl. FIXME: Would be nice to have an isTopLevelDeclKind 1 return UnableToLegalize; // FIXME: handle extension. 1 // FIXME: Need a way to enumerate all non-reference cases. 2 // FIXME: Change the way reading/writing modules work to allow us to keep them 1 // TODO: Look through calls with unique return values. 1 // TODO: Implement some sort of fast path. 1 // FIXME: Test matching destructors: {"std", "basic_string", "~basic_string"} 1 // TODO: make those pre-defined variables read-only. 1 // FIXME: check return code ? 1 include_dirs = [ ".." ] # FIXME: Reaches into Utility and Host internals. 1 /// TODO Implement scaling other than 1 1 // FIXME: This method has some common logic with clang::format::getStyle(). 1 // FIXME: Make VBases lazily computed when needed to avoid storing them. 1 // FIXME: Handle whitespace between '_T', '(', '"..."', and ')'. 1 // TODO: Declare var an extern var in config/linux/app.h so that other 1 // FIXME: no template name location? 1 // TODO: avoid making this TemplateName. 1 // FIXME: is there a simpler a way to do this? Can we just search 1 // FIXME: Eventually remove. This part of a hack to support proper 2 // FIXME: When reading literal tokens, reconstruct the literal pointer 1 /// TODO: Remove after opaque pointer transition is complete. 1 // TODO: This does not handle cyclic function call graphs etc. 1 // TODO: consider adding a trait to Op to describe how it gets vectorized. 1 // FIXME: Should we accept "-R..." flags here, or should that be 1 // FIXME: Add a typecast support. 1 // TODO: Should this used S_BITSET0_*? 1 // FIXME: check presence of canary word 1 // FIXME: ideally, we should support doxygen in some form, e.g. do markdown 1 // FIXME: We should consider an aggressive mode where we continue to keep as 1 /// FIXME: Unit test this matcher 1 // TODO: support more transformation options in the pass. 1 // TODO: If BB lies in an inner loop of CurLoop, this will traverse over all 1 // TODO: verify immediate offset here since lower only works with 1 // TODO: Vector types. 3 // TODO: add support for DW_TAG_atomic_type here 1 // FIXME: this seems inherently un-qualifiers-safe. 1 /// FIXME: Collector instances are not useful on their own. These no longer 1 // FIXME: Add support for lowering varargs for XPLINK64 in a later patch. 1 // FIXME: Current solution does not cover search for killed register in 1 // FIXME: Add support for DW_FORM_GNU_strp_alt 1 // TODO: if a tbd and dylib are both present, we should check to make sure 1 // FIXME: From here on we assume that both sets have the same small size. 1 // TODO: If we could guarantee that InstSimplify would handle all of the 1 // TODO: Unify linalg op attribute parsing. 1 // FIXME: This logic should probably go higher up, where we can 2 INTERNAL_CHECK(false); // TODO: MoveAlloc is not yet implemented 1 // TODO: Avoid materializing other types of conversions here. 1 // FIXME: I386 PE/COFF supports PC relative calls using IMAGE_REL_I386_REL32 1 // TODO: This could be extended to allow length-changing shuffles. 1 // TODO: Add Thumb relocations. 1 // FIXME: This is wrong. We distinguish them by asking if the path is 1 // TODO: identify related phi nodes that can share spill slots, and share them 1 // FIXME: For now ignore 'IncompleteImpl'. 1 // FIXME: Consider doing inst duplication if live ranges are very long due to 1 // FIXME: Let the backend type legalize by splitting/widening? 1 /* TODO weight */ nullptr, nullptr); 1 /// TODO: Check for the presence of side effects before hoisting. 1 // FIXME: We should be able to use move-capture here, but ThreadPool's 1 // FIXME: We shouldn't bother with this anymore. 1 // FIXME Volatile isn't really correct, but currently all LLVM atomic 1 // FIXME: Add a PdbSymUid namespace for field list members and update 2 // TODO: `__constant__` memory may be a limited resource for certain targets. 1 // FIXME: when add more fma instructions support, like fma/fmas, adjust 1 // FIXME: However, it may actually be selected at the actual overload 1 //TODO: Consider ADL/non-member begin/end calls. 1 // FIXME: Operator ',' 1 // FIXME: Find the beginning of the line properly for multibyte characters. 1 // FIXME: Add assert to check FixIts range requirements. 1 /// FIXME: This sometimes corrupts the file's rewrite buffer due to 1 // FIXME: The Darwin exception is temporary, while we move users to 1 // FIXME: We should provide more information about the exact location where 1 // TODO: Verify successor originate from the same context. 1 // FIXME: Come up with names for `special` expressions. 1 // TODO: Remove barrier if the merged parallel region includes the 1 // TODO: Count the number of times we've seen CPU migrations. 1 //: TODO: need to reverse this order like inw and stsw? 1 // TODO: Implement this when someone needs it. 1 // TODO: add support for the same section having multiple load addresses 1 return Func1.samples() * Func2.size() > // TODO: is this correct? 1 /// FIXME: Move to SelectionDAG? 2 OS << *Element << ", "; // TODO: remove the last ", 1 // FIXME: Support indexing V2 and V1 blocks. 1 // FIXME: Issue a diagnostic if FirstFriend doesn't match when we come to 1 // FIXME: Detect integer instructions properly. 2 // TODO: Allow stores. 1 // FIXME: Shifter op hack: no shift (i.e. [r +/- r]) or [r + r << 2] 2 // FIXME: We're limiting to integer types here, but this should also work 2 // TODO: Support Float16 by upcasting to Float32 1 /// TODO: Add support for pressure without LiveIntervals. 1 // TODO: Should we only do this if FP_TO_UINT itself isn't legal? 1 // FIXME: Implement the preferred sequence for MIPS64R6: 1 // FIXME: Update Plugin to poke the debug object into a new JITLink section, 1 // FIXME: Why don't we just infer this tag and store it all along? 1 // TODO: Add support for unary ops (fneg), casts, intrinsics (overflow ops). 1 // FIXME: should we expose the suppression error (invalid use of 1 const APInt *C0, *C1; // FIXME: non-splats, potentially with undef. 1 // TODO: Write some RTL->unload_image(...) function? 1 // TODO: write a graphviz dumper for SCCs (see ModuleSummaryIndex::exportToDot) 1 PathExts.push_back(".exe"); // FIXME: This must be in %PATHEXT%. 1 // FIXME: Handle VectorType. 1 // FIXME: Should translate token kind to a stable encoding. 1 // TODO: Features to add to the check: 1 // FIXME: Add support for FPU, microMIPS, DSP, MSA memory instructions. 1 // TODO FMT Add a parser for floating-point values. 1 // FIXME: we should be doing checks to make sure asm operands 1 // FIXME: Need a matcher for ExportDecl in order to include symbols declared 1 // TODO: We could potentially validate these, but for now just leave indices 1 // FIXME: After switching to the new passmanager, simplify the logic below 1 // FIXME: Remove this once the ANDI glue bug is fixed: 1 // FIXME: Pick the smallest legal type that will fit. 1 // TODO: Write C11 Line data 1 // FIXME: If chains have interdependencies, for example: 1 // FIXME: cover more cases in this way, as the AST supports it. 1 // external symbols. FIXME: What about blockaddress? 1 // TODO: This code could probably be pulled out into a helper function 1 // FIXME: The below just finds *a* unused register. Maybe code could be 1 // TODO: For degenerated loops we could generate a plain assignment. 1 // TODO: Support 16-bit shift amounts for all types 1 // TODO: Initialize ICVs from parent; GEH - isn't that already done in 1 // TODO: Move HSAMetadataStream to AMDGPUTargetStreamer. 1 /// FIXME: Sink the recursive printing of template instantiations into this 1 //FIXME Should we remove these Decls from ImportedDecls? 1 // FIXME: Errors generated by the delayed typo correction should be 1 // TODO: add additional info to integrated assembler. 1 // TODO: the partial sort implementation should 1 // FIXME: Currently empty tools. Add clang version in the future. 1 // TODO: Deal with FP constants? 1 // FIXME: Look at LLVMUnhandledExceptionFilter in Signals.inc 1 // TODO: Investigate ASAN failure when using implicit conversion from 1 // TODO: add register pressure lowering checks 1 // FIXME: We can disable __do_copy_data if there are no static RAM variables. 1 // TODO: Find out how SALU supports extension of 32-bit literals to 64 bits. 1 // FIXME: This algorithm is unnecessarily O(n) and should be improved to not 1 // FIXME Update CCR as well. For now we just 1 // TODO: Move makeLIDRangeMetadata usage into here. Seem to not get 1 // FIXME: This is a horrible hack. 1 // TODO: isKnownPredicate doesnt work well when one SCEV is loop carried (by 1 // FIXME: Perhaps this method should just take a 'const MemRegion*' argument 1 // FIXME: At some point we can try to splice in the frames we have fetched 1 // TODO: Can we use a call to __divdc3 instead? 1 // FIXME: Add locking 'primitives' to CFG for @synchronized. 1 // FIXME: the target may want to specify that this is packed. 2 // FIXME: This is a really lame way of walking the chains in the loop: we 1 // FIXME: This will be a Command Option: 1 // FIXME: Use C++14 std::equal(it, it, it, it) variant once it's available. 1 // FIXME: Use more separate fragments for nested groups. 1 // FIXME: Currently QualifiedTypeLoc does not have a source range 1 // FIXME: Also import the initializer value. 1 // FIXME: Note that the formatting of source locations is spread between 1 include_dirs = [ ".." ] # FIXME: Reaches into Plugins internals. 1 //TODO: a version of tbb::this_task_arena::isolate with variadic arguments pack should be added in the future 1 // TODO: Make sure to ivalidate the region in the Store if we don't have 1 // TODO: Tune this. For example, lanewise swizzling is very expensive, so 1 // FIXME: Generalize to multiple possible types and multiple possible 1 // TODO: Implement and test ContainsRange with values that span multiple 1 // FIXME: Hardcoding priority here is gross. 1 case AMDGPU::G_FSHR: // TODO: Expand for scalar 1 /// TODO: Optionally allow length-changing shuffles. 4 // TODO: Handle vector types. 1 // FIXME: potentially-potentially evaluated expression above? 1 // TODO: Handle case where Sop1 is a frame-index. 1 // TODO: relax to support additional control flow, e.g., IfOp. 1 // C++17 TODO: make this a plain std::vector. 1 // FIXME: Add tests for Point == End. 1 // FIXME: _LONG_LONG should not be defined under -std=c89. 1 // TODO: Figure out when zero exit code should be used with -fix-errors: 1 /// TODO: This can be extended to include other cast opcodes, but particularly 1 // FIXME: Should only handle addcarry/subcarry 1 // TODO: add a pass insertion point here 2 // FIXME: P0091R3 (erroneously) does not permit class template argument 1 /// FIXME: always ignore tied opers 1 // TODO: We could ease the use-clause to "if at least one op has one use" 1 // FIXME: Move all post/pre visits to ::Visit(). 2 // FIXME: Support C++20 spaceship operator. 1 // FIXME: Propagate this error up. 1 // FIXME: We can skip entries that we know are implied by others. 1 // TODO: RTD can only handle immediates as big as 2**16-1. 1 // FIXME: Once pointee types are removed from IR, remove this. 1 /// FIXME: shortenInstructions and NOP sizes can impact offsets too 1 // FIXME: This whole routine is a hack to work around the lack of proper 1 // TODO: capture such scalar expansions in temporaries, flatten everything 1 // TODO: Adjust the parser and AttributesList class to support lists of 1 PRE_SYSCALL(compat_50___ntp_gettime30)(void *ntvp_) { /* TODO */ } 1 // FIXME: This pass causes verification failures. 1 // FIXME: clang currently ignores -fexec-charset=. If this changes, 1 // FIXME: To be simple, handle only integer type for now. 1 // FIXME: Handle floats. 1 // FIXME: this is linear search. 1 // TODO: any time we return an error, at least one token must have been 1 /// FIXME: Switch to std::apply once we can use c++17. 1 # FIXME: Remove this warning if this rpath is no longer hardcoded. 1 // FIXME: Errors generated by the delayed typo correction should be 1 /// TODO: Adding single quote as a string. 1 // TODO: emit warning. 1 // FIXME: A comment should explain why it's correct to return early here, 2 // FIXME: This does not handle register-indirect values at offset 0. The 1 // TODO: Use 32-bit for scalar output size. 1 // FIXME: Dig out the actual operand or store it. 2 // TODO: Compare pointer constants? 1 // FIXME: Assuming stack alignment of 4 is always good enough 1 // FIXME: We should swap out the FunctionScopes during code synthesis 1 1 // FIXME: Handle the operand number lookup for custom match functions. 1 // TODO: We don't really need to use load s32 elements. We would only need one 1 // FIXME: per-argument source location 1 // FIXME: If one of the operands is a chain of (single use) copies, they 1 // TODO: Should we avoid extra zero indices if ResElemTy can't be reached and 1 // FIXME: This requires -dynamic. 2 // TODO: Also check permutable/coincident flags as well. 1 /* josh TODO: what about OS X* tuning? */ 1 // TODO Nodes should probably be a StringMap after the 1 // FIXME: Do we need to recurse here? 1 // FIXME: diagnose the presence of template arguments now. 1 // TODO: ld64 contains some logic for non-empty symbolName as well. 1 // FIXME: For now we want to demote any errors to warnings, when they have 1 // TODO: consider adding GTID parameter after consultation with Ernesto/Xinmin. 1 // TODO: Pass through the existing MemoryBuffer instances instead of 1 // FIXME: This is all pretty gross. It means that we can be more aggressive 1 // TODO: Add pointers for argmemonly and globals to improve the results of 1 // FIXME: Ideally we would like TableGen to generate this information. 1 // FIXME: The intent is unclear here. Should type-name::~type-name look in 1 // TODO: Handle non-constant lower bounds. 2 // FIXME: Validate DestTypeString, maybe. 1 // FIXME: buffer extra output. This would need a thread-local buffer, which 1 /// TODO: merge it with CodeGenPrepare::optimizeSelectInst() if possible. 1 /// FIXME: Ideally re-used instructions would not be added to 1 // FIXME: Rather than parsing the whole line table and then copying it over 1 // TODO: Expand list -- xor, div, gep, uaddo, etc.. 1 // FIXME: Add a test for `hasType()` that does not depend on C++. 1 // FIXME: We should refactor our copy code into an emitCopy helper and 1 // TODO: Should add consistency tracking to ensure we encounter 1 // FIXME: Use real size in bytes for call and ret instructions. 1 // FIXME: We should really do something about that. 1 // TODO: need to calculate offset correctly once we support f128. 1 // FIXME: Handle preprocessed input types. 1 // FIXME: Include OGT/OLT/UGT/ULT. 1 // FIXME: Lots more possibilities. 1 // TODO: Add fp64 when implemented. 1 // FIXME: We could handle some instructions which add a constant 1 // FIXME: The redecls() range sometimes has elements of a less-specific 2 // FIXME: figure out why ID(foo (foo(10), )) doesn't work when preserving 1 // FIXME: Move this function to include/MathExtras.h? 1 // FIXME: add support for when SizeOp0 isn't an exact multiple of 1 // TODO: Handle aggregates and vectors 1 // FIXME: Handle unions. 1 // FIXME: AR->getNoWrapFlags() 1 // TODO: Libcall support for s128. 1 // FIXME: Output chained unwind info 1 // TODO: IntSymExpr doesn't appear in practice. 1 // TODO: We could use different error codes for each/some to be more 1 // FIXME: dsymutil-classic compatibility: when we don't have a name, 1 // FIXME: The declaration of the variable that was deleted can be 1 // FIXME: If there is a nested dependent exception specification, we should 1 // FIXME: Move the checking logic to MemDep! 1 // FIXME: This message sounds scary, should be scary, but incorrectly states 1 // FIXME: Move this to ASTRecordWriter? 1 // TODO FMT Disable the default template. 1 // TODO: More investigation on how assembler decides to set the sign 1 // FIXME: It isn't clear if this is the right tradeoff. We could instead make 1 // FIXME: This is a bit unfortunate as it means that for an 8-bit 7-scale 1 llvm_unreachable("FIXME debugger inferior function call unwind"); 2 // FIXME: Not consistent. 1 // TODO: Check isTriviallyVectorizable for calls and handle other 1 // FIXME: Report the error. 1 // TODO get the list of renderscript modules from lldb and check if 1 // FIXME: It may be safe to reclaim PreCall and PostCall nodes as well. 1 // FIXME: Once we have an expression parser in the UnwrappedLineParser, 1 // TODO: Add a VirtualBaseBranch to see if the most derived class 1 // FIXME: Also mark labels when in MIPS16 mode. 1 // FIXME: Unify the parsing codepaths for condition variables and 1 // TODO: Relax the one-use checks because we are removing an instruction? 1 // TODO: This check is necessary as we only generate `omp parallel` through 1 // TODO: print error invalid slice string that doesn't follow the 1 PRE_SYSCALL(compat_30___lstat13)(void *path_, void *ub_) { /* TODO */ } 1 // FIXME: should be all() 1 stubSize = 0 /* FIXME */; 1 // TODO: add heuristics like isWorthFoldingADDlow() from SelectionDAG. 1 // FIXME: Rejecting this is a little silly. 1 ///// end TODO: Hoist to a VectorizationStrategy.cpp when appropriate ///// 1 // TODO: Provide mechanism to hook handling of non-standard/extension 1 // FIXME: This still needs better diagnostics. We should only accept 1 // TODO: find the implicit use operand for M0 and use that as BaseOp? 1 { ISD::SELECT, MVT::v64i8, 2 }, // FIXME: should be 3 1 // FIXME: Do nothing for now. This will be used for indexing and potentially 1 // FIXME: We should not invert how this pass looks at operands to avoid 1 // TODO: These asserts should be updated as more support for the toc data 1 // TODO: Set RP/ROUND='PROCESSOR_DEFINED' from environment 1 // FIXME: For now we always return IndexContents::None regardless of whether 1 // FIXME: Is this the correct way to handle these? Or should the parser 1 // FIXME: C++11 does not specify how to handle raw-string-literals here. 1 // FIXME: Maybe force instantiation to make use of real template 1 double yn(int __n, double __x) { // TODO: we could use Ahmes multiplication 1 // FIXME: It would be nice to unify this with the opaque type, so that the 1 // FIXME: Pattern-match the integer type to make a better guess? 1 // FIXME: This is bad, we should be wrapping before "function() {". 1 // FIXME: We should have a StringExtras function for mapping C99 escapes. 1 // FIXME: Should we diagnose if a header is listed twice in the 1 // TODO: test using android subtarget when we support @llvm.thread.pointer. 1 // See the FIXME in StoreManager's getLValueFieldOrIvar() method. 1 // FIXME: Only check when N is the canonical subprogram for F. 1 Address V = rv.getAggregateAddress(); // TODO: volatile? 1 // FIXME: This is checking the expression can be handled by the later stages 1 // FIXME: The handling for custom lowering with multiple results is 1 // FIXME: Vet that this works for size upper-bounds. Seems unlikely that we'll 1 // FIXME: it should watch for changes to files on disk. 1 // FIXME: Set up statistics (see llvm/ADT/Statistic.h) to count average number 1 // FIXME: Print names for anything we can identify within the line: 1 // FIXME: This shouldn't require another copy. 1 // FIXME: use a dedicated register for it ? 1 // FIXME: Is there a way to set this during printf() lowering that makes sense 1 /// TODO: Common w/ the version in AtomicExpandPass, and change the term used. 1 // FIXME: Legal types are only legal with NEON. 1 // FIXME: This shouldn't be necessary. These nodes have special properties 1 // TODO: It could actually be subclassed if the subclass is private as well. 1 // FIXME: Add a reserve() to TinyPtrVector so that we don't need to make 1 // TODO: Find a way to handle identified structs when debug info is stripped. 1 // TODO: Check if they are memory ops. If they are, then we can still fold 1 // FIXME: G1 reserved for now for large imm generation by frame code. 1 PRE_SYSCALL(compat_43_osigblock)(long long mask_) { /* TODO */ } 1 // TODO: this is inefficient, we are recreating the attribute for every 1 // FIXME: Handle folded restore instructions with more than one memory 2 // TODO: We should still check for over-releases. 1 //TODO: Add SFINAE to test that the Container's iterators match the range's 1 // FIXME: What happens if gnu_inline gets added on after the first 1 // TODO: Should we actually treat as never returning call? 1 /// FIXME: Temporarily stores the overloaded operator kind. 1 // FIXME: This has all the same signatures as CheckObjCMessageContext. 1 // TODO: find out what is better here: parallel_for or parallel_reduce 1 # TODO: Not really a ceil div - taking liberties for the DSL. 1 // FIXME: MLIR's 'minf' and LLVM's 'vector_reduce_fmin' do not handle 1 // FIXME how to wire it with the used object format? 2 // FIXME: Properly support wide-character strings (via wcsrtombs). 1 // FIXME: not supported yet 1 /// FIXME: select "best" instead of first that fits. But what is "best"? 1 // TODO: Maybe make this the default behavior of CallDescription 1 // not yet implemented. Some of these are indicated by TODO comments, but 1 // virtual registers. TODO: Consider sorting the registers by frequency of 1 // FIXME: is it possible to dump the values as hex with fixed width? 1 // TODO: Build other specialized builders here. 1 # TODO: We should also derive check lines for global, debug, loop declarations, etc.. 1 // FIXME: We shouldn't be changing "nobuiltin" or TLI unavailable calls here. 1 // FIXME: What is the right way to say this doesn't fit? We should give 1 doc=None, # TODO: Make optional. 1 // TODO: Split the list into multiple records if it's longer than 64KB, using 1 // FIXME: We might want to be able to store other types than strings here. 1 // TODO: Avoid handleModuleDependency even being called for modules 1 // TODO: handle union if a dimension is unbounded. 1 // FIXME: This assert can fail if there's a race between the above check 1 // TODO: Should be moved to Tablegen Confined attributes. 1 // TODO: Consider moving this functionality to RegionBranchOpInterface. 1 // TODO: This should probably be a bitcast action in LegalizerHelper. 1 // TODO: Set correct uid and gid on remote file. 1 // TODO: Implement direct writing to the output stream (without intermediate 5 PRE_SYSCALL(fremovexattr)(long long fd_, void *name_) { /* TODO */ } 1 // TODO: We should probably legalize these to only using 32-bit results. 1 // FIXME: Pull the *Verifier tests into their own test file. 1 // TODO: Compute memory dependencies in a way that uses AliasAnalysis to be 1 // TODO: Perform argument validation not done by the linux syscall. 1 // FIXME: Verify filter clauses when arrays are appropriately handled 1 // FIXME: If we have an operator T* and an operator void*, we must pick 1 // TODO: Handle FCMP_UEQ and FCMP_ONE. After that, this check will be 1 // FIXME: We shouldn't be using getObjectSize/getObjectAlignment. The size 1 # FIXME: Why doesn't llvm-config do this, why is this done in 1 // TODO: Consider moving this to LoopUtils. 1 // FIXME: The liveness analysis is limited and does not tell if a register 1 // TODO: Arguably, just doing a linear search would be faster for small N 1 // TODO: Can we do these for vector splats? 1 // FIXME: This is not portable. It assumes the special strings are printed to 1 // FIXME: This attribute is a hack, we just need an analysis on the function 1 // FIXME: Possible draft standard bug: attribute-specifier should be allowed? 1 #"//lldb/source/Target", # FIXME: Dependency cycle. 2 // TODO: Support EQ bounds. 1 // TODO: handle conditional operators here 1 // FIXME: Make a separate file for the completers. 1 // TODO: maybe there should be a way to suppress this during cloning? 1 // TODO: generate a error for unknown load commands by default. But still 1 // FIXME: In all of these cases, we need to show the template arguments 1 // TODO: The IntervalPartition class should take a bool parameter that tells 1 case ARM::t2STRs: // FIXME: don't use t2STRs to access frame. 1 // TODO: check that attrs are compatible with stmt func 1 // TODO: We dont support fp/SIMD arguments in v0-v7 1 // TODO: move this checking to RISCVTargetLowering and RISCVAsmParser 1 // TODO: If the input elements are power-two vectors, we could convert this to 1 // FIXME: Low-hanging fruit where we could omit a type hint: 1 // TODO: Add software watchpoints by doing page protection tricks. 1 // TODO: Handle other types. 1 /* TODO: Use technique to find the right size hot-team, don't reap them */ 1 // FIXME: For XPLINK64, Add in support for handling incoming "ADA" special 1 // FIXME: it's better to always call clearHandlerBlocks in DTOR and have a 1 // FIXME: GCC permits constant folding here. We should either do so consistently 1 // TODO: We could track these and enable removing dead operands/arguments 1 // TODO: Should be sensitive to compiler options in PassManagerBuilder, to 1 // TODO: use a fast content hash when available. 1 # FIXME: lldb should provide something like getBaseType 1 // FIXME: PPC fails due to `Symbols not found: [DW.ref.__gxx_personality_v0]` 1 // TODO: Triangular loops are not handled for now. 1 // FIXME: This is an approximation of Sema::UsualArithmeticConversions. 1 // TODO: Refactor out into map to avoid recomputing these. 1 // FIXME: This results in codegen generating IR that recalculates the 1 // TODO find out why exe_module_sp might be NULL 1 // FIXME: Figure out whether this is dead code and if so remove it. 1 // TODO: support skipping from the middle of a parsed collection ;/ 1 // FIXME: Design how to transmit alignment information for every alloca that 1 else // TODO: Attribute new colors depending on color 1 # FIXME: codesign stuff on macos; default to "lldb_codesign" 1 // TODO: replace once we have 0-d vectors. 1 // FIXME: Add assertions about ConvCall. 1 // TODO: ResultContainsOperand, 1 // FIXME: Accept these components in any order, and produce fixits to 1 // TODO: This might not hold once we implement SIMD properly. 1 // TODO: Remove the tag bits from a tagged target 1 // FIXME: Replace auto with explicit type and add &/&& as necessary 1 // FIXME BitVector and SmallBitVector behave differently here. 2 // TODO: if the implementation does not implement _Complex or _Imaginary, 1 // TODO: address other common library functions such as realloc(), 1 // TODO Propagate the error. 1 // TODO: Could check dereferenceable for less aligned cases. 1 // FIXME: We currently align too often. The code generator doesn't notice 1 // TODO: This only checks the immediate producer; extend to go up the 1 // FIXME: Determine a suitable insertion location when there are multiple 1 // TODO Track the selector locations in a way that is accessible here to 1 // FIXME: It isn't clear why we do this *after* loop passes rather than 2 // FIXME: Share logic with ExtVectorElementExpr::containsDuplicateElements, 1 // FIXME: This sucks, it should apply all implicit defs. 1 // FIXME: Sort captured variables by name. 1 // FIXME: Interface for getConstrainedRegClassForOperand needs work. The 1 // FIXME: Plumb the combined index into the new pass manager. 1 // FIXME: mapped_iterator should have a range version. 1 // TODO: Adjust states of args to constructors in the same way that arguments to 1 // FIXME: '%' and '*' doesn't make sense. Issue a warning. 1 // FIXME Handle dependent expression types 1 // FIXME: Add a test for `isAnyPointer()` that does not depend on C++. 1 // FIXME: Use SCEV and reuse GVN/CSE logic to check for equivalence between 1 // FIXME: The last reference to cux() in body of foo should not be 2 // FIXME: Maybe use a symbol promoter here instead. 1 // FIXME: Return memory to pool instead. 1 // TODO: Use cheap structural assertions that targets are nested under 1 // FIXME: This is not correct. char + short will result in a promotion 1 // TODO: We might have proved that we can skip the last iteration for 1 // FIXME: Bail out now if the capture is not used and the initializer has 1 // FIXME: Carry on and build an AST representation for tooling. 1 // FIXME: UsingShadowDecl doesn't preserve its immediate target, so 1 // FIXME: We should do something similar for explicit instantiations so they 1 // TODO: Verify V_BFI_B32 is generated from expanded bit ops 1 // TODO: Add support for other architectures. 1 // FIXME: Clang does not call ExitScope on finalizing the regular TU, we 1 // TODO: See if this can be generalized to angle brackets for templates 1 /// TODO The BuildMem function may be used with the BuildMI function to add 1 // TODO: Check for an unusual size (MSB set?) 1 // TODO: implement CFG comparisons 5 // FIXME: Add a flag for modules. 1 // TODO: We only do it for exiting edges currently. We could use the 1 // TODO: improve/complete this when we have target data. 2 // FIXME: Two of these three checks are disabled until we fix 1 // FIXME: Other bits to merge? 2 // FIXME: Invoke ParseOptionalCXXScopeSpecifier in a "'template' is neither 1 // TODO: One can represent the dividend as piece-wise function to be more 1 // FIXME: Implement for other types. 1 // FIXME: With -msym32 option, the address expansion for N64 should probably 1 // FIXME: mutate and observe no invalidation. Mutations are private for now... 1 // FIXME: Understand why the last Phase List length is used here. 1 // TODO: Don't outright reject hasExternalWeakLinkage but set the 1 // FIXME: Replace these with DIExpression. 1 // TODO: Though vector loads usually perform well on AArch64, in some targets 1 // TODO: Can this be for-each'd? 1 // FIXME: Actually, the dtor thunk should be emitted for vector deleting 1 // TODO: This needs to be memoized and/or converted to non-parser based 1 // FIXME: Handle composite types with decltype with a printing 1 // FIXME: The exact match also looks unintuitive. 2 // TODO: Can we maybe not save the whole template parameter list and just 1 // TODO: Implement this. 1 // FIXME: When inserting a swap, we should check whether SrcReg is 1 // FIXME: MacOS implementation could use CRSetCrashLogMessage. 1 // TODO: Remove this when there are no more cast align warnings on the 1 // TODO: need to reserve slots #0 and #1 for duplex insns. 1 // FIXME: PerformContextualImplicitConversion should return ExprError 1 { ISD::SELECT, MVT::v32i16, 2 }, // FIXME: should be 3 1 // TODO: No rtn optimization. 1 // TODO name the uops more appropriately 1 // FIXME: We really need a single good function to perform casts for us 1 PRE_SYSCALL(compat_30___stat13)(void *path_, void *ub_) { /* TODO */ } 1 // FIXME: For now, we don't respect whitespaces between macro expanded 1 // TODO: Should move some of this into LegalizerHelper. 2 // Add trailing DbgValue's before the terminator. FIXME: May want to add 1 // FIXME: Should flush denorms depending on FP mode, but that's ignored 1 // TODO: Deal with macro occurrences correctly. 1 // TODO: The one-use checks are unnecessary or misplaced. If the caller 1 // TODO: Implement. 2 // FIXME: "decltype(auto)" should be a single hover 1 // TODO: Log the packet we aren't handling... 1 // TODO: If the dest type is different, use a cast (adjust use check). 1 // TODO: Currently, values are copied from SparseTensorStorage to 1 // TODO: We can also account for cases when we will be able to remove some 1 // TODO: Shouldn't we thread the error up instead of exiting? 1 // TODO: remove this, and have shouldInsertFencesForAtomic do the proper 1 // FIXME: We should instead consider the pointer to have escaped if this 1 // FIXME: This is wrong, due to C++11 braced initialization. 1 // FIXME: why is this flag set on the metaclass? 1 /// TODO: ScopDetection could avoid including such loops or warp them as 1 // TODO: `select` instructions should be handled here too. 1 // FIXME: Come up with a more type-safe way to model context-sensitivity. 1 // FIXME: "fencem 3" doesn't wait for for PCIe deveices accesses, 1 // FIXME: We retrieve this token after the FileChanged callback, and 1 // TODO: Detect when the allocator returns a null pointer. 1 /// FIXME: Temporary files derived from ThinLTO backends are currently named 1 // FIXME: Don't canonicalize forward template references for now, because 1 // TODO: Emit TargetOpcode::CFI_INSTRUCTION instructions 1 // FIXME: Should we also include modification of register states? 1 // TODO: Use std::disjunction when C++17 is supported. 1 // FIXME: We only deal with begin locations. 1 // TODO: Should really be looking at the users of the bitcast. These are 1 /// FIXME: we could avoid passing XC, but we can't use isConstOrConstSplat() 1 // TODO: This operand could bufferize inplace with OpOperands that have the 1 // FIXME: Should also disallow LDS and GDS, but we don't have the enum 1 // FIXME: make the new PM work with the codegen pipeline. 1 // FIXME: revamp to take TypeLoc's rather than Types. 1 // TODO: Handle undef. 1 __kmp_threads[gtid]->th.th_ident = loc; // TODO: check if it is needed (e.g. 1 // FIXME: Member pointers are not transformed correctly right now, that's 1 // FIXME: Issue a diagnostic if the list of conversion functions doesn't 1 // TODO: We can analyze ConstExpr by opcode to determine if there is any 1 // FIXME: No tests exist for this code and it is questionable: 1 // FIXME: BE8 vs. BE32? 1 // TODO: if it becomes a performance bottleneck extend rotation algorithm 1 // FIXME: This doesn't handle casts yet, and simply stripping the casts 1 /// FIXME: Add support for function references and member function references. 1 // TODO: From readattrs.ll: "inalloca parameters are always 1 # FIXME: Running valgrind on sh is overkill. We probably could just 1 // TODO: Need to Walk(init.u); when implementing this case 1 // TODO: add declaration? 1 // FIXME: we could probably use timeouts lower than 1 second here. 1 // FIXME: Actually parse the c-ns-shorthand-tag rule. 1 // FIXME: but only with verbosity=1 or something 1 // FIXME: Handle other kinds 1 // TODO: Ensure that the instruction cache is flushed because 1 // FIXME: This is a hack to deal with RegionStore's inability to distinguish a 2 /// TODO: Workshare loops with static scheduling may contain up to two loops 1 // as to revisit than later on. FIXME: Remove this if indirectbr support 1 // FIXME: It should be possible to render a diagnostic to a string without 1 // TODO: We could potentially refine an overdefined true value above. 1 // FIXME: stupid workaround for a codegen bug! 1 // TODO: this assumes that the SPIR-V types are valid to use in 1 // FIXME: This is not correct; when we reach an imported declaration we 1 // FIXME: convert to LazyStmtPtr? 1 // FIXME: Much of this is copy-paste from ParsePrintfSpecifier. 1 // FIXME: AR->getNoWrapFlags(SCEV::FlagNW) 2 /// FIXME: In future, we may be able to not inherit from a visitor. 1 // FIXME: make getTypeAlign() aware of VLAs and incomplete array types 1 // FIXME: What's currently in BasicObjCFoundationChecks.cpp should be migrated 1 /// Character lengths. TODO: move this to FirOpBuilder? 1 // TODO Check divergence info if the call really is divergent. 1 // FIXME: The Linker class constructor takes a ToolChain and not a 1 MVT MaskVT = MVT::v256i1; // TODO: packed mode. 1 // FIXME: Get object address space 1 // FIXME: consolidate with the bfd parsing used by lld. 1 // TODO: find duplicated includes. 1 // FIXME: remove once the bug 11395 is fixed. 1 // TODO: No lock block implementation now. If we do support, we need to manage 1 // TODO: consider using mlir::arith::RemFOp when possible, that may help 1 // TODO: Can some/all of these now be enabled? 1 // TODO: We could probably be smarter here with how we handle sub-regions. 1 // FIXME: implement actual blocking. 2 // FIXME: Suggest where the close brace should have gone by looking 1 // FIXME: It would be nice to show "T" as the hint. 1 // value. See also the similar FIXME in getLValueFieldOrIvar(). 1 // TODO: For now we assume we know nothing about scalable vectors. 1 // FIXME: We need support for -meabi... we could just mangle it into the 1 // FIXME: Do we really want to second-guess the IR in isel? 1 // FIXME: A char* or SymbolStringPtr may pack better. 1 // FIXME: add timeout to qPlatform_shell packet 1 // FIXME: figure out if this is the best behavior. 1 // TODO: clang should use address space 4 for omp_const_mem_alloc, maybe it 1 // FIXME: Maybe report this foo as a ref to ns::foo (because of ADL) 1 // FIXME: Try computing a perfect hash function at this point. 1 // TODO (natashaknk): Make dynamic intermediate shape not always be rank-1 1 // TODO: Support inbounds GEP. 1 // FIXME: Should not be relying on memoperands. 1 // FIXME: This is also necessary, because some passes that run after 1 // FIXME: This isn't correct for plain V8 which lacks CAS, 1 // FIXME: Make STV_DEFAULT symbols pre-emptible? This probably needs 1 // FIXME: MachineMemOperand doesn't support cmpxchg yet. 1 // TODO: We may be able to use this for types other than scalable 1 // TODO: test CFI_deallocate 1 // FIXME: We should extract pub-section dumpers from this function. 1 // FIXME: This should be in a separate file. 2 // FIXME: diagnostic type. 1 // FIXME: does this store a pointer to DRE? 1 // TODO: Verify this doesn't have insane operands (i.e. VGPR to SGPR copy) 1 overflow-y: scroll; /* TODO: how to hide scroll bars? */ 1 // FIXME: See https://reviews.llvm.org/D80903 for discussion of 1 // TODO log. 1 // but I'm leaving that as a TODO for now. 1 // FIXME: Hard coding this to a 32-bit register class seems weird, but matches 1 // TODO: call BLAS-1 CDOTC 1 // FIXME: What about other output types? And we can probably be less 1 // FIXME: Refine the criteria to still find interesting cases 1 #if 0 // TODO: Re-enable once PR13021 is fixed. 1 // TODO: REAL (2 & 3) 1 // FIXME: If the caller's calling convention is C, then we can 1 // FIXME: Also check default function arguments. Probably a different 1 /// TODO: Store optimization can fold spills into other stores (including 2 // TODO: allow fusion of multi-result producers. 3 // FIXME: This is ABI dependent, it shouldn't be hardcoded here. 1 // FIXME: Can we do better than this ? 1 // FIXME: SuggestedModule. 1 // TODO: In the future it may be worthwhile to support call_all_source_calls. 1 // FIXME: Should this all just be handled in the target, rather than using 1 // FIXME: This is duplicated with the selector. (See: selectShiftedRegister) 1 /// FIXME: the USR semantics might not be stable enough as the ID for index 1 // FIXME: Need a better predicate for this: what about custom entries? 1 // FIXME: Avoid strlen. 4 /// TODO: It would be better to give CALLSEQ_END an explicit operand to point 1 // FIXME: prints as a number, which isn't ideal. But the meaning will be 1 // TODO: 1 // FIXME: Many of these relocations should probably return false but this 1 // FIXME: should cons up an exited event, and discard this one. 1 // TODO: Append llvm.loop.disable_heustistics metadata unless overridden by 1 PythonCallable::ArgInfo::UNBOUNDED; // FIXME delete after c++17 1 // TODO: There is also f64 rcp instruction, but the documentation is less 1 // FIXME: move to ClangdServer via createProcessingContext. 1 // FIXME: This should use mod/ref information to see if we can hoist or 1 // TODO: parse context string to support filtering by contexts. 1 // FIXME: There is a bit of code duplication with addPassesToEmitFile. 1 // FIXME: On a 64 bit architecture this prevents us from using the 1 // TODO: We should use an AA to create an (optimistic and callback 1 // TODO: enable this once the bug in the ptxas with the packed bytes is 1 // TODO: dot_product, is_iostat_end, 1 // FIXME: Make all targets support this, then remove the other lowering. 1 // FIXME: If this shows up on profiles, it could be folded (at the cost of 1 // TODO: expose Dialect to the bindings and implement accessors here. 1 // FIXME: try to merge this with the scope-wrangling code in CodeComplete. 1 // TODO: Handle overloads. 1 // FIXME: Use a better mechanism to determine this. 1 // TODO: Use MPD instruction to implement SMUL_LOHI for i32 type. 1 // TODO: This is needed only if we require precise CFA. 4 PRE_SYSCALL(compat_13_sigsuspend13)(long long mask_) { /* TODO */ } 1 // TODO: Handle more complex conditionals. If (v == 0 || v2 < 1) is false, we 1 // FIXME: In order to JIT an empty module, there needs to be 1 // FIXME: It's not clear that a single instruction is an accurate model for 3 // TODO: We don't have FREEZE pseudo-instruction in MachineInstr-level now. 1 float jnf(int __n, float __x) { // TODO: we could use Ahmes multiplication 1 // TODO: This is the bare essentials for now. We will likely end 1 // FIXME: What about CapturedDecls (and declarations nested within them)? 1 // FIXME: We should not have to check for a null decl context here. 2 // TODO: Load any plug-ins in the appropriate plug-in search paths and 1 PRE_SYSCALL(compat_43_otruncate)(void *path_, long long length_) { /* TODO */ } 1 // FIXME: Generate this with TableGen? 1 // FIXME do something with these failures that's 1 // FIXME: If there's no umbrella header, we could probably scan the 1 // TODO: Loads that are not loop carried, hence are in a statement with 1 // FIXME (note copied from Lanai): This appears to be overallocating. Needs 2 // FIXME: We use a ridiculous stack size here because the data-recursion 1 // FIXME: This is not implemented yet, but it would be a natural 1 // FIXME: This implementation is entirely separate from that of the AST 1 // TODO: Probably should guard against function calls that could have side 1 // FIXME: add LParenLoc, it is tricky to support due to the limitation of 1 // TODO: Only handle register args for now. 1 # FIXME: 1 // FIXME:This should be made into class design,to avoid dupplication. 1 // FIXME: This was moved from AMDGPUTargetLowering, I'm not sure if we 1 // TODO: add accessors for specifiers. 1 // FIXME: we only store macro expansions, also add directives(#pragma, etc.) 1 /// TODO: HandleMultipleSources should be removed once we test PHI handling 1 // FIXME: Add support for VLA type arguments and VLA expressions. 1 // FIXME: We should allow long double type on 32-bits to match with GCC. 1 // FIXME: makeFileCharRange() has the disadvantage of stripping off "identity" 1 // TODO: Only walk until we hit Start. 1 // TODO Support nodeduplicate https://bugs.llvm.org/show_bug.cgi?id=50531 1 // TODO: Support SymbolCast. 1 // TODO: Isl's codegen also supports unrolling by isl_ast_build via 1 // FIXME: These are properties of the attribute kind, not state for this 1 {// FIXME: Unavailable for namespaces containing using-namespace decl. 1 // FIXME: Split out option groups. 1 // TODO: We can skip the step. If loop trip count is known (CTLZ), 1 // TODO: String comparaison should be avoided. Replace linkName with an 1 // FIXME: This happens during template instantiation, should we 1 // FIXME: CapturedStmt 1 // FIXME: It might be nice if there's a way to walk location expressions 1 // TODO: add support for non-SDWA instructions as OtherInst. 1 static constexpr bool bigEndian_{false}; // TODO: configure for target 1 // FIXME: Not implemented. 1 // TODO: Handle vector GEPs 1 // FIXME: it's tricky to do anything useful for this, but it is an 1 // FIXME: We may want to split the compile time and correctness 1 // TODO: Should return-twice functions be handled? 1 // TODO: This is too strict. We can handle some predicates (equality?). 1 // TODO: Replace this with libOption call once it adds extrahelp support. 1 // TODO: Handle AffineSymbolExpr as well. There is no reason to restrict it 1 // Negative offset is not ok. FIXME: We should change BB layout to make 1 // FIXME: Properly determine whether a variably-modified type can throw. 2 // TODO: We might set default version based on profile or ISA spec. 1 // FIXME: add info about template arguments. 1 // TODO: We only need to know if we access scratch space through a flat 1 // TODO: investigate the appropriate linkage type used for the global 1 // FIXME: this is unneccesarily large (3 pointers). Pointer + length + owned 1 // FIXME: Can be stdin, stdout, stderr such values? 1 // FIXME: Handle vector of pointers. 2 // FIXME: Can this ever happen? 1 // FIXME: Should move the logic from DeclSpec::Finish to here for validity 1 // TODO add `detach` operands 1 // TODO: Add support for the subtarget microMIPS32R6. 1 // TODO: check no INTENT(OUT)? 1 // FIXME: Should not lose sugar here. 1 Record.push_back(E->getOpcode()); // FIXME: stable encoding 2 /// TODO: We can further reduce this cost if we flush the chain creation 1 // FIXME: It would be far better to avoid inserting those -static arguments, 1 // TODO: when implementing other Wasm backends, make this generic or only do 1 // FIXME: This doesn't catch the case where we're really invalidating a 1 // FIXME: Check which statements we don't allow to extract. 1 // FIXME: A number of transformation tests seem to require these values 1 // FIXME: Handle L"", u8"", u"" and U"" literals. 1 // FIXME: This should be a real map and not a vector. 1 // TODO: add support for non-unit strides. 1 // TODO: all usages of sizeof in this file assume build == host == target. 1 // FIXME: find a better place for this 1 // TODO: If expanding, consider sharing the implementation with Clang. 1 // TODO: Simple permutation looks like it could be almost as common as 1 // FIXME: Validate attribute names are legal and human readable. 1 // FIXME: If the proper fixups for the offset are implemented, this should be 1 /// FIXME: Provide a variant which doesn't track offsets and is cheaper. 1 // FIXME: RequireCompleteDeclContext doesn't check dependent contexts 1 // FIXME: If this is expression is PCRel or not should not depend on what 1 // A duplicate relocate call. TODO: coalesce duplicates. 1 return false; // TODO - handle null value? 1 // TODO: Is the img rsrc useful? 1 clang::Expr *const requires_clause = nullptr; // TODO: Concepts 1 // TODO: change SBSWatchdogAssertionRelease to SBSWatchdogAssertionCancel 1 // FIXME: In some cases, we may want to move the VZEROUPPER into a 1 // TODO: We need to improve this heuristic. 1 // FIXME: Metadata should be attched directly to the global directly instead 1 // FIXME: It's possible to only store part of the QQ register if the 1 // TODO Propagate Error. 2 // FIXME: This is silly, we shouldn't end up with a mapping -> 0 in the 1 // FIXME: Are there other symbols we should be skipping? 1 // FIXME: Does this really not support denormals with f16? 1 // TODO: Expand these to apply to non-keywords or possibly remove them. 1 // FIXME: This is not part of the C++ standard any more. 1 return false; // FIXME: overly conservative? 2 // FIXME Move these tests out of ASTImporterTest. For that we need to factor 1 // TODO now, mark worker threads as done so they may be disbanded 1 // FIXME: This is doing a one past end read, and should be removed! For memory 1 // FIXME: We don't really need this intermediate instruction. The intrinsic 1 // TODO: Cache the results. 1 // TODO: This performs reassociative folds for FP ops. Some fraction of the 1 // TODO: Handle cases where the Reg is sub- or super-register of the 1 // FIXME: getProcessTriple is bogus. It returns the host LLVM was compiled on, 1 // FIXME: Not consistent. 1 // TODO: clean up the following after we no longer support non-opaque pointer 1 // FIXME: Provide a flag to specify the set of exclusions. 1 // FIXME: ComplexTypeLoc is unfinished 1 // FIXME: Is it worth having two tables, especially when this one can get 1 /// FIXME: This is nearly identical to the initSizeRemarkInfo in the legacy 1 if (Pos.isMacroID()) // FIXME: figure out how to show macro locations. 1 // FIXME: We should really do a 'clear' here to forcibly release 1 // FIXME: NextInsn is likely in a basic block that has not been visited yet. 1 // FIXME: compatibility with dsymutil-classic. There is no 1 // FIXME: Add a test for `equalsBoundNode()` for types that does not depend 1 // TODO: If an inlinee is completely optimized away, ideally we should have zero 1 /// FIXME: The stack shouldn't require worst-case padding. Alignment needs to be 1 // TODO: When named attribute is removed/refactored, also remove 1 /// FIXME: Eventually, we may bundle physreg copies rather than rescheduling 1 // FIXME: remove this to enable 64-bit SLP if performance looks good. 6 // FIXME: Doens't work for FoldExpr 1 // TODO: Use the (TSFlags & SIInstrFlags::LGKM_CNT) property everywhere. 1 /// TODO This really needs to be fixed. 1 // TODO: investigate performance benefits from the use of shared variable for the result, 1 // TODO: Are there other fast-math-flags to propagate to this FADD? 1 // (TODO: rename that method to ExportDefinitionToInterpreter) 1 /// FIXME: We could remove droppable uses that are not dominated by 1 // FIXME: Add a test for `equalsBoundNode()` for declarations that does not 1 // TODO (perhaps as a nontrivial but small starter project): implement 1 // TODO: There may be a bitcast before the xor that we should peek through. 1 // FIXME: Eventually we should handle arbitrary locations. We can do this 1 // FIXME: Embed in fragments instead? 1 // FIXME: Make sure that the "to" context supports C++0x! 1 // FIXME: ObjC++0x might have different rules 1 // TODO: Salvage from each kind of binop we know about. 1 // FIXME: Generate new return statement if needed. 1 // FIXME double check we're checking the right register kind here. 1 // FIXME: This should include support for sinking instructions within the 2 // FIXME: This file goes against how a checker should be implemented either in 1 // FIXME: Once this is working, then enable flag will change to a target 2 // FIXME: PR 17877 showed that getCurLambda() can return a valid pointer 1 // FIXME: Use Diagnostics for outputting errors. 1 // TODO: If this is a library function, we already discovered that above, 1 // TODO: Evaluate if it is better to just construct an SRD using the flat 1 // FIXME: Maybe try to read the memory address, and if that works, then 1 // FIXME: can we encounter non-scalar VTy here? 1 // TODO: We could allow size-changing ops if that doesn't harm codegen. 1 // FIXME: Find better heuristics 1 // FIXME: We want submodule granularity here. 1 // FIXME: If we permit Objective-C object literals in template arguments, 1 // TODO: Implement unregister notifications. 1 // FIXME: This path will currently return false. It was copied 1 /// FIXME: This is a hack. 1 // TODO: See if we can move later and consolidate with the location where 1 // FIXME: Move the implicit operand verification to the machine verifier. 1 // FIXME: This, like the main visit, doesn't support CUDAKernelCallExpr. 1 // FIXME: This could be improved as some null dereferences could slip 1 // FIXME: No internal variant. 1 // FIXME: This can only be proved with turned on option 1 // TODO: If important, we could handle the case when the BitsToClear 1 // FIXME: This *really* should be added to the frontend flag descriptions. 1 // FIXME: We should automatically clobber $1 only for inline assembly code 1 // FIXME: Output exception handler data 1 # FIXME: msan_ignorelist.txt 1 // FIXME: This should look past all aliases not just interposable ones, 1 // TODO: double/double 4 // FIXME: This works around not having the location of the arrow operator. 1 // FIXME: We could weaken this logic and allow multiple predecessors, 1 // FIXME: OpenCL: Need to consider address spaces 1 // FIXME: pr/39560: continue relaxing this overt restriction. 1 // FIXME: This should only be immutable for non-byval memory arguments. 1 EXPECT_EQ(Full.shl(Some), Full); // TODO: [0, (-1 << 0xa) + 1) 1 // Bail out early if the ifOp returns a result. TODO: Consider how to 1 // FIXME Is x_UQ0 still >= 0.5? 1 // FIXME: in the current implementation the granularity of affected range 1 // FIXME: Don't add empty lines between using declarations. 1 // FIXME: Eventually all pre- and post-checks should live in VisitStmt. 1 // TODO: Store the source's domain to avoid computation at each depth. 1 // TODO: verify analysis? 2 // TODO: set proper section index here. 2 // FIXME: Once we have proper support for CXXConstructExprs inside 1 // TODO: In future this will be Triple::SPIRV. 1 // FIXME: This is something that probably should be in a different source file 1 // TODO: Avoid reloading from the queue ptr for each cast, or at least each 1 // TODO: technically it is not valid for any range covered by another 1 // TODO: Handle non-commutative binop (constant is operand 0). 1 Stack.reserve(24); // FIXME made-up number 1 // TODO: This should be the llvm.rocdl dialect once this is supported. 1 // FIXME: Avoid visiting the same operands multiple times. 1 /// FIXME: For classes annotated with one of the guarded annotations, we need 1 # TODO: Handle errors that are coming from llvm-dwarfdump. 1 // FIXME: Inconsistency between lookupInvariantEquivClass and 1 // TODO: detect whether host is little endian or not, and whether the intrinsic 1 // FIXME: Don't bother expanding UCNs if !tok.hasUCN(). 1 // FIXME: Do this earlier rather than hacking it in here! 1 // FIXME: UseMemorySSA is set to false. Maybe we could do things like: 1 // FIXME: Handle d16 correctly 2 // TODO: if we have a error getting the name then it would be nice to print 2 if output_format not in ['sarif', 'sarif-html']: # FIXME: 1 // FIXME: This is very simple and misses some cases which should be handled when 1 // FIXME: Move ore namespace to DiagnosticInfo so that we can use it. This 1 /* TODO this is not valid for sibling threads!! 2 // TODO: Instead of doing this, try to recover the ops used instead of the 1 // TODO: Allow non-throughput costs that aren't binary. 4 // FIXME: Handle element regions by upper-bounding the parent region's 1 // FIXME: This should probably be illegal and split earlier. 1 // FIXME: Come up with a proper cost model that estimates whether sinking 1 // FIXME: Why is this happening? We might be losing contents here. 1 // just return immediately. TODO: The set of casts allowed for enum range 1 // FIXME: catchswitch 1 // TODO: Check all subviews requested are bound by a static constant. 1 // TODO: Assert or abort here. 1 // FIXME: Print available packages. 1 // TODO: this would in general need to check if there is no 1 // TODO: consider lowering more cases, e.g. C = 14, -6, -14 or even 45 1 // TODO: move the bulk of this code over to the platform itself 1 // FIXME: invoke 1 // TODO: We will need to change isParallel to stop the unwrapping 1 // TODO: maybe use vector stacking to reduce the number of selects. 1 // FIXME: This should go into the Lexer, but we need to figure out how 1 // FIXME: Ordering is fuzzy here. We're probably best off saying 1 // FIXME: Print a more useful error. We can give the current record and the 1 /// TODO: instead of check and failure, insert new iter_args each time a 1 // TODO: If the blocks are not adjacent, move one of them so that they are? 1 #"//lldb/source/Expression", # FIXME: 2-hop dependency cycle. 1 // FIXME: Doing this after unwrapping the types doesn't make any sense. A 1 POST_SYSCALL(compat_12_oswapon)(long long res, void *name_) { /* TODO */ } 1 /// TODO: These methods are deprecated in favor of the above template versions. 1 // FIXME: Is it possible to do this in a more elegant way? Moving/merging the 1 // TODO: Move into hasCompatibleVTYPE? 1 // FIXME: Need to store not only scalar registers but also vector and vector 1 // FIXME: This arithmetic can overflow. 1 // FIXME: base VectorTypeLoc is unfinished 2 // FIXME: What should happen if someone annotates the move constructor? 1 // TODO: OperandContainsResult, 1 // TODO: Make this into a covered switch. 1 # TODO: implement gtest headers 1 // FIXME: The organization of folds is a mess. These would naturally go into 1 // TODO: It's straighforward to make up reasonable values, but listing them 1 // FIXME: Filter out rules that are not supported by a particular client. 1 #include "memprof_interface_internal.h" // For u32, u64 TODO: Move these out of the internal header. 1 // FIXME: Should getOutliningCandidateInfo move to TargetMachine? 1 return true; // FIXME: clean up expressions? 1 // TODO: Often the 2nd operand is an immediate, which can be encoded directly 1 /// TODO: Types might be forward declared in some instructions and need to be 1 // FIXME: We can move load/store/call/free instructions above the call if the 1 // FIXME: Default behavior of the extension pragma is not defined. 1 // TODO: should we care about decl qualifiers? 1 // TODO: The case where both inputs are constants does not need to be limited 1 // FIXME: This assumes the wildcard is only in the file name and not in the 1 // FIXME: Should this be a waterfall loop instead? 1 // FIXME: indirectbr 1 // FIXME: Add matchers. 1 /// FIXME: If `OriginalTy.isNull()` is true, then cast performs based on CastTy 1 // TODO: Probably don't want this arithmetic 1 // FIXME Set ClearDSOLocalOnDeclarations. 3 // FIXME: Redesign the usage of InlineParams to expand the scope of this pass. 1 // FIXME: Do we need to handle ConstantExpr involving shufflevectors? 1 // FIXME: Support module import within __if_exists? 1 // FIXME: These boundaries are slightly conservative. 3 // TODO: This could be expanded to allowing branches where both ends 1 // FIXME: Form fabs, fmin, and fmax when applicable. 1 // WARN( ... ); // TODO: Issue a warning. 1 // FIXME: This probably does not return true when both 1 // TODO: we can use attributes of the called function to rule out memory 1 // FIXME: Store name for literal operator too. 1 // FIXME: This function assumes there is only one "ret" statement per function. 1 /// FIXME: This could be in principle store as a trailing object. 1 // FIXME: Add LE.setListCompleter 1 // FIXME: Need pseudo-fence for 'singlethread' fences 1 // TODO: Consider generating typedefs for trait member functions if this usage 1 // FIXME: Implement custom jobs for internal actions. 2 // FIXME: Should the type be always reset in setDesc? 1 return {header()}; // FIXME: multiple in case of ambiguity 1 case AMDGPU::G_BSWAP: // TODO: Somehow expand for scalar? 1 // FIXME: add a better feature test than hasRawTextSupport. Even better, 1 // TODO: gettimeofday() returns in microseconds, but what the precision? 1 // FIXME: ASan should support purgeable allocations. Ignoring them is fine 2 /// FIXME: Also take using directives and namespace aliases inside function body 1 // FIXME: Do any other AST consumers care about this? 1 /// FIXME: Make Diagnostics flexible enough to support this directly. 1 // FIXME: Implement 64-bit case. 1 // FIXME: Match and fix if (l.get() == r.get()). 1 // FIXME: We likely want to do this for more combinations of brackets. 1 // TODO: We can capture the stack backtrace here and store it on the 1 // FIXME: These tests started failing on Windows. 1 // TODO Interrupt handlers 2 // FIXME: odr checking? 2 // FIXME: Perhaps a better model would be for a single source file to have 1 // FIXME: Use correct value for C23. 1 // TODO: Actually report errors helpfully. 4 // TODO: extends_type_of, same_type_as 1 // TODO: When InsnType is large, using uint64_t limits all fields to 64 bits 1 // FIXME: Can't handle virtual bases yet. 1 /// TODO: Consider to enhance splat elements cases. For splat cases, 1 // TODO: we could skip some of this if AddrAlign >= MinWordSize. 1 // FIXME: We should eventually handle funny addressing. e.g.: 1 // TODO: Remove the line once we support it in the corresponding 1 // FIXME: We could potentially improve this by tracking whether the 1 // FIXME: When popping normal cleanups, we need to keep this EH cleanup 1 // TODO: We should build a call graph ourselves to enable this in the module 1 // FIXME: If we're merging, make sure that the protocol list is the same. 1 // TODO: Emit these as a common symbol. 1 // TODO: expand support to these 2 cases. 1 // FIXME: only opcode that still contains registers, as required by 1 SDLoc dl(Op); // FIXME probably not meaningful 1 // FIXME: The location of the VTT parameter in the parameter list is 1 // FIXME: It may be possible to enhance select folding to make this 1 // TODO: Should be able to support other operand types like globals. 1 // FIXME: The distinction between filenames and inputarg here is 1 // FIXME: add NSW/NUW here? -- we dont care if the subtraction overflows 1 // TODO: Can a weaker ordering be used? 1 // TODO: Is that intentional? 1 // FIXME: This is a guess. Has this been defined yet? 2 // TODO: IV widening without performing the actual flattening transformation 1 // FIXME: Different on PPC and ARM. 1 // TODO: Move this into foldBinopOfSextBoolToSelect as a more generalized fold 2 // FIXME: Retain the TypeSourceInfo from buildLambdaInitCaptureInitialization 1 // FIXME: All the type carrying attributes are mutually exclusive, so there 1 // FIXME: It would be nice to be able to determine whether referencing 1 return; // FIXME: report a warning to the users. 1 // FIXME: This check is currently being done in the analysis. It can be 2 // FIXME: This can create globals so should be a module pass. 1 // TODO: Should allow icmp/fcmp? 1 // FIXME: We probably shouldn't ever get a non-zero BaseIdx here. 1 // FIXME: redundant trailing comma should be removed. 1 // FIXME: these should succeed, but we do not support macro arguments yet. 1 // FIXME: Is this necessary? 2 // FIXME: Generate this with TableGen. 4 // FIXME: We can eliminate this limitation if we get more infomation about 1 // FIXME: Issue a warning. 1 // FIXME: once inlayHints can be disabled in config, always advertise. 1 // TODO: Add support for handling cfi_def_aspace_cfa. 1 // TODO: Probably this hack should be redesigned via InstAlias in 1 // FIXME: This duplicates logic in ASTContext::getTypeAlignIfKnown. But 1 // TODO: case kind for double/double: return 106; 1 // FIXME: Annotate type tests with hotness. For now, mark these as hot 1 // FIXME: The FMF should propagate from the select, not the fcmp. 1 // FIXME: Should we really care about the type of the first non-static 1 // TODO: Handle attributes. 1 // TODO: assert based on the load type: 1 // FIXME: This is very slow. It might be worth creating a map from physreg to 1 // TODO: C++ support. 1 // FIXME: This will only emit address for debugger on which will 1 // TODO: We should be able to rewrite this using TableGen data. 1 // FIXME: The following handlers should use a callback mechanism, we don't 1 // TODO: We could track if we have actually done CFG changes. 1 // FIXME: Increase precision: Safe to sink if Use post dominates the Def; 1 // FIXME: Verify. 1 // FIXME: The FMF should propagate from the fptrunc, not the source op. 1 /// TODO: Explain the generic edge kind 1 // TODO: Could inject an invalid typedef decl in an enclosing scope to 1 // TODO: Check if fixing up twice is safe so we can outline these. 1 // FIXME: When pairing store instructions it's very possible for this pass to 1 // TODO: Regions without SSA dominance should define a different 1 // TODO: callbr hoisting currently disabled pending further study. 1 // FIXME: If there's already a constraint tracker for this variable, 1 // FIXME: Add a test for `member()` that does not depend on C++. 2 /// TODO: Implement this interface for existing ELF targets. 1 // TODO: rewrite this to use getInstIndexSet; this way 1 // FIXME: Also need to check strictfp 1 // TODO: Consider other insertion points in valid range. 1 // FIXME: It would be nice if we had a more general mechanism to add 1 // FIXME: should we return an error if there are type names nobody 1 // FIXME: Remove this when SEH no longer uses landingpad pattern matching. 1 // FIXME: Implement. 2 // FIXME: This doesn't properly handle multiple uses. 1 // FIXME: SEH CatchPads are not necessarily in the parent function: 1 // FIXME: remove remaining dependence computation to computeDependence(). 1 // FIXME: Track the location at which the requirement was specified, and 1 // If this value has already been evaluated, it is free. FIXME: match undefs. 1 // TODO: Add support for checking an alias with a symbol reference. 1 // TODO: Can use MSSA for this. 1 // FIXME: Predicator is currently computing the dominator information for the 1 // TODO: At the moment this is applied unilaterally for all CPUs, but at some 1 # FIXME: it seems every project has a copy of this logic. Move it somewhere. 1 // FIXME: Implement @finally support. 1 // FIXME: Do we want to use different scope/lines? 1 // FIXME: This is mostly duplicated from the function in AsmLexer.cpp. The 1 // TODO: How to preserve metadata? 1 // do a virtual call. FIXME: handle the case where it is 1 /// TODO: this does not account for aliasing of memrefs. 1 // FIXME: Minimize the include path like clang-include-fixer. 1 // TODO - do we have any exceptions? 1 // TODO: We canonicalize to the longer form for scalars because we have 1 // FIXME: Clean this up if we move the phase sequence into the type. 1 // FIXME: technically, merged that we set here is incorrect, but that 1 // FIXME: Implement addrspace printing/parsing in MIR. 1 // cases. FIXME: There are still a few more cases we can handle this way. 1 // FIXME: If the aliasee isn't a function, it's some kind of constant expr 1 // TODO: extend this to handle multiple result maps. 1 POST_SYSCALL(compat_43_ogetpagesize)(long long res) { /* TODO */ } 1 // FIXME: How do you declare (but not define) a partial specialization of 1 // TODO: So far we are just going one level down; ideally we'd need to 1 // FIXME: It's not clear how deduction of a parameter of reference 1 // FIXME: factor out common code from materializeStores 1 PRE_SYSCALL(swapctl)(long long cmd_, void *arg_, long long misc_) { /* TODO */ } 1 // FIXME: ConstantArrayType is not trivially destructible because of its 1 // TODO: Ideally, we should not use clang-specific language here, 1 // FIXME: Assert that the line number is of the appropriate size. 1 // FIXME: in the case of dynamic re-alignment, NumBytes doesn't have 1 // FIXME: This does not handle other kinds of null references, 1 // TODO: Special MIPS instructions that need to be described separately. 1 // TODO: If the call is indirect, we might be able to enumerate all 1 // FIXME: Remove this when the issue is closed. 1 /// TODO: Either implement the unsupported cases or extend the verifier 1 // FIXME: can't use StringSwitch because wasm::ValType doesn't have a 1 /// optimal. TODO: Optimize the set of canonicalization passes. 1 // TODO: The SPIR-V spec validation rules are different for different 1 // TODO: Map to a qbarrier with an attribute like [Forced] to signal that 1 // TODO: Extend this to handle intrinsics with >2 operands where the 1st 1 // FIXME: Aggregate rvalues need to retain information about whether they are 1 // FIXME: By keeping the intersection, we may output more errors in future 1 // FIXME: check T's DW_AT_type to see if it's signed or not (since 1 // FIXME: We should not rely on fully-constrained symbols being folded. 1 // FIXME: this should really be a check on the assembler characteristics 1 /// FIXME: We really should refactor CFL to use the analysis more heavily, and 2 // FIXME: The check can be improved to handle such cases. 1 // TODO: Support regions with sunken allocas: values whose lifetimes are 1 // TODO handle /MT[d] /MD[d] 1 // FIXME: Only one source should be able to complete the decls map. 1 // FIXME: if the CR field used has no other uses, we could eliminate the 1 // TODO: We should be able to widen loads if the alignment is high enough, but 1 // TODO: We could shuffle those non-undef constant values into the 1 // FIXME: Currently, we simply schedule indexing on a TU whenever any of 1 // TODO: Use OptTable for option parsing in the future. 1 // FIXME: Implement MS style inline asm statement printer. 1 // TODO: Extend this pass to check for fusion preventing dependences, 1 // TODO: allow bare fir.array<> (no ref) conversion here ? 1 // TODO handle no_create, deviceptr and attach operands. 1 /// TODO: This should be moved into the folding hook. 1 // FIXME review that the final memory region returned extends to the end of 1 // FIXME: At some point we might want to do this for other lists, too. 1 // FIXME: We shouldn't need to do this. 1 // FIXME: Use more fine-grained 'invalid' tracking for this. 1 // TODO: Add scalable variants once we're able to test them. 1 // FIXME: If we ever start having RefSCC passes, we'll want to 1 // FIXME: generalize to symbolic offsets. 1 // TODO: This should probably be a combine somewhere 1 // TODO: Just call out the name of the most derived class 1 PRE_SYSCALL(compat_50_nanosleep)(void *rqtp_, void *rmtp_) { /* TODO */ } 1 // TODO: We should avoid using host float here. It would be better to 1 // FIXME: declarations with dependent or templated scope. 1 # TODO: compare data in old and new dataframes using statistical tests 1 // implicit-defs, but they must not be moved around. See the FIXME in 1 // FIXME: support 32-bit 1 // TODO: Reimplement NumInserted and NumRemoved. 1 // FIXME: Remove some of the alignment restrictions. 1 // FIXME: this branch is very strange. 1 // TODO: reuse a register if vl is already assigned to a register 1 // TODO: consider adding cleanups for the end of @autoreleasepool scope. 1 // FIXME: should check if immediate value is a power of two or a integer 1 // FIXME: we're silently ignoring invalid data here 1 // TODO: Try to handle non-zero GEPs of local aliasees. 1 /* TODO: Should this be acquire or release? */ 5 // TODO: Limit this to matched instructions that mayLoad/mayStore or have 1 // TODO: Revisit this to see if we should move this part of the 1 /// FIXME: We should consider newer variants such as Nuutila. 1 // TODO: It may be better to move meta instructions like dbg_value 1 // FIXME: Doesn't select the binary operator node in 1 "CLANG_ENABLE_OBJC_REWRITER=1", # FIXME: flag? 1 // TODO: Keep track of possible OpenMP calls in the callpath. 1 // TODO: Determine a good default value. 1 // Hexagon_TODO: Do we need to enforce this for Hexagon? 1 // FIXME: we don't emit "BuildingFile" and `RunningAction`, as these 1 // FIXME: Move this to GetDeclContextContainingUID. 1 // TODO: The pointer returned from objc_loadWeakRetained is retained. 1 /*HasNSW=*/true); // FIXME: what about NUW? 1 // FIXME: Propagate the diagnostic if desired by the client. 1 // FIXME: It's more complicated than this and we don't really support 1 // FIXME: This is not classifying constructors, destructors and operators 2 // TODO: for now we just ignore the result of band isolation. 1 // FIXME: The code below does not handle vector GEPs. Halt "fast" selection 1 // FIXME: We need to run some loop optimizations to re-rotate loops after 1 // FIXME: In some cases we can emit an error. 1 // FIXME: need setObjCGCLValueClass? 1 // FIXME: In the future, enable this by default for Split DWARF where the 1 // FIXME: Account for naming collisions: 1 // TODO: Pass the SourceLocation of the CallExpression for more precise 1 // FIXME: Come up with a sane mapping of state to 1 // FIXME: FixitHint to rewrite the type of the initialized variable 1 // FIXME: call attributes 1 // FIXME: Why do we choose the srcExpr if the access has no size? 1 // TODO: These will be defined in the coarray runtime library 1 // TODO: Clean this up so we only have one ModulePassManager. 1 // FIXME: record-form instructions need a different itinerary class. 1 // FIXME: Why do we care about long strings? 4 # FIXME: lld uses the first, other projects use the second. 1 // TODO: We can privatize more than arguments. 3 // FIXME: should we handle chain-terminating undef base operand? 1 // FIXME: Split critical edges if not backedges. 1 // FIXME: Add support for `long double`. 1 // FIXME this is really not ideal. Errors are silently converted to 0 1 // TODO: Support in-order reductions based on the recurrence descriptor. 1 // FIXME: Factor out a ParseExternalDeclarationWithAttrs. 1 /// TODO: Remove `allowZeroInResults` when constant zero result expressions 1 // TODO: warn about this? 1 // FIXME: Should we accurately track changes? 1 // FIXME: Handle vectors of pointers 1 // FIXME: We do not emit RTTI information for decimal types here. 1 // TODO: embed within `isa` if possible / natural. 1 // FIXME Use a common getRecordDecl with ASTImporterTest.cpp! 1 // TODO: Enable half precision when sin/cos is implemented 1 // FIXME: Use better location, we should use proper tokens. 1 // FIXME: Debug Value. 2 // TODO: Any aliasing write of tensorLoadOp.memref() nested under `forOp` 1 // FIXME: This is hacky, the code-completion point should probably be 1 // a TODO of `getSliceBounds` and not handled here. 1 // TODO: Save Type, Name, Major, Minor to avoid parsing them later. 1 // FIXME: Add a test for `translationUnitDecl()` that does not depend on 1 // FIXME: This doesn't handle loading pseudo instructions which we often 1 // FIXME: Do some kind of logging here. 1 // FIXME: Flags are the wrong mechanism for user preferences. 1 // FIXME: we don't always have a self-variable. 1 // FIXME: Scoped enums? 1 // TODO: dim, dot_product, fraction, matmul, 1 // FIXME: Honor config->exportDynamic. 1 // FIXME: It would be more efficient to teach Twine to tell us its size and 1 // FIXME: Should we prefer the preferred type alignment here? 1 // FIXME: This *really* should not just fail silently. 1 // FIXME: Just bailing out like this here could be not enough, unless we 1 // FIXME: Consolidate duplicate definitions of RegisterRef 1 // FIXME: We do not expand SMULFIXSAT/UMULFIXSAT here yet, not sure exactly 1 // FIXME: This position in the pipeline hasn't been carefully considered in 1 // TODO: signalPassFailure() ? 1 // TODO: Move this to a utility library. 1 /// FIXME: this could actually be done right in patchRangesForUnit, 1 // TODO For now we forget assumed information, this can be improved. 1 // FIXME: This is and GetNextAvailablePort make create a race condition if 1 // FIXME: What about LC_LOAD_UPWARD_DYLIB, LC_LAZY_LOAD_DYLIB, 1 // FIXME: Add filtering for template argument list. 2 // FIXME: The result should be a list of unique_ptrs, but the TUScope makes 1 // TODO: Construct associated entities attributes. Decide where the fir 1 // TODO: Test nested conditionals: A) Checking the same value multiple times, 1 // TODO: the slice computation is incorrect in the cases 1 // FIXME: Handle copies with sub-regs. 1 // FIXME: How to verify the number of elements matches the number of src 1 // FIXME: Shouldn't arch-independent output template handling go into 1 // FIXME: This seems to be a bug in the DWARF type hashing specification that 1 // FIXME It would be better to use a custom lowering 1 // FIXME: Error out if there are unresolved relocations. 1 // FIXME: This is overly conservative. 2 // TODO: Simplify PHINodes in the basic block to remove duplicate 1 // TODO: Test this error. 7 // TODO: Intrinsic subroutine EVENT_QUERY 1 // FIXME: enhance track back for uninitialized value for arbitrary 1 // TODO: Do we need the super register implicit use? 2 // TODO/FIXME: The commute still may be legal if it is known that the 1 // FIXME: We don't have test coverage for all of these! 1 // FIXME: Structural equivalence check should check for same 1 // TODO: Currently, we might lose precision here: we always mark a return 1 // TODO: Constant splat 1 // FIXME: This may get padding wrong under esoteric struct layout rules. 1 // TODO: MinMax - although these haven't been encountered in the test suite. 1 # FIXME: This should be `textual_hdrs` instead of `hdrs`, but 1 incrStreamedLen(6); // FIXME: Why not 10 (8 + 2)? 1 // FIXME: Check we're not extracting from the initializer/condition of a control 1 // FIXME: This implementation of thunks bloats codesize by duplicating the 1 // FIXME: should we not rely on the standard computation in Sema, just in 1 // FIXME: We also need to consider movs of constant operands since 1 // FIXME: This is emergent behavior that could be removed. 1 // TODO: Rework error reporting once diagnostic engine is exposed 4 // FIXME: Need to escape general strings. 1 // FIXME: The following only checks if the constructor can be used 1 // TODO: Find a system independent API 1 // TODO: It may be possible to actually avoid the copy. 1 // FIXME: Is this correct (that meta class size is never computed)? 1 // TODO: Is 16-byte alignment enough? We copy small object files with large 1 // FIXME: This appears to be dead code. 1 // TODO: check contiguous attribute of addr 1 # FIXME: Signal handler return type, currently hardcoded to 'void' 1 /// 2. analyzing those patterns for profitability (TODO: and 1 // FIXME: Do some validation, e.g. edit distance of the base name, to fix 1 // FIXME: Add a test for `booleanType()` that does not depend on C++. 1 // FIXME: If we can leave the attributes in the token stream somehow, we can 1 // TODO: make sure entry count for context profile and call site 1 /// TODO: Replace its uses with an auto-gened method. 1 // FIXME: Handle symbolic raw offsets. 1 // TODO: Ideally, this function would not be called if PrefAlign is smaller 1 // FIXME: get rid of this helper function if this is supported in clang-refactor 1 unsigned Flags = 0; // FIXME: Set HasSEH / HasEH. 1 // FIXME: Figure out the correct way to handle this in the presence of both 1 // FIXME: Adjust with PP awareness like in Sema to get correct 'bool' 1 // FIXME: We have to get the checkers to know why they scotched the call in 1 // FIXME: can this check be relaxed to account for undef uses 1 // FIXME: This doesn't support tail calls. 1 // TODO: support such targets? 1 // FIXME: This class is only here to support the transition to llvm::Error. It 14 // TODO: Cache created scalar values. 1 // FIXME: ObjC pointer types? 1 // FIXME: We strip const here because the inst visitor strips const. 1 // FIXME: Need to also handle globals and externals 1 // FIXME: Does this need to check IEEE bit on function? 1 // FIXME: What if ad-hoc aliasing introduces overlaps that aren't represented 1 // TODO: As implemented, this facility is only sufficient for modeling the 1 // TODO: We could support larger than legal types by limiting based on the 1 // FIXME: Better to not use SX10 here 2 // TODO: This is limited to i8 arrays. 1 // FIXME: Assert that `LParenToken` is indeed a `l_paren` once we have 1 // FIXME: Add a test creating a Trace and generating a Profile 1 // FIXME: I'm not sure why we are first trying to split the input into 1 // FIXME: Remove the default statement from the switch block so that 1 // TODO: When truncation is free, truncate ICmp users' operands to make it a 1 // FIXME: make this timeout and fail instead of waiting forever in case 1 // TODO: Look at benefits for comparing words at a time. 2 // FIXME: write and read all DependentFlags with a single call. 1 // TODO: Change these to operate on APInts too. 1 // TODO: Extending a vector may be expensive, don't do this until heuristics 1 // FIXME: don't want to recurse forever here, but this won't happen 1 // FIXME: Once we figure out how we want allocators to work, 1 // TODO: Under what circumstances can we create nodes? Constant folding? 1 // FIXME: We should attach the query as we go: This provides a result in a 1 // TODO: this could get resolved with copies but it can also turn into 1 // TODO: Consider moving this implementation (after the user error 1 // FIXME: port the alignment based alias analysis from SDAG's isAlias(). 1 // TODO: Enable emiting constant pool to unique sections when we support it. 1 // TODO: s16 should be legal with full FP16 support. 1 // TODO: Should we add an OperandValueProperties::OP_Zero property? 1 // FIXME: Only handle *simple* calls for now. 2 // FIXME: is this the right program point kind? 1 // FIXME: Save the __extension__ on the decl as a node somehow? 1 // FIXME: Emit checks to determine it's _actually_ safe to fold and/or 1 // TODO: Fold insert_vector_elt (extract_vector_elt) into movrelsd 1 // TODO: In this function we call decodeInstruction several times with 1 // FIXME: Move to StringRef API. 1 # FIXME: This should be based off target_cpu once cross compiles work. 1 // TODO: Fetch next state from stopped event queue then send stop event 1 /// FIXME: also add deprecation message and fixit? 1 // TODO what to do about big endiand flavors of arm ? 1 // FIXME: We probably want to use getVirtualFile(), so we don't hit the 1 // TODO: Handle SourceLocationSpec column information 4 // TODO: Converting between two floating-point representations with the 1 // G_PTR_ADD is like G_ADD. FIXME: Is this true for all targets? 1 // TODO: This can be implemented more efficiently. 2 // TODO: This is overly conservative. Two matching constants don't 1 # FIXME: add_sanitizer_rt_version_list (cf hwasan) 2 # FIXME: This doesn't belong here? 1 // TODO: Set UTF-8 mode from the environment 1 // FIXME: x86_64 sets the type to a branch reloc here. Should we do 1 if (!MO1.isReg()) { // FIXME: This is for CP entries, but isn't right. 1 PRE_SYSCALL(compat_43_ogetdtablesize)(void) { /* TODO */ } 1 // FIXME: inserting after the empty line following the main header might be 1 // TODO: pthread_rwlock_init(2 arguments). 1 // TODO: it shall be possible to estimate maximum AGPR/VGPR pressure and 1 // FIXME: propagate the error. 1 // FIXME: Make the compilation database interface more explicit about the 1 // TODO: This should be an assertion. Fix `addDomainFromSliceMaps` and/or 1 case Instruction::Fence: // FIXME: refine definition of mayWriteToMemory 1 // FIXME: This will reduce the # syscalls. 1 // FIXME: The following are being used in 'SimpleSValBuilder' and in 1 // TODO: This pass performs some computation that is the same for all the depths 1 // TODO: Encode this properly as a stackified value. 1 // FIXME: the #define directives should not be glued together. 1 /// FIXME: Once FileEntryRef is "everywhere" and FileEntry::LastRef and 1 // FIXME: Add thunk map and section offsets for incremental linking. 1 // FIXME: We can instrument comdat globals on ELF if we are using the 1 // FIXME: Put this somewhere in Support, it's also used in LockFileManager. 1 // FIXME: We know TLVP symbol refs aren't, but there should be a better way 1 // TODO: Investigate the performance impact given specialized lowerings. 1 // FIXME: Reduce unit test case. 1 // FIXME: If we can cope with this, maybe we can cope without calling 1 // FIXME: Report unrecoverable sanitizers incorrectly specified here. 1 // FIXME: Move random number generation into an object and make it seedable for 1 // TODO: Clean up the unneeded nodes. 1 // FIXME: Why is there a name here? 1 // TODO: Should the m_OneUse restriction be removed? 1 // FIXME: error handling if there is no left brace. 1 // transform. TODO: It'd be nice to know for sure the exit became 1 // FIXME: It seems like this entire block, and several around it should be 1 stubHelperEntrySize = 0 /* FIXME */; 1 // FIXME: This turns two single-precision and one double-precision 2 // FIXME: Assert that the integer is of the appropriate size. 1 // TODO: When a negated register is used by an add (such as in a list of 1 // TODO: For multiple far branches to the same destination, there are 1 // TODO: If this ends up to slow, we can maintain a next memory leader like we 1 // TODO: Check if this SU must end a dispatch group. 1 // TODO: Support the fi case. This should probably work now that we 1 // FIXME: The offsets of empty bases can be tricky because of 1 // FIXME Can we use a less constrained schedule? 1 // FIXME: Potential overflow? 1 // FIXME: Historically, we defined this legacy name, it would be nice to 1 // TODO: parse size, scale and inner displacement. 1 // TODO: Update StructType to contain this information since 1 // FIXME: migrate callers to TemplateArgumentLoc instead. 1 // TODO: Test this and come back. 1 // FIXME: Many of the above can throw. 1 // FIXME: consider using namespaces. 1 // FIXME: Context should be set correctly before we get here. 2 // FIXME: Multiple variables declared in a single declaration 1 # TODO: Perhaps use cxxfilt to demangle functions? 1 // TODO: Would be nice to use the aux entry structure from elf.h when available. 1 // TODO: For now, just add the min and max offset, because it usually isn't 1 /// TODO: lib/Linker really doesn't need the \a ValueHandle in the \a 1 // FIXME: try and eliminate this in a future patch. 1 // FIXME: This also needs to invalidate captured globals. 1 // TODO: Add support for __pascal to LLVM. 1 // FIXME: Generalize this. Only RenderScriptRuntime currently supports this 1 // FIXME: This could also be extended to check the whole dominance subtree below 1 // FIXME: This is wrong; InitListExprs created by semantic analysis have 1 // FIXME: String/AtomString/UniqueString 1 // FIXME: Should try to pick the most likely to be profitable allocas first. 1 /// TODO: PathDiagnostic has a stack doing the same thing, shouldn't we use 1 // FIXME: Using a formula based purely on the precision is conservative; 1 // FIXME: Be conservative for callbr to avoid a quadratic search. 1 // FIXME: If this should support Obj-C++, support CXXTryStmt 2 // FIXME: Validate arch tag contains C if and only if EF_RISCV_RVC is 1 /// FIXME: Probably should make a ManagedBroadcaster subclass with all the 1 // FIXME: Add memmove if it's also safe to transform. 1 // FIXME: This is a gaping layering violation if we wanted to drop 1 # TODO: These tools don't fully support Mach-O format yet. 1 // FIXME: This should be changed to check to see if a specific 1 llvm::report_fatal_error("TODO: substbase of BoxValue"); 1 // TODO: support merging across basic-blocks. 1 // FIXME: Sometimes the fill expr is 'nop' if it isn't supplied, instead of 0. 1 // FIXME: Allow commutative matching for intrinsics. 1 // TODO: Print the build ids once we can record them using the 1 // TODO: Add atomic support fully. 1 // FIXME: This is dumb, we should ask the ABI not to try to set the return 1 // FIXME: Populate 'range' correctly 1 // TODO: Fix to use multiple stack alloc unwind codes for stacks 1 // TODO: For cast expression with CastTy. 1 // TODO: Test this error. 1 // FIXME: It would be better to be explicit in certain contexts, such as a 1 // TODO: further distinguish between binary operations. 1 // FIXME: Don't parse a primary-expression suffix if we encountered a parse 1 // FIXME: This really should be in BuildFunctionType. 1 // FIXME: Ideally we'd want to omit this. 1 // FIXME: Unavailable for namespaces containing using-namespace decl. 1 // FIXME: If the type's linkage is not externally visible, we can 1 // FIXME: in general circumstances, this should be an EH cleanup. 1 // FIXME (Alex L): Check for lexical expression instead. 1 // FIXME: what if we just haven't processed the function definition 1 // FIXME: We could find a size in more cases by looking for a substituted 1 // TODO: Use an optional instead of UINT32_MAX to denote invalid values. 2 // FIXME: Try combining conditions like X86 does. Should be easy on Z! 1 // FIXME: need a accurate and cheap register pressure estiminate model here. 1 // TODO: Handle DBG_INSTR_REF which is under an experimental option now. 1 // FIXME: this gets much more complicated once we support non-trivial 1 // FIXME: Track CurTemplateDepth? 1 // TODO: this is approximate. Ideally, obtain reuse factor / 1 // FIXME Make sure no other factors prevent us from reserving call frame 1 /* TODO */ 213 // FIXME: Factor out all the logic we have in common with the {a,t}san plugins. 1 // FIXME: add printing of pragma attributes if required. 2 // FIXME: The module name could contain non-identifier module name 1 // FIXME: Is this check really required? 1 // FIXME: Do we need to guard against integer overflow here? 1 // FIXME: This is not enough to unambiguously identify the member in a 1 // TODO: We currently just pick the first handler that gives us a result, 1 # FIXME: Record some information on the lit configuration used? 1 // FIXME: cleanupret 1 // TODO: Just compute the UndefElts information recursively. 1 // FIXME: As the side effect, we also accept `__float128` uses in the device 1 /// passed in either one or two GPRs, including FP values. TODO: we should 1 // TODO: When adding support for more options related to search paths, 1 // FIXME: We should have pretty printers per language. Currently we print 1 // FIXME: Implement in hexagon? 2 // FIXME: Is there a better way to do this? 3 // FIXME: don't use this for that. 1 // TODO: Floating-point conversions, vectors. 1 // FIXME: Being 100% compliant here would be nice to have. 1 // TODO: Reasonable extension: permit multiple defined-unary-ops 1 // FIXME: The context should be correct before we get here. 1 // TODO: provide atomic and non-atomic reduction generators for reduction 1 // TODO: A vector replacement will also be added in the future when 1 // FIXME: When the semantics of the interaction between select and undef 1 // TODO: white-list trivial vbase initializers. This case wouldn't 1 // TODO: We ignore absent, contains, and holds assumptions for now. We 1 // FIXME: Right now, the parser always allows any available 1 // TODO: Try to normalize newly added/modified edge. 1 // FIXME: This part doesn't properly recognize other uses of blockaddress 1 // TODO: Revisit the immediately invoked lambda technique when 1 // TODO: we can support ground truth for rewritten 1 // TODO: A better future implementation would be to emit a single variable 1 // TODO: Shared with MachineOutliner 1 // TODO: should this be time &/or image dependent? 1 // FIXME: '= {...}' is initializer 1 // FIXME: It doesn't really make sense to try to do this for all 1 //FIXME: How do we emit the 'use'd modules? They may not be submodules. 1 // TODO: merge this pass with NVPTXInferAddressSpaces so that other passes don't 1 // TODO: Implement this if you want to emit .comment section in COFF obj files. 1 // TODO: pass `FlushAO` after memory ordering support is added 1 // TODO: For this to be really effective, we have to dive into the pointer 2 // FIXME: Move these to Optimizer 1 // FIXME: Add ARM and AArch64 variants here. 2 // TODO: Break very large records up into subrecords with negative 1 // TODO The __mspabi_mpyul*_hw functions ARE implemented in libgcc 1 // FIXME: Depending on whether we choose to deprecate structural symbols, 1 // TODO: See if I need to check for reference types here. 1 // TODO: add warning messages 1 // FIXME: There can be gross cases where one casts the result of a 1 // TODO: Add general funnel-shift compatible patterns. 1 // TODO support object files better 1 // TODO: support big-endian arm and thumb trap codes. 1 // FIXME: Don't know how to handle secondary types yet. 2 // TODO alternate to try: set = (((Addr64)(addrUsefulBits * 9.618)) % 1 // TODO: view intersection/union/differences should be a proper std op. 1 // TODO: Try to avoid undefined accesses. 1 /* TODO: GetCurrentThread() returns a pseudo-handle that is unsuitable for 1 break; // TODO: Read other useful entries from the aux vector. 1 // FIXME: can we do better than just dropping things here? 1 // TODO: Refactor getSrcMsg not to take a variable. 1 // FIXME: Add YAML mappings for the rest of the module summary. 1 // TODO: Overflow intrinsics (*ADDO, *SUBO, *MULO) with vector types are not 1 // FIXME: Import of a module from an implementation partition of the same 1 ! TODO: Use PACK([x],test) in place of the array constructor idiom 1 /// FIXME: It's possible to create more instructions than previously existed. 1 // FIXME: Kill off this header and migrate all users to Error/Expected once we 1 // FIXME: add more data to XAR 1 // FIXME: Unfortunately, to make sure this is as efficient as possible we 1 // FIXME: some updates may be redundant, try to optimize and skip some. 1 // FIXME: UpdateFlags is a workaround that creates live intervals for all 1 // FIXME: Refactor error handling in MachOReader and report an error 1 // TODO: There is no exp10() intrinsic yet, but some day there shall be one. 1 // FIXME: This is a hack. We need to keep the successor around 1 // FIXME: Add a flag to the ScopeInfo to indicate whether we're performing 1 // TODO: Copy nsw if it was present on the neg? 1 // TODO: Are there similar such variables? 1 // FIXME: Any access specifiers is supposed to make this no longer interface 1 // FIXME: What if both have an int/type attribute, but they don't match?! 2 // TODO: This code is incorrect since srcLoopIVs can be 0-d. 1 // TODO: When expanding this method, consider creating a dedicated API for 1 // TODO: There should be a helper function for copying only fast-math-flags. 1 KnownUndef = UndefLHS & UndefRHS; // TODO: use getKnownUndefForVectorBinop? 1 // TODO: We currently only support full document updates, we should refactor 1 // TODO: According to langref, branching by undef is undefined behavior. 1 // FIXME: adjust the base selection strategy according to load/store offset 1 // FIXME: Check for failure. 1 // FIXME: This is leaked. 1 // TODO: We should refine this to only care about the region arguments being 1 // TODO: Construct a situation where we have intervals following a hole 1 /// relation is "equivalent" (TODO: can be relaxed if needed). 1 // FIXME: It might be safer to use a pseudoregister before replacement. 1 // FIXME: We should also hoist alloca affected by this to the entry 1 // FIXME: Import definition! 2 // FIXME: Produce a diagnostic for self-initialization. 1 // TODO: Check the mangling scheme for RISC-V V. 1 // TODO: support loop nests that return values. 1 // FIXME: What exactly does the StartOfLine bit mean? There are two 1 /* TODO no worksharing in speculative threads */ 1 // FIXME: It isn't clear that this is reliable in the face of 1 // FIXME: Only one output register for now. 1 // TODO: Handle: br (VARIANT|INVARIANT). 1 // FIXME: A schedule tree whose union_map-conversion is identical to the 1 // TODO: This redundantly records nodes with both glues and chains. 1 // FIXME: Thumb1 outlining is not handled 1 /// TODO: Handle explicit casts. 1 # TODO: Add support for shape symbols. 1 // TODO: white-list cases where: 1 // FIXME: C++17 [temp.deduct.call]p1: 1 // FIXME: Is this always true? It should be true for vectors at least. 1 // TODO: make this extensible. 1 // TODO: Remove ToMemrefOps from the analysis. 1 // FIXME: We should complete the options here. 1 // TODO: Can we detect this and skip the spill? 1 // FIXME: it's not clear how to correctly handle scattered 1 // TODO: What would be the best value here? Should we make it configurable? 1 // FIXME: New needs a pointer to Tmpl 1 // TODO FMT Remove this once we require compilers with proper C++20 support. 14 // FIXME: Return a more reasonable number, while keeping an eye on 1 // FIXME: Rewrite the Actions to avoid duplication of descriptions/names with 2 // TODO: Should handle any multiple of 32 offset. 1 /// TODO: Store arguments directly and change \a DIExpression to store a 1 // incorrectly classified the parenthesis as a cast. FIXME: Detect correctly. 1 // TODO: symbolic extents when necessary. 2 // TODO We will custom-widen into VVP_* nodes in the future. While we are 1 // TODO: would be good to factor this into a common function, but the 1 // FIXME: The synthesized property we set here is misleading. We almost always 1 "FIXME: Currently GraphWriter requires the NodeRef type to be " 1 // FIXME: Instead of printing the diagnostic we should store it and have a 1 /* TODO: If there are two DSOs, the second DSO initilization will truncate the 1 // TODO: Elaborate the remaining 20 bytes as required. 1 // TODO: Should we run EVEX->VEX earlier? 1 // TODO: Handle non-unit steps through local variables or stride information in 1 // FIXME: Get alignment 1 // FIXME: This should demangle as "vector pixel". 2 // FIXME: This code is formally correct, but clang doesn't currently 1 PRE_SYSCALL(compat_50___stat30)(void *path_, void *ub_) { /* TODO */ } 1 // FIXME: We should have a common utility for generating an aggregate 1 // FIXME: Get rid of this check once we support hoisting. 1 /// TODO: Consider removing this API. 1 // FIXME: Teach TableGen to deal with these instead of doing it manually here. 1 // FIXME: Support vector of pointers. 1 // FIXME: Warn on inconsistent use of -mcpu and -march. 1 // TODO: IdentityWithPadding should be true here even though the high mask values are not undef. 1 Size += 0; // TODO: Layout.C11Bytes 1 // FIXME: While we're emitting a binding from an enclosing scope, all other 1 // TODO: Names do not match, add warning like at check for FieldDecl. 1 // TODO: move setSize() and Size to DIEValueList. 2 // FIXME: prefer immediate constraints if the target allows it 1 // TODO: Move these lines, which are copied from lib/Support/CommandLine.cpp, 1 // TODO: Though the call will require LE to execute again, does this 1 /// FIXME: could just examine mloctracker instead of passing in \p mlocs? 1 // FIXME: Why do we bother trying to handle physical registers here? 1 // TODO: Add Bessel functions when possible. 1 if (!Result->getExternalRedirect()) // FIXME: errc::not_a_file? 1 // FIXME: Leaving this as-is until we have POWER9 scheduling info 1 // TODO: need OpFoldResult ODS adaptor to clean this up. 1 // FIXME: Handle more cases. 2 // FIXME: Print proper driver diagnostics if the driver flags are wrong. 1 // FIXME: If a VR128 can have size 32, we should be checking if a 32-byte 2 // TODO: Check if can be moved upwards. 1 // FIXME: If the exception specification is already present, check that it 1 // FIXME: Playing with std::string is really slow. 1 /// FIXME: Should we really use std::function? It's relatively inefficient. 1 /// FIXME: If not set, should use the current working directory. 1 Record.push_back(E->TypeTraitExprBits.Kind); // FIXME: Stable encoding 1 // FIXME: We need a more general way of getting the M_ZERO value. 1 // FIXME: This really should be done once in the top-level program's main 1 // FIXME: Remove this hack. 1 // FIXME: This will be problematic if we ever support direct and indirect 1 // FIXME: Needs more sophisticated heuristics. 1 // TODO: Add a function to skip over the next expr record. 1 // FIXME: This isn't actually correct for arrays -- we need to zero- 1 // TODO: Insert at correct position and avoid sort. 1 // FIXME handle member function templates (TK_MemberSpecialization) similarly? 1 // TODO: Can't we just use a map instead? This is likely not as cheap as it 1 // FIXME: Creating a CXXFunctionalCastExpr around a CXXConstructExpr 1 // TODO: Default ctor'd RewriteSymbolPass is no-op. 1 // FIXME: Have it accept all functions but check for a parameter that gets an 1 // Wait for the IO handler thread to exit (TODO: don't do this if the IO 1 // TODO: The one-use requirement could be eased if X and/or Y are constants. 1 EXPECT_FALSE(mainIsGuarded(TU.build())); // FIXME: true 1 // FIXME: remove the std header mapping once we support ambiguous symbols, now 1 // TODO: lck_mtx_init(3 arguments). 1 // FIXME: assert that NewState is between CatchLow and CatchHigh. 1 // TODO: Replace custom directive with AllTypesMatch as soon as it 1 // FIXME: there's no API to suppress -Werror for single diagnostics. 1 // FIXME: it would be nice if these were mergeable with things with 1 // TODO: this should be in the op verifier instead. 1 // FIXME: AsmPrinter doesn't know how to handle 1 // TODO: The following really should be sunk inside LVI's core algorithm, or 1 // FIXME: This is surprisingly not equivalent to "x86_64-*-*". 1 // FIXME: We need to build the lookups table, which is logically const. 1 // FIXME: Reserve enough room in Result that it won't have to re-allocate. 1 /// FIXME We could be more clever, as we are for bzero above, and generate 1 // FIXME: Really use a short string. 1 // TODO: for complete types, this should be possible with a GEP. 1 // TODO: GEH - pass in better source location info since usually NULL here 1 // TODO: The null checks for the MDMap.lookup() results should no longer 1 /// TODO: Consider removing the Null return scenario by incorporating the 1 // FIXME: or when the offset was `add nuw` 1 // TODO: If not, we should not invert the unconditional branch. 1 /*FIXME:EqualLoc*/ UninstExpr->getBeginLoc()); 1 // FIXME: TheLine->Level != 0 might or might not be the right check to do. 1 // TODO: isZeroInitializable can be over-conservative in the case where a 1 /// TODO: If anyone is interested, we could record preorder numbers here. 1 // TODO: str += StrCat(...) 1 // FIXME: No multi-register return values yet. 1 // FIXME: This logic should be sunk into a target-specific interface so that 1 // FIXME: For pre/post-increment addressing modes, the base register 1 // TODO: Should we check the address space from the MachineMemOperand? That 1 /* TODO: tune for KMP_OS_FREEBSD */ 1 // TODO tie this into the MC Disassembler's notion of clobbers. 1 // TODO: Avoid copying files into memory. 1 // FIXME Split this into a separate function. 1 /// FIXME: This should be moved into a target-specific header. 1 // TODO: Create and use a pattern matcher for ExtractElementInst. 1 // FIXME: Copied from clang/lib/Sema/SemaDeclCXX.cpp. 1 // FIXME: How can we specify annotations for all pointer arguments? 1 // FIXME: This constraint may go away if min/max intrinsics are canonical. 1 // FIXME: instead of isUse(), readsReg() would be a better fix here, 1 // FIXME: Should we look through any cast expression in !Semantic mode? 1 // FIXME: figure out a way to move PassInstrumentationAnalysis into its own 1 /// FIXME: Should return more information about the delta between \p Preamble 1 // FIXME: It's possible for this to result in ambiguity, through a 1 // FIXME Improve this diagnostic 1 # FIXME: Don't write the "local:" line on OpenBSD. 1 // FIXME: We're converting from LDRi12 to an insn that still 2 // FIXME: Is it correct to always emit these as unsigned here? 1 // FIXME: Do something with the error... 1 // TODO (optional): check presence and use 16-byte CAS 1 // FIXME: We should be able to reuse M as the last partition instead of 1 // TODO: need to add STRICT_BR_CC and STRICT_BR_CCS 1 // FIXME: The caller of determineREXPrefix slaps this prefix onto 1 // TODO - use KnownUndef to relax the demandedelts? 3 // FIXME: Needs physical registers 1 /// TODO: Uniquing filenames across all function records may be a performance 1 // FIXME: allow inlayHints to be disabled in Config and remove this option. 1 # TODO: Many LinalgOpDef patterns need to expand to multiple generics. 1 // FIXME: Preserve type source info. 1 // TODO: Make sure this handles weak symbols correctly. 1 // TODO: Add GridWorkGroupCount user SGPRs when used. For now with HSA we read 1 // FIXME: move the definition in Sema::InstantiateAttrs to here. 1 // FIXME: Use str as a wildcard to enable better stm folding. 1 // FIXME: this is invalid for WindowsCE 1 // TODO Make sure to merge this and the previous function into one template 3 // FIXME: temporary hack: hard-coded paths. 1 // FIXME: We would like an efficient form for this, so we don't have to do a 1 // FIXME: Move the truncation aspect of this into Sema, we delayed this till 1 // FIXME: We're just going to throw this information away. Don't build it. 1 // FIXME: other qualifiers? 1 // FIXME: fix me. 1 // TODO: this only appears in constructors, so nothing to deactivate. 1 // TODO: Auto-generate these as we add more instrumentation kinds. 1 // TODO: Can we assert instead by improving canonicalizeSelectToShuffle()? 1 // TODO: Handle vector trunc stores 1 // FIXME: This generated code sucks. We want to generate 1 /// FIXME: Why not output directly to the output stream? 1 // FIXME: As the RuntimeDyld fills out, additional routines will be needed 1 // FIXME: If we are in an implementation file, figure out a suitable 1 // FIXME: Should we use a common classification enum and the same set of 1 // FIXME: Once we have better matchers for template type matching, 1 // TODO: case double/double 2 // FIXME: implement "compact" error format, possibly without, or with 1 // TODO Randomly assigning a port is unsafe. We should get an unused 1 // FIXME: Why does the type of the constant matter here? 1 // TODO Delete the workaround when GOTPCRELX becomes commonplace. 1 // FIXME: If any of these fail, we should partition up the candidates to 1 // FIXME: Provide a way to read the integral data without copying the value. 1 // Non-constant size => unsafe. FIXME: try SCEV getRange. 1 // FIXME: We will need to have a "RegisterContext data provider" class at some 1 // TODO: handle nested composite object. 1 /// FIXME: use worklist? 1 #define _WIN32_IE 0x0800 // MinGW at it again. FIXME: verify if still needed. 1 // FIXME: C2x should support this feature as well, even as an extension. 1 // FIXME - This can be both a step in and a step out. Probably should 1 // FIXME: Should use max factor instead of max distance in bytes, which could 1 // TODO: Calculate FileOffsetToLineNumbers when line number supported. 1 FLT fcheck = x; // TODO unsigned too 1 // MACOSX_DEPLOYMENT_TARGET=10.3 in your env. FIXME: it would be better for 1 // FIXME: There can be more than one compile unit per object file. See 1 // FIXME: If there is an initializer, assume that this is not intended to be 1 // FIXME: This is not part of the standard's rule. 1 // 'false'. TODO: update the domtree properly so we can pass it here. 1 // FIXME: We should move the diagnosis string generation into libFrontend. 1 // FIXME: Almost identical code is copied and pasted below for the 1 // TODO: Remove this limitation 1 // TODO Untested. 1 // FIXME: ExecutionEngine has no support empty modules 2 // TODO: Add other programming models here. 1 # TODO: Parse the statistics Version from JSON. 1 // FIXME: need to deal with UCN conversion issues. 1 // TODO: if the banned macros are themselves duplicated 1 // TODO: For .debug_str it should be possible to share the string table, 1 // TODO: Enable half precision when the sw routine is implemented 5 // TODO: Allow scalable vectors? 1 // FIXME: Find the type at the specified offset, and include that 1 {ISD::UMIN, MVT::v16i8, 6}, // FIXME: umin is cheaper than umax 1 // TODO: Instead of isProperAncestor + properlyDominates, we should use 1 // TODO: Commuting the 1st operand of FMA*_Int requires some additional 1 // TODO: Support DMA ops. 1 // FIXME: Add something that doesn't trigger the check here. 1 // FIXME: Unsupported extensions 1 // FIXME: The immediate operand should have already been encoded like this 3 // FIXME: How to limit for scalable vectors? 2 // FIXME: I believe that this could use copy_if if the Inst reference could 1 // FIXME: Add support for optional parameter list... 1 // FIXME: implement 3 // FIXME: Add a test for `unless()` that does not depend on C++. 1 // FIXME: Fix BuildMemberReferenceExpr to take a const CXXScopeSpec&. 1 // FIXME: audit code to establish whether there's a latent bug here. 1 /* TODO: correctly set up OrderFileFirst. */ 1 // TODO: this can be optimized by starting the search at the node with the 1 # FIXME: update this when there is better solution. 1 // FIXME: Normalize the instruction register count to match the 1 /// TODO: Merge into node for DW_TAG_array_type, which should have a custom 1 // TODO: Require locations for BlockArguments. 4 // TODO: div and rcp are lowered to a binary op, so these we could in 1 // FIXME: support stack probing for Windows. 1 // FIXME: Most of this work should be done by the preprocessor rather than 1 // they're ever codegened. TODO: Reject said calls earlier. 1 // FIXME: Hack, getDeclContext() can be null if Template is still 1 // FIXME: Capture type information as well. 1 // FIXME: Handle out-of-memory errors, returning -1 if OOM. 2 symbol.attrs() = hostSymbol.attrs(); // TODO: except PRIVATE, PUBLIC? 1 // TODO: Allow zero-extended loads. 1 // FIXME: We only examine the pattern decl for availability violations now, 1 // TODO: for small cold functions, we may inlined them and we need to keep 1 // FIXME: Don't leak everything! 1 // FIXME: How do we retain source locations without causing poor debugging 1 // TODO: Since fp32 is expanded, the extract cost should always be 0. 1 // FIXME: This is not lazy, it would be nice to only print weak references 1 // FIXME: Improve FixItHint to make the method public. 1 // FIXME: Allow mixed explicit and implicit operands on inline asm. 1 // FIXME: generic has to be added to the target 2 // TODO: In order to have isExtendable for fpimm/f32Ext, we need to handle 1 // TODO: when variables types other than to or link are added, 1 // FIXME: clean up predecessor pointers to unreachable blocks? 1 // FIXME: We need to override TargetInstrInfo::getInlineAsmLength method in 1 // TODO: handle properly calls to no-return functions, 1 // TODO: Copied from DAG implementation. Verify logic and document how this 1 // FIXME: Can we somehow regenerate the stat cache here, or do we need to 1 // TODO: don't know what to really do here? Pseudo code says: 1 // FIXME: This should really live in some "InitializePlatform" method. 1 // TODO: Add load coalescing to memref data flow opt pass. 1 PRE_SYSCALL(lpathconf)(void *path_, long long name_) { /* TODO */ } 1 // TODO: remove this and implement proper TLS models once Emscripten 1 // FIXME: All of this logic should be sunk into getInlineCost. It relies on 1 // FIXME: Data visualization for IMAGE_DEBUG_TYPE_VC_FEATURE and 1 // TODO: go grab dims when necessary, for now PadTensorOp returns a static 1 // TODO: Actually report errors helpfully. 6 // TODO: If there exists a known range which containts assumed range, we 1 // FIXME: not sure this is what we want, but this 1 // TODO FIXME How to assert a symbol's visibilty is default? 2 // FIXME: In addition to namespaces try to generate events for function 1 // FIXME: find a better way to represent the jumptable in the IR. 1 // FIXME: Move this out of the main ASTRecordWriter interface. 3 // TODO: Allow ZExt too 1 /// FIXME: Given that we know CB's parent (F) caller 1 // TODO: Recreate the machine function. 1 // FIXME: Do we need to account for alignment requirement of LDS rounding the 1 // FIXME: Populate container information for macro references. 1 /// FIXME: Should LTO cause any differences to this set of passes? 1 // FIXME: It's really gross that we have to cast away constness here. 1 // TODO: this currently assumes WsLoop is semantically similar to SCF loop, 1 /// FIXME: Relying on this is unsound 2 // TODO: Handle TTMP 1 // FIXME: These transformations are incorrect. ObjC seems to need 1 // TODO: We should link to the trait/documentation of it. That also means we 1 // TODO: Move to hook somwehere? 1 // TODO: Loosen one-use restriction if common operand is a constant. 1 // TODO: this should be removed when MLIR has proper data layout. 1 // FIXME: This is pretty much broken by design: hasFP() might be called really 1 /* TODO replace with general release procedure */ 1 // FIXME: It is a little suspect that we use partially hardened registers that 1 // FIXME: Preserve the source information through to the AST rather than 1 /// TODO: Separate out types that need this extra operand: pointer-to-member 1 // FIXME: This is probably also true for non-TLS addresses. 1 // CACHE_LINE=64. TODO: investigate more and get rid if this padding. 1 /// TODO: In the future we should additionally increase the power of the 1 // TODO: Change to Long when we support symbolic casts 1 // FIXME: we may want to suppress diagnostics for all 1 // FIXME: get variable name from user or suggest based on type 1 // TODO: This could be done in instsimplify. 1 // TODO: This is a known bug, abridged ftag should is 8 bits in length. 4 // TODO: For now we just opportunistically do this in the case where 1 // FIXME: We define those on Linux and Mac, but only check on Linux. 1 // FIXME: probably we'll need to cache the results here somehow? 1 // TODO: True asynchronicity 2 // TODO: Be smarter about new allocas escaping into tail calls. 1 ! TODO: These are placeholder values so that some tests can be run. 1 // FIXME: this chunk of code is duplicated, but it avoids a fstat when 1 // FIXME: Add support for i8. 1 // TODO Interrupt handlers 2 // FIXME: Per DR242, we should check for an implicit conversion sequence 1 # TODO: Support multiple offloading targets by setting the "OpenMPTarget" target 1 // TODO: We can still try to identify *unsafe* use after move, 1 // TODO: Verify attribute originates from the same context. 1 // TODO: Propagate TLI and pass it here to handle more cases. 1 // FIXME: Remove the _LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY configuration. 1 assert(!LHS->getType()->isVectorTy() && "TODO: extend to handle vectors!"); 1 // FIXME: Should there be a dedicated /ucrtdir to override /winsdkdir? 1 /// FIXME: this really belongs on some sort of DeploymentTarget abstraction 2 // FIXME: When we have set/show variables we can remove this from here. 1 // TODO: Implement a Triple Arch enum to e_machine map. 1 // FIXME: This should not happen. The language guarantees a presence 1 // FIXME: There should be a simpler way to find the object file for this 1 // FIXME: Do we need just output? 1 // TODO: Resolve variables 1 // FIXME: If LTy and RTy have a composite pointer type, should we convert to 1 // FIXME: handle extern 'from'. 2 // FIXME: Eventually we want to actually delete these indexes. 1 // TODO: Build AST. 1 // FIXME: Will eventually need to cope with member pointers. 2 PRE_SYSCALL(compat_20_fstatfs)(long long fd_, void *buf_) { /* TODO */ } 1 // FIXME: better matching of keywords to avoid false positives. 1 // FIXME: use the ValueObject's ChildrenManager instead of a special purpose 1 // TODO: Port this over to CallLowering as general code once swiftself is 1 DEF_TRAVERSE_DECL(ObjCProtocolDecl, {// FIXME: implement 1 # FIXME: Link curses, libedit if needed. 1 // TODO: If CI is larger than 16-bytes, we can try slicing it in half to see 1 // TODO: is COUNT_FALLTHROUGH_EDGE the right thing here? 1 // FIXME: Handle '>>>'. 1 // FIXME: Copied from 'NoMallocCheck.cpp'. Has to be refactored into 'util' or 1 // FIXME: At this point, we can't rely on Subtarget having RBI. 2 // TODO: Try to come up with some heuristic to figure out which 1 // TODO: Factor into common return ParseSEHHandlerCommon(...) 1 // FIXME: POSIXThreads isn't exactly the option this should be defined for, 1 // TODO: Should these be here or in LoopUnroll? 1 // FIXME: Should we always treat this as if it is a constant literal and 1 // TODO: If OrICmp is true, then the definition of xor simplifies to !(X&Y). 1 // FIXME: Limit the amount of memory that can be preallocated? 1 // TODO: Handle non-zero insert index. 1 // TODO: turn these into Legal? 1 // TODO add all of the OSes that Minidump/breakpad distinguishes? 1 // TODO: Add NumericLimits specializations as needed for new types. 1 // FIXME: proper support for bound declarations. 1 // TODO: compute the offset into the object. 1 // FIXME: Create a ModuleDecl. 1 // FIXME: This can easily be improved to look up to the top of the MBB 1 // TODO: In many cases, the new instruction is just EE itself. We should 1 // TODO: Drop this conservative assumption in the future. 1 // TODO: Issue an error. 9 // FIXME these are actually defined by POSIX and not by the C standard, we 2 // FIXME: we're ignoring the destructor for now. 1 // FIXME: Investigate the consequences of not following them here. 1 // FIXME: Perform the checks on the field types in SemaInit. 1 // FIXME: Merge with rewriter code? 1 // TODO: propagate ReadNone and ReadOnly. 1 // FIXME: this is conservatively correct, but might be overly pessimistic. 1 // FIXME: remove this declaration when we stop maintaining Ubuntu Quantal and 1 // TODO: for flat scratch another attempt can be made with a VGPR index 1 /// FIXME: move this to PPCInstrInfo class. 1 // FIXME: A templated statement expression should have an associated 1 // TODO: Do we need this? Unless there are conflicting assumptions, the 1 # TODO: support other platforms and toolchains. 1 // FIXME: This shouldn't happen unless there is a file system race. Is 1 // FIXME: Ignore a class template in a dependent context, these are not 1 // TODO: GNU windres writes output in rc form to stdout in this case. 1 // TODO: Limit maximum alignment by preferred (or abi?) alignment of the 1 // FIXME: For floating point types, we should be saving and restoring the 1 /// We maintain a number of invariants on Twine objects (FIXME: Why): 1 /// TODO: Support values other than constant integers. 1 // FIXME: For some reason, the live-in print order is non-deterministic for 1 // FIXME: the following language option is a temporary workaround, 2 // TODO: Need is known positive check. 1 // FIXME: We should do something with the 'template' keyword here. 1 // TODO report vregs once vector isel is stable. 2 // FIXME: Add an AddOverloadCandidate / AddTemplateOverloadCandidate overload 1 // TODO: There are way too many flags that change this. Do we need to check 3 // TODO: This case could be support in a canonicalization pattern. 1 #include // TODO: replace with <__memory/__builtin_new_allocator.h> 1 POST_SYSCALL(compat_09_ouname)(long long res, void *name_) { /* TODO */ } 1 // FIXME: This is an initial list of operators. It can be tweaked later to 1 // FIXME: Maybe prefer sp on Thumb1 if it's legal and the offset is cheaper? 1 // TODO: We might as well look at the dynamic type of the object. 1 // TODO: Check how the range evolves and if we stripped anything, see also 1 // but I'm leaving that as a TODO for now. 1 // FIXME: A true local rename can use just one AtomicChange. 1 // FIXME: We are artificially lowering the criteria to turn ADD %reg, $GA 1 // TODO: Statement functions 1 // FIXME: The LLVM_DEBUG macro only plays well with a modular 1 // FIXME: Eventually these should be rolled into the MallocChecker, but right now 1 // FIXME: Recover nicely in the hidden case. 1 // TODO: error recovery 1 // FIXME: add checker 1 // TODO: Add support for static lib archiving on Windows 1 // TODO: This is overly constrained. LHS can be any power-of-2. 1 // TODO: This decision should probably be pushed up into 1 // FIXME: Check for overloading more carefully, e.g., by boosting 1 // FIXME: Can we replace these with ISD::VP_*? 1 // TODO: Indent by the depth of the statement instance in the schedule tree. 1 // TODO: Concepts: do not instantiate the constraint (delayed constraint 1 // FIXME: Add support for shufflevector to createExpression. 1 // FIXME: If neither side can be zero fmul never produces NaN. 1 // FIXME: Skip some tests below on non-Windows because multi-socket systems 1 // FIXME: Optimize the efficiency for cloned value replacement. The current 1 // TODO: Can never be -0.0 and other non-representable values 1 // FIXME: Get rid of this limit by moving logic into DedupLeaks. 1 // FIXME: It would be nice to eventually make this diagnostic more clear, 2 // TODO: We currently implement an algorithm whose time complexity is linear in 1 // TODO: Subsume this with general checking if type can be 1 // TODO: remove non-AtIndex versions of these methods. 3 // FIXME: We should populate template parameters with arguments in 1 case ARM::t2LDRs: // FIXME: don't use t2LDRs to access frame. 1 // FIXME: We fail to implement [temp.deduct.type]p1 along this path. We need 1 // TODO: We should get rid of this function when APFloat can be constructed 1 { ISD::SIGN_EXTEND, MVT::v32i16, MVT::v32i8, 3 }, // FIXME: May not be right 1 // TODO: add bridgeOS & driverKit once in llvm::Triple 1 // FIXME: this should chose the most expensive case! 1 // FIXME: Remove these deleted methods once the default build includes 1 // FIXME: perhaps we can try to find if it really emitted a corresponding 1 /// FIXME: This should probably live in X86InstrInfo, potentially by adding 1 # FIXME: dep on libcxx-headers? 2 // FIXME: Instead of visiting the pending Q each time, set a dirty flag on the 1 // FIXME: This will create multiple definitions for most of the predefined 1 // behavior for now. FIXME: Directly diagnose uses of a string literal as 1 // TODO: implement. 1 // TODO: Use insertSliceOp.getDestOpOperand etc. when available. 1 // TODO: Infer invariance only at -O2. We still want to use ldg at -O0 for 1 // FIXME: Add something that triggers the check here. 1 // TODO: Handle delinearization with differing element sizes. 1 // FIXME: This is incorrect: With /opt:noref, the previous sections 1 // FIXME: Handle CompoundLiteralExpr. 1 // TODO: Handle G8RC to G8pRC (and vice versa) copy. 1 // FIXME: Do we need to worry about global aliases? 1 /// FIXME: Nevertheless, we can't do the same for pointer declaraions, like: 1 // FIXME: Unfortunately the approach of checking the Operation Action does 1 // TODO: We need to look at the operand bundles similar to the redirection 3 // TODO: Enable profile correlation when there are multiple objects in a 1 // TODO: Handle ak_declcontext case. 1 // FIXME: Inlining should be OK for dx10-clamp, since the caller's mode should 1 // FIXME: Support more relocations & change this to an error 1 // TODO: The name of the module could be read better? 1 // TODO: we are not considering paths yet, just interleaved positions. 1 // TODO: Support tail calls in FastISel 1 // FIXME: For blocks we currently mimic GCC's mangling scheme, which leaves 1 // FIXME: Could also use any of r0-r3 that are free (including in the 1 // FIXME: Diagnostic should be able to natively handle types that have 1 // TODO: get mangled name for the method. 1 // FIXME: This should probably print the character literal as a string, 1 // FIXME: eliminate unused parameters. 1 /// TODO: Make a proper accounting of "explosion" effect for all kinds of 1 // TODO: We could use i64 if it is native and the range requires it. 1 // TODO: Use version number when setting target features 1 // FIXME: Once pointee types are removed from IR, remove this. 1 // TODO: Consider different printout format after 1 // TODO: Add support for other standard operations. 1 // FIXME: Support full match. At this point, we only find symbols in 1 # FIXME: There should just be an isNull method. 1 // TODO: Try to use transform_reduce for combining __brick_copy_if_phase1 on IsVector. 1 // FIXME: use %got22/%got10, if system assembler supports them. 1 /// FIXME: It would be nice to base the bonus values on something more 1 /// FIXME: Isolate the lower-level memory management to a different abstraction 1 // TODO: In fact, we need to call the constructor for every 1 # TODO: 1 // TODO: Also handle fconstant 1 // FIXME: defines for different 'flavours' of MCU 1 // FIXME: Kill copy? 1 // FIXME (Alex Lorenz): Improve handling for macro locations. 1 // FIXME: Use Function::hasOptSize(). 1 #if 0 // TODO: REAL/COMPLEX (2 & 3) 1 // TODO: remove this when -name-whitelist option is removed. 1 // FIXME: Kill copy. 5 // FIXME: Change the following functions from being in an anonymous namespace 1 // FIXME: For a macro definition make sure that all expansions 1 /// FIXME: std::set is probably not the most appropriate data structure here. 1 error.SetErrorString("TODO: Handle Float Types."); 1 // FIXME: We should use a much lighter weight system than the usual 1 // FIXME: We really should allow ranges of valid theType values, and 1 /// FIXME: Pull out common code with above macro? 1 // TODO: Remove once we support replacing non-root ops. 2 // FIXME: If a caller has multiple calls to a callee, we end up recomputing 1 // FIXME: Should we add OriginalCallArgs for these? What if the 1 // TODO: Once we have memory behavior attributes we should use them here. 1 // TODO: Does this need to look through AND/OR/XOR to their users to find more 1 KMP_CHECK_UPDATE(team->t.t_invoke, invoker); // TODO move to root, maybe 1 /// TODO: This may be unnecessary. 1 // TODO: add other stuffs 1 // FIXME: fix handling of complex expressions here. 1 // FIXME: Support -fpreprocessed 1 // FIXME: GCC has a -fcheck-new option, which forces it to consider the case 2 // FIXME: This implements a workaround with @property declarations also being 1 // TODO: handle zext 1 // FIXME: Add attributes of other objects? 1 // FIXME: Instead of relying on the ParentMap, we should have the 1 // TODO: handle division by zero at the same time the issue is 1 /// TODO: In some cases (no masking, etc.), LLVM::MatrixColumnMajorLoadOp 1 // FIXME: We could be more aggressive when checking doesNotAccessMemory(), 1 // FIXME Whether this is equivalent is dependendant on the target. 1 // TODO: this whole function needs be rewritten as a visitor for CFGWalker. 1 // TODO: Can we put this a common method for DAG? 1 // FIXME: This should always be handled by InstSimplify? 2 // FIXME: Consider using SHA1 instead of MD5. 1 // TODO: Add cost modeling for strict align. Misaligned loads expand to 1 // FIXME: Make this test pass with other C++ standard versions. 1 // FIXME: This makes it so we textually assemble COFF directives on ELF. 1 // FIXME: Add fixes for direct initialization with the initializer-list 1 /// Finds TODO comments without a username or bug number. 1 // TODO The __mspabi_mpysl*_f5hw functions ARE implemented in libgcc 1 // TODO: call BLAS-1 DDOT 1 // TODO: Value profiling is not yet supported. 1 /// FIXME: Make this more robust against small irregularities. 1 // TODO: Remove one-use limitation? That is obviously better for max. 1 // FIXME: make it resizable. 1 // FIXME: Add support for group decls, e.g: `int a, b;` 1 TODO: Fix it. --ln */ 1 // FIXME: Ideally the isEscaped check should come at the beginning. 1 // FIXME: Maybe don't apply fixes for other files as well. 1 // FIXME: Add support for multi 1 // TODO: support static blocks runtime 1 // TODO: Currently, we only check for std::unordered_set. Other unordered 1 // FIXME: Is there a better way to avoid quotes than using getName()? 1 // TODO: If maybeEndlessLoop is going to be expensive, cache it. 1 // TODO: Should verify number of def and use operands, but the current 1 // TODO: handle outputs. 1 "TODO: missing intrinsic lowering: " + llvm::Twine(name)); 1 // FIXME: What we should return is the field offset, not base. For example, 1 // TODO: Verify result type originate from the same context. 1 // FIXME: Avoid copy here. 2 # FIXME: A proper fix requires sequentially chaining tablegens. 1 // FIXME: The Location class seems to be something that we might 1 UINT32_MAX; // TODO: take this line out when we support partial indexing 1 // FIXME: consider handling this in AggressiveInstCombine 1 // FIXME: Parallelize. 1 // TODO: Handle co_return. 1 // TODO: Flag as a bug? 1 // TODO: require less knowledge about the implementation in the test. 1 // TODO: Would it be useful to have multiple addresses? 1 // FIXME: Make this the default for llvm-symbolizer. 1 // FIXME: Create another debug type for matrices 1 // FIXME: UnreachableMachineBlockElim is a dependant pass of LiveVariables. 1 // FIXME: This shouldn't include the "dylib" suffix. 1 // TODO: For now, liveness of a memory region is equivalent to liveness of its 1 // FIXME: This is a bad API, we are hiding NamedDecl::getName with a different 1 // TODO: handle failure. 1 // TODO: relax the restrictions on indexing map. 1 // FIXME: this reimplements much of OptTable, it might be nice to expose more. 1 // FIXME: How are we going to parameterize this? Two obvious options are stay 1 // FIXME: When can ToType be a reference type? 1 // TODO: Don't have wavefront lane locks. Possibly can't have them. 1 // FIXME: Check if copying all S_ATTR_LIVE_SUPPORT sections into a 1 // FIXME: Use the scavenger to grab a scratch register. 1 // FIXME: should we even be calling this method if RTTI is disabled 1 // TODO: Investigate more intelligent sorting heuristics. For starters, we 1 // FIXME: We are ignoring the suggestions currently, because they are 1 // FIXME: This is untested and unused anywhere in the LLVM project, it's 1 // TODO: this is naive. The optimization is still valid if DupPg 1 // TODO: if the user has passed in a --platform argument, use it 1 // FIXME: Allow true block to have an early exit? 1 // FIXME: should we print 'b'? At the IR level we cannot be sure if this 1 // FIXME: isParamDestroyedInCallee() should probably imply 1 // TODO: bare ptr conversion could be handled by argument materialization 1 case eFormatFloat: // TODO: add support for floats soon 1 // TODO: make this work with different layouts: assuming here that 1 #if 0 // TODO: check if this is handled by MUBUF code above. 1 { ISD::ADD, MVT::v2i32, 2 }, // FIXME: chosen to be less than v4i32 1 PRE_SYSCALL(compat_12_lstat12)(void *path_, void *ub_) { /* TODO */ } 1 // FIXME: use section end symbol as end of the Section. We need to consider 1 // TODO: Hook up option to produce stacks 1 // FIXME: We should be able to assert that block is non-null, but 1 eVoteNoOpinion, eVoteNoOpinion // TODO check with Jim on these 1 // TODO: investigate the performance of this function. 1 // TODO: Change the GPU dialect to abstract the layout at the this level and 1 /* TODO: Is this safe for asynchronous call from signal handler during runtime 1 // TODO: implement a non-greedy profitability analysis that keeps only 1 // FIXME: If spilling is necessary, this will fail because this scavenger has 1 // FIXME: Is this the right level to be performing this transformation? 1 // FIXME: Delete loop from pass manager's queue? 1 // FIXME: This works, but doesn't seem very efficient. 1 // TODO: Expand it to not only check constant values. 1 // TODO: generalize for sparse tensor subscripts 1 // TODO: Remove this flag when we are confident with no regressions. 1 // FIXME: This is a hack. Ivar lookup should be part of normal 1 // TODO test IBCLR, IBSET, IBITS, MAX, MIN, MERGE_BITS, RANGE, SIGN 1 /// FIXME: It would probably be nice to have a SmallBumpPtrAllocator 1 // instantiated from. FIXME: Is this necessary? 1 // TODO: consider merging results parsing into region parsing. 1 ! TODO: more interfaces (_fma, &c.) 1 /// FIXME: Add support for and/or/select on the RHS. 1 // TODO: attributes? 1 // FIXME: this currently just calls the matching Type methods 1 // FIXME: Implement deduction in dependent case. 1 // FIXME: re-enable when NOLINTBEGIN suppresss block is enabled in clangd. 1 // TODO: This is using the RTTI name. Is there a better way to get 1 // TODO: Make this a member variable and probably do something about hints. 1 // FIXME: Also ask for FullyQualifiedNames? 1 // FIXME: Check the gold version or add a new option to enable them. 1 // FIXME: LLVM lacks nuanced semantics to differentiate between 1 // TODO: dot_product, matmul, transfer 1 // FIXME: Handle other special warning flags, like -pedantic. 1 // FIXME: It's better to target destructor's FunctionDecl instead of 1 // FIXME: Custom lowering for these operations shouldn't return null! 1 // FIXME: Update the type on all intervening expressions. 1 // FIXME: use addressofreturnaddress (but implement it in aarch64 backend 1 // TODO: determine this for COFF 1 // TODO: Handle merged loads. 1 /// TODO Delete the path based overload once we implement the FD based overload 1 // TODO: Make check abort messages use location info & pass it into 1 // TODO: Use chrono version of std::ceil once c++17 is available. 1 // FIXME: do we need to allow for any variance here? 1 // FIXME: Remove all of the isPhysRegUsed checks 1 // TODO: isaConvolutionOpInterface that can also infer from generic features. 1 // FIXME: Also expand built-in substitutions? 1 // FIXME: A better heuristic might also consider the OS to account for 1 // TODO: we can do better than this 1 // TODO: If this is an integral address space, cast to integer and anyext. 1 // TODO: allow memory access dominated by move point? Note that since AI 1 // TODO: This logic could be encoded into the table above and handled in the 1 ! TODO: This might need to be an actual Operation instead 1 PRE_SYSCALL(compat_50___fstat30)(long long fd_, void *sb_) { /* TODO */ } 1 /// FIXME: Consider combining this with LimitedDebugInfo. 1 // FIXME: Reorder according to DeclNodes.td? 1 // TODO: we should only load the required dialects instead of all dialects. 1 // FIXME: Implement this if some target needs it. 2 // FIXME: Add a method to get the location of the use of a CapturedVar so 1 // TODO FMT Implement [format.context]/4 1 // FIXME: There is no way to emit value 0 (enums prohibited) or value 3 1 // TODO - add support for constant vselect masks (see IR version of this). 1 // FIXME: Merge with feature modules. 1 // FIXME: We should teach SplitBlock to handle this and remove this 1 // FIXME: Check that this translation unit does not import any partitions; 1 // FIXME: Clang doesn't correctly handle -std= when the input language 1 // TODO: add accessors to standard op's load, store, DMA op's to return 1 // FIXME: The replacement could be performed recursively. 1 /* TODO: tune for KMP_OS_NETBSD */ 1 // FIXME: Support i64 too 1 // FIXME: Provide a more direct way to do this in LLVM. 1 // FIXME: If this is necessary, we can still try to split 1 // TODO: This is more complicated, unsafe flags etc. 1 // TODO: Preserve "int min is poison" arg in GMIR? 1 // FIXME: accept a Path as a parameter, and use it for error reporting. 1 // FIXME: should use a custom expander to expose the SRA to the dag. 1 // FIXME: Code/comments below check Opcode == t2STRDi8, but this check returns 1 // TODO: Ideally these should move upstream, so that we don't 1 // FIXME: Check for known structural equivalences via a callback of some sort. 1 // FIXME: move this information to an HTML file in docs/. 1 // FIXME: In theory, there might be new expressions that don't have side 1 // FIXME: we want resulting declarations to be marked invalid, but claiming 1 // FIXME: Make this configurable. 1 // TODO: Critical-edge splitting. If the optimial insertion point is 1 // FIXME: Setting a dummy call-through manager in non-lazy mode prevents the 1 // FIXME: discount dead loads. 1 // FIXME: Copied from ExprEngineObjC. 1 // FIXME: Move magic numbers to a better place. 1 // TODO: should we even warn on struct/class mismatches for this? Seems 1 // FIXME: It is not clear whether values in the range should be 1 // FIXME: make this really NoReserve? 1 // FIXME: We should see if this is necessary or if we could be more 1 // FIXME: we might have got more errors while trying to build the 1 // FIXME: Suggest a fixit here. 1 // FIXME: This is redundant with -mcpu, why does LLVM use this. 1 // TODO: Handle triangular loops of another form. 1 // FIXME: Handle div by immediate. 1 // FIXME: Add LoopAnalysisManager or CGSCCAnalysisManager if needed. 1 // FIXME: If this depth limit is hit, then we may cache sub-optimal results 1 // TODO: Support AND, OR conditions and partial unswitching. 1 continue; // Ignore noise and errors. FIXME: take noise into account ? 1 // FIXME: we need to do this early because we don't materialize global 1 //TODO: Support smaller loads 1 friend class ASTReader; // FIXME: ASTContext::getInjectedClassNameType is not 1 // FIXME: Use BundleGroups to track the lock state instead. 1 // All these uses are iter_args of the outermost loop (TODO: add a check). 1 // FIXME: Look at the size of vectors. 1 // FIXME: This should eventually end up somewhere else where more 1 // TODO: Check range metadata on MMO. 1 // TODO -- handle alpha-renaming of variables 2 // FIXME: If the switch is too sparse for a lookup table, perhaps we could 1 // FIXME: Clang's logic should be synced with the logic used to initialize 1 // TODO: This is probably too conservative. 1 // TODO: Add 16-bit instruction support with immediate num 1 // FIXME: set different alignments according to section types. 1 // FIXME: These may not be appropriate for non-x86 architectures. 1 // FIXME: Currently CleanDtorState can be empty here due to temporaries being 1 // FIXME: Only store metadata for declarations here, and move data for global 1 // TODO: handle modulo by zero case when this issue is fixed 1 // FIXME: handle protocol headers that are declared across multiple lines. 2 # FIXME: make it possible to run the tool on unsaved file. 1 // FIXME: If we have a volatile struct, the optimizer can remove what might 1 // FIXME: Shared with ELF. 2 // TODO: Once we have a way (other than checking for the existince of the 1 // TODO: Extend to support multiple buffers. 1 // FIXME: we should be able to design DIEEntry reliance on 1 // FIXME: Currently the DataLayout string carries a "preferred alignment" 1 // FIXME: Allow for reinterpret cast between 3 and 4 element vectors 1 // FIXME: Eventually we want to actually delete these indexes. 1 // TODO: It's possible that the *first* return is the divergent one. 1 // TODO: Currently fusion would not be legal if the fusable dependence is to 1 // FIXME: Add thread_local variables to the source code snippet. 1 // FIXME: The parser does not support explicit documents terminated with a 1 // FIXME: Pre-include call frame size in the offset, should not 1 // FIXME: We should treat this as a uniform. Unfortunately, we 1 // TODO: This should be in a helper function in the base class, so it can 1 // FIXME: We're emitting LSDA info into a readonly section on ELF, even though 1 // FIXME: The solver may make changes to the function here, so set 1 // FIXME: Add a helper for checking namespaces. 1 // FIXME: The token may end with a newline in which case 1 // FIXME: Handle is_int_min_poison. 1 /// record the label as Thumb. FIXME: there is a corner case where the state 1 // FIXME: Node sharing is an implementation detail, exposing it is ugly 1 /// FIXME: The rename verifier should notify user about this issue. 1 HI.Kind = index::SymbolKind::Unknown; // FIXME: no suitable value 1 // FIXME: Is this machine dependent? 1 // FIXME: Is this really an optimization rather than a canonicalization? 2 // FIXME: On linux, GetMainExecutable is independent of the value of the 1 {// FIXME: Nested namespaces: Not aware of using ns decl of outer ns. 1 // TODO: Add support for non-zero index broadcasts. 1 // TODO: We should consider returning llvm::Error rather than aborting. 1 // TODO: Handle jumping to labels 1 // TODO: Peek through 'not' of cast. 1 // TODO: We could relax this to any integer that fits in a register and rely 1 // TODO: Currently we defaultly set Palette = 1, it may be assigned to 1 /// ObjCInterfaceDecl. FIXME - Find appropriate name. 1 // FIXME: Is there a better way of adjusting the liveness? It shouldn't be 1 // TODO: Try to force emitter to use MCDisassembler* instead of void*. 1 // TODO: any other built-in derived types used as optional intrinsic 1 // FIXME: Path to compiler and command line. PDB is intentionally blank unless 1 // TODO: Properly handle tags. "[!!str ]" should resolve to !!str "", not 1 // FIXME: Need to promote SGPR case to s32 1 // FIXME: Should probably widen s1 vectors straight to s32 1 /// FIXME: This function does not deal with the somewhat subtle symbol 1 // FIXME: Make use full range of soimm values. 2 // FIXME: We should have an emitCopy function? 1 // FIXME: Implement in arm? 1 // TODO: Refactor to put elsewhere 1 // FIXME: Per CWG1464, we are required to check the value prior to 1 // FIXME: If we wanted to be really friendly we would show why the match 1 // TODO: passing a scalar root to toYAML() asserts: 1 // TODO: This handling is inaccurate for one case: If we switch to a 1 // TODO: Configurable NotANumber representations 1 // FIXME: Propagate out-of-memory as an error? 3 // TODO: Is this true? kill flag appears to work OK below 1 // FIXME: Asking for the pointer to a function that hasn't been registered, 1 // FIXME: Type of underlying builtin is always `Int`. We correct it with 1 // FIXME: We reached here that means instruction at [target - 4] has 1 // TODO: Support finding an anchor(with same base) from store addresses or 1 // FIXME: Use a second vreg if instruction has no tied ops. 1 # FIXME: This is a work around for lack of select function with 1 // FIXME: actually, Microsoft version probably doesn't check this 1 // FIXME: Loop passes are required to preserve domtree, and for now we just 1 // TODO: We should not allocate and execute the task in two steps. A new API is 1 // FIXME: This loop is O(N^2) because dominates can be O(n) and in worst case 1 // FIXME: Handle isModulePrivate. 1 // FIXME: add the real source filename. 1 // TODO: Add division ordering such that a division representation for local 1 // TODO: 32-bit insert to a 64-bit SGPR may incur a non-free copy due to SGPR 1 PRE_SYSCALL(compat_60_sa_stacks)(long long num_, void *stacks_) { /* TODO */ } 1 // FIXME: The snapshot heap space should persist. But I'm planning to 1 // Generate COPY. FIXME: Replace with the register:subregister. 1 return true; // FIXME Handle the error. 1 // FIXME ...here it would make sense though. 1 // FIXME: Is it worth transforming x86_stdcallcc and x86_fastcallcc? 1 // FIXME: The header should not be added here. Remove this after we support 1 // TODO this is here to get a stable output, not a good heuristic 1 bool isText = Segment == "__TEXT"; // FIXME: Hack. 1 // TODO: call GetCPUAndFeaturesAttributes? 1 /// TODO: One tool currently missing is the ability to add a delay to 1 report_fatal_error("FIXME: relocations to absolute targets " 1 // TODO We can potentially do this for list debug values as well if we know 1 // FIXME: What is the FBS equivalent of BKSApplicationStateMonitor 1 // FIXME: Test that copy is independent of original, once the Mutations API is 1 // FIXME: ForwardDecl likely *is* visible outside. 1 // TODO: AMDGPU can use a "median of 3" instruction here: 1 // FIXME: Use lambda instead. 1 // TODO: Consolidate with the more general transform that starts from shl 1 // TODO: Parse other register kinds. 1 // FIXME: Forward arguments. 1 // TODO: memory intrinsics. 1 // TODO Correctly handle exception specification in wasm 1 // FIXME: This may not be needed once PR27866 is fixed. 1 // TODO: implement count 1 // FIXME: perhaps also store abi version here? 2 // TODO: Check that src0 = src1 or src2. 1 MIB.addReg(ARM::R9) // FIXME: don't hardcode R9 1 // FIXME: Do we need to add constexpr selects to VisitedUsers? 1 // FIXME: Currently there is no RPO CGSCC pass structure to slide into and so 1 // TODO: For now we do not treat byval arguments as local copies performed 1 // FIXME: may overwrite a part outside the region 1 // FIXME: Handle other MethodOptions. 1 // TODO: Just precompute output size here instead of writing to a temporary 1 // FIXME: Can we pass in either of dest/src alignment here instead 1 // TODO: make `const char *` when removing support for Python 2. 2 // TODO: Add heuristics to distinguish alloc calls that allocates single 1 // TODO: Add support for LC_REEXPORT_DYLIB, LC_LOAD_UPWARD_DYLIB and 1 // FIXME: we could if we had the working directory here. 1 // FIXME: This loop could be made faster, but it's fast enough for now. 3 // FIXME: come up with better string. 4 // FIXME: if we had a full access to DWARFDebugAbbrev::AbbrDeclSets 1 // TODO: This should work on a breakpoint at a function with no frame, 1 // TODO: It might make sense to run this check on demand. In some cases, 1 // FIXME: We should call addHiddenDecl instead, to add the member 1 // TODO: When sigprocmask and sigaction land: 1 // TODO: Optionally warn on operand promotion extension 1 // FIXME: handleOperandChange() updates all the uses in a given Constant, 1 // TODO: Name.Offset.Offset here and in the all similar places below 1 // FIXME: AnyCall doesn't support blocks yet, so they remain unchecked 1 // FIXME: Handle more complex patterns that use an operand more than once? 1 // FIXME: it would be useful for us to output the spelling kind as well as 1 // TODO: Consider moving to use affine.apply and patterns converting 1 // FIXME: This method shares a lot of code with 1 // TODO: Get these tables to know at least what the related operations are. 1 // TODO: Deal with other constant types (vectors, etc), and probably 1 // TODO: Convert this class to StringRef. 1 // TODO: OptimizeSequences could generalized to be Interprocedural. 1 // FIXME: add an option for this. 1 // TODO: Treat f32 fneg as only high bit. 1 /* team->t.t_parent = NULL; TODO not needed & would mess up hot team */ 1 // TODO: unify once we have a VectorType that supports 0-D. 1 // TODO: We can additionally analyze the accesses in the callee to create 1 // TODO: If the PHI has an incoming block from before the SCoP, it is not 1 // FIXME: Cache more of this 1 // FIXME: GCC 5.x doesn't support enum as map keys. 1 // FIXME: Figure out whether it's the right location to parse to. 4 // FIXME: We should use StructuredData.GetDescription on the m_extra_args 1 case AMDGPU::G_SADDSAT: // FIXME: Could lower sat ops for SALU 1 // FIXME: Handle multibyte characters in the source line. 2 // TODO: We could consider sorting the dependency arrays within the 1 EXPECT_EQ(0u, M->getColumn()); // FIXME: Should this be 7? 1 // FIXME: These two aren't really implemented and just exist in the feature 1 // FIXME: ::= L _ E # complex floating point literal (C 2000) 2 // TODO: if it's internal and only used in direct calls, we could handle this 1 // TODO: Add heuristic that the frame index might not fit in the addressing mode 1 llvm_unreachable("FIXME: Implement SparcInstPrinter::printGetPCX."); 1 // FIXME: Comment on the meaning of the arguments, when 'St' may not 1 // FIXME: Does it make sense to factor out common code with the 1 // FIXME: Use std::invoke() when it's available. 1 // FIXME: This is a somewhat arbitrary restriction. We should be using 1 Chains.clear(); // FIXME: really needed ? Could not work at MF level ? 1 // FIXME: This should probably be a fully fledged calling convention. 1 // TODO: K&R warning: "traditional C rejects string constant concatenation" 1 // FIXME: should this just return box.getLen() ?? 1 // TODO: The following assumes there is always an op with a fixed 1 // and also (a) collect header maps and (b) TODO: input vfs overlay files. 1 // FIXME: Surely this should add a reference by the new name, and return 1 // FIXME: Use something more efficient than normal lookup for using 1 // FIXME: Is it easiest to fix this layering violation by moving the .inc 1 // TODO: Faster data structure 1 // TODO: find the best device. 1 // FIXME: We should not warn for duplicates in diamond: 1 /// FIXME: Metrics are not recorded, some could become counter events. 1 // FIXME: most often sa_restorer is unset, however the kernel requires it 1 // TODO Remove when UnrollAndJamLoop changed to support unroll and jamming more 1 TODO: Implement all operations in semPPCDoubleDouble, and delete these 1 // FIXME: Totally just a placeholder name to get the algorithm working. 1 // TODO: Consider add more passes like in 1 // TODO: Eventually this could be subsumed by EvaluateInDifferentType. 1 return getGPR32Reg(); // FIXME: GPR64 too 1 /// FIXME: Should also check hasOpaqueSPAdjustment and if any inline asm 1 // FIXME: This multiplier was not really tuned up. 1 // TODO: This code may be extended to handle vectors as well. 1 // TODO: double _Complex/float _Complex have been removed from llvm flang 1 // TODO: support error propagation in OpenMPIRBuilder and use it instead of 5 // FIXME: this is not particularly good for localization purposes and ideally 1 // FIXME: Leaving behind this double leading slash seems like a bug. 1 // TODO: Future hook to select some set of runtime calls. 1 // FIXME: To be completely thorough this matcher should also ensure the 1 // FIXME: We'd like to put these into a mergable by content, with 3 // TODO: test this error. 1 // FIXME: This is subtly broken, due to how we model some instructions 1 // FIXME: we are not processing inline assembly, which contains register 1 // FIXME: This should do something useful even if the types don't match, 1 // FIXME: OpenCL options which affect language semantics/syntax 1 // FIXME: Generate the right syntax tree for this type, 1 // FIXME: Also check the bitwidth is odr-equivalent, if any. 1 // FIXME: There are no test cases covering this block. 1 // TODO: Should probably try to handle some cases with multiple 1 // TODO: Handle q extension. 1 // classof. FIXME: move definition inline once ~all nodes are generated. 1 // TODO write other register contexts and add them here 1 // FIXME: The check for extern "C" here is not justified by the standard 1 // TODO: add LOAD_STACK_GUARD support. 2 // FIXME: The following to should be class itself instead. 1 // TODO: call BLAS-3 CGEMM 1 // FIXME: The policy bits can probably be ignored for mask reg operations. 1 // TODO: These can be fine-tuned further to consider code size or deopt states 1 // FIXME: We shouldn't be setting HadFatalFailure below if we only 1 // TODO: Scan for an opportunity for reuse. 1 // FIXME: We could only calculate this if the CFG is known to be irreducible 1 // FIXME: The checker should be updated to handle all system calls that take 1 // FIXME: Check if a better solution is possible. 1 // FIXME: We cannot yet handle delayed template parsing. If we run with 1 // TODO: Fold negations of the mask into the store. 1 // FIXME: At -O0 we don't have anything that canonicalizes operand order. 1 // FIXME: Is this needed anymore? 1 // FIXME: We want to suppress scope specifiers 1 // TODO: Can we account for that in the cost model? 1 // TODO Make this more conservative by only invalidating values that might 1 # FIXME: There should just be an isNull method. 1 // TODO: Handle this with the AsmOperandClass.PredicateMethod. 1 // FIXME: The scheduler currently can't handle values larger than 16. But 1 // FIXME: remove TI in `copyMustTailReturn` 1 // TODO: Check for copy chains that really have no effect. 1 // TODO: Extend profitability analysis to support scenarios with multiple 1 // FIXME: We should have a more generalized location printing mechanism. 1 // TODO: we need to think about the order of visiting the blocks to get 1 // FIXME: Validate the argument here so we don't produce meaningless errors 1 // FIXME: Need to fix extra SGPR->VGPRcopies inserted 1 // FIXME: Suppress the note backtrace even under 1 // FIXME: doing this here is really ugly. 1 // TODO: Ideally we would have two separate factors, one for call site 1 // FIXME: Are there other type-referencing subsections? Inlinees? 1 // TODO: Triggers issues on aarch64 on darwin, so temporarily disable it 1 // FIXME: Enable this once we've figured out how to correctly transfer 1 // TODO: Reconsider this special case. 1 // TODO: figure it out what needs to be done on targets that don't honor 1 // FIXME: Matching against the type-as-written can't work here, because the 1 // FIXME: This only works because storage class specifiers are not allowed 1 // FIXME: Following EM_ECOG1X definitions is dead code since EM_ECOG1X has 1 // FIXME: Once this API is no longer duplicated in `CallSite`, rename this to 4 // FIXME: Try to simplify vectors of integers. 1 // TODO: Allow non-throughput costs that aren't binary. 1 // TODO: This code cannot use an OpBuilder because it must be inserted into 1 // FIXME: This logic breaks when there is a comment with ':'s in the middle. 1 // FIXME: Determine when the external dependency isn't an expression converted 1 /// FIXME: The defaults need to be removed once all of 3 // FIXME: What if the input is a memory buffer? 2 /// TODO: to be removed later and replaced with suitable properties 1 // TODO: Instead of fission every statement, find the maximum set that does 1 // FIXME: There are no Thumb1 load/store instructions with negative 1 // TODO: Add profile stuff here 1 // FIXME: This dummy ModulePass keeps some programs from miscompiling, 1 // FIXME: This is extremely conservative. This really needs to use an 1 // FIXME: Implement 1 // FIXME: This is hacky at best... if we had a bit more explicit information 1 // FIXME: Add a checker option to turn this uniqueing feature off. 1 // TODO: Add only the induction variables referenced in SCEVAddRecExpr 1 // TODO: materialize the offset into a reggister 1 // FIXME: If any of the declarations is from an AST file, we probably 1 // TODO: Should this check be a part of the CString checker? 1 // TODO: -fpreprocessed mode?? 1 "// TODO: long", 1 // TODO: Handle escaping strings. 1 // FIXME: It would be good to have the subtarget additions here 1 // TODO: This function should also be auto-generated. For now, since only a 1 // FIXME: Fails for r600 tests 1 // FIXME: It looks like InstCombine is very inefficient on dealing with 1 // FIXME: add verbose output 2 // FIXME: Eventually we should control promotion instead of promoting 1 // TODO: Subsume this into EvaluateInDifferentType. 1 const float *__a) { // TODO: placeholder until OCML adds support. 1 // TODO: support multi-block functions. 1 // TODO: Checking the number of uses is not a necessary restriction and 1 // TODO: Add more intrinsics. 2 // FIXME this drops the error on the floor. 3 // FIXME: I'm sure there's some #define magic that can create all 32 sets on the 1 // FIXME: Add a test for `hasInit()` that does not depend on C++. 1 // FIXME don't do a fatal error. 1 // FIXME: Compare with StackWalk64. 1 // TODO: other checks for standard module procedures 1 // FIXME: Teach the constant evaluator to deal with the non-dependent parts 1 // FIXME: It might be reasonably to discount the cost of instructions leading 1 // FIXME: Provide a source location here even though there's no 2 // FIXME: Benchmark whether memoization of non-pointer typed nodes 1 // TODO: call BLAS-2 SGEMV(x,y) 1 // FIXME: In principle, BasicBlockSection::Labels and splitting can used 1 // FIXME: We explicitly keep a reference of the type converter here instead of 1 // FIXME: also use the equivalent of isMemSrcFromConstant and alwaysinlining 1 // TODO: Not all attributes require an exact definition. Find a way to 1 # FIXME: CMAKE_SIZEOF_VOID_P is still 8 1 // TODO: Eliminate g_abort global variable and this function. 1 * TODO FMT Fill will probably change to support Unicode grapheme cluster. 1 // FIXME: Unaligned loads need special handling. Doublewords require 1 // FIXME: I think for bottom up scheduling, the register pressure is cached 1 // FIXME: Wrong const-ness, but it makes filter ranges work. 1 // FIXME: This selection can be made smarter by looking at the definition 1 subroutine omp_fullfill_event(event) bind(c) ! TODO: is this the correct spelling? 1 // TODO: Report an error if the same register is used more than once. 2 // TODO: Refactor to Sema::FindCompositePointerType(), and 1 // TODO: Can any fast-math-flags be set on these nodes? 1 /* GEH: TODO: Move this under if-condition above and also include in 1 // FIXME: The above rule allows the size of the parameter pack to change 1 // FIXME: should we consider SymbolRef wrapped in CodeTextRegion? 2 // TODO: Investigate whether mixing implicit and explicit indices 1 // FIXME: This is not very precise. Here we just check to see if the 1 // FIXME: For x86_avx_cmp_pd_256 and x86_avx_cmp_ps_256 this function 1 // FIXME: Size == 16 optimized library functions exist too. 1 /// FIXME: It will return an OpenMPMapModifierKind if that's what it parses. 1 // FIXME: We use commutative matchers (m_c_*) for some, but not all, matches 3 // TODO: Handle specific intrinsics individually from those that can be 1 // FIXME: This makes headers with #ifdef LINUX/WINDOWS/MACOS marked as non 1 // FIXME: This really, really shouldn't be happening. 1 // TODO: The conversion pattern can be made to work for `any_of` here, but 1 // FIXME: fix this properly, https://reviews.llvm.org/D100388 1 //TODO: to consider tuning block_size for various data types 1 // FIXME: Use the errors Stream for better error reporting. 1 // FIXME: support colored output. 1 // FIXME: It should also be possible to speculate a block on the critical edge 1 // FIXME: Track that the array size was inferred rather than explicitly 1 // FIXME: is there a way to actually get the QualType for size_t/ptrdiff_t? 1 // FIXME: Consider validating (or even loading) all this in 1 // FIXME: We're missing a way to go back from LLT to llvm::Type to query the 1 // TODO: Support flat and scratch. 1 // FIXME: These template arguments are temporary. Free them! 1 // FIXME: When we grow m_value, we should represent the added bits as 1 // FIXME: Support for 32-bit. 1 case BuiltinType::Char8: // FIXME: Treat like 'char'? 1 // FIXME: We know if the type names can use 7-bit ascii. 1 // TODO: Once -module-dependency-dir works with -frewrite-includes it'd be 1 // FIXME: For now this code essentially bails out. We need to find the 1 dbgs() << "TODO: Implement pred/succ dependence handling!\n"); 1 // FIXME: We should be able to assert this for FunctionDecls as well! 1 // FIXME: Maybe it'd be better to have consistency in 1 // FIXME: Do we need to check if the code after this uses the value of LR? 1 // FIXME: Scan the map once in the visitor's constructor and do a direct 1 /// FIXME: This handles the types of load/store that the vectorizer can 1 // FIXME: Check address space sizes here 1 // TODO: The old stack frame list is used to fill in missing frame info 1 // FIXME: We can actually do this whether or not the name is qualified, 1 // FIXME: add checker visit. 1 // FIXME: Should translate token flags to a stable encoding. 1 /// FIXME: provide fix for snake_case to snakeCase 1 // TODO: Constant fold to an "error". 1 // TODO: The prefix should not be counted in the precision. But unfortunately 1 // FIXME: For now take the conservative approach that we only 1 // FIXME: deal with more complex, not one-dimensional, aggregate types 1 // TODO: Before tied operands are rewritten, a live segment can only end at an 1 PRE_SYSCALL(__lfs_segwait50)(void *fsidp_, void *tv_) { /* TODO */ } 1 // TODO: Use version number when setting target features 1 // FIXME: add sort(on ID)+unique to avoid extra work. 1 // TODO: Atm we have 3 cases: 1 |* TODO: gcov is multi-process safe by having each exit open the existing file 1 // FIXME: Rather than create a NoSanitizeSpecificAttr, this creates a 1 // FIXME: In other words, what we should always do is copy value of the 1 // FIXME: remove this once PR18663 has been properly fixed. For now, 1 // TODO: We could do a lot better than this if code actually uses this. 2 // FIXME: Pass in separate source locations for '&' and identifier. 1 // symbol is to far away. (TODO: support non-relative addressing) 1 // FIXME: I think this is wrong for lwt! 2 // FIXME: make it more intelligent to identify the pre-allocating 1 // TODO: Improve this hacky condition. 1 // TODO: no need to look for ObjC sections for a given archive member if 1 // TODO: falling all the way back to objc_setProperty here is 1 // FIXME: Support non-register operands. 1 // FIXME: it'd be nice to do this someday (in a safe way) 1 // FIXME: we shouldn't care about lanes that are 'undef' in the end? 2 // FIXME: Need to handle bit-casted function pointers. 1 Defs[Hexagon::SA1].insert(Unconditional); // FIXME: define or change SA0? 1 // TODO: We expect this to be beneficial regardless of arch, 1 /// TODO: Generalize to handle libclc. 1 // TODO: Generalize for any read only arguments. 1 // TODO: If we are able to fold a load, BEXTR might still be better than AH. 1 /// TODO: Let fence operands be of i32 type and remove this. 1 // FIXME: Add large code model support for ELF. 1 PRE_SYSCALL(compat_43_osetrlimit)(long long which_, void *rlp_) { /* TODO */ } 1 // FIXME: check if EnclosingFunction has any attributes as the AST doesn't 1 /// FIXME: We don't really need a vector here. 1 // TODO: We should most likely always include base regions here. 1 // TODO: Splitting, once we do that. 1 # FIXME: Hack? 1 // FIXME: recursive_directory_iterator should be more robust. 1 // TODO: update or remove symbols only if there is an option that affects 1 // FIXME: This is a lie. The CalleeSavedInfo is incomplete, but this is 1 // FIXME: linear search! 1 /// TODO: Add flag for _Atomic modifier 1 // FIXME: Figure out when is the safest time to emit this section. It should 1 // FIXME: We don't have complex SValues yet. 2 // FIXME: Have Ops be (ValueEntry, Multiplicity) pairs, simplifying this. 1 // TODO: Should be possible to support more formats, but if format loads 1 /// TODO: We currently execute only per-part unless a specific instance is 1 // FIXME: Handle function pointers. For now we ignore them 1 // TODO: Move to selection 1 // TODO: check for overflow 1 // TODO: Allow and use non-square tiles. 1 // FIXME: add more flags to ARMBuildAttributes.h 1 // TODO: ld64 enforces the old load commands in a few other cases. 1 /// FIXME: Consider simplifying this function by splitting out \a 1 /// FIXME: This currently handles what is by-far the most common case: 1 // FIXME: Note, this is a hack, the LLVM backend doesn't actually use these 1 // FIXME: This is wrong; we should require a (visible) definition to 1 // TODO: this should probably have an unversioned fallback for newer arches? 1 // FIXME: this returns the new value (after the operation), not the old 1 // FIXME: We have to disable the verifier here because of PHIElimination + 1 // FIXME: can we disable FEnvAccess? 1 // (FIXME: https://bugs.llvm.org/show_bug.cgi?id=45167). Currently the 1 // TODO: This mutex may not always be held when required. In particular, uses 1 // FIXME: Determine if there's a way to say that `F' is the callee or 1 // TODO: created function profile for those callers too 1 // FIXME: Can tablegen auto-generate this? 3 // FIXME: I think the invariant marker should still theoretically apply, 1 // TODO: Re-visit successor size for non-layout tail merging. 1 // FIXME: Make these protected. 2 // FIXME: add mapping for TypeLocs 1 // FIXME: RelationSlab shouldn't contain dangling relations. 1 // TODO implement TLV support 1 // FIXME: Completely disable sibcall for Thumb1 since ThumbRegisterInfo:: 1 // FIXME: The triple class should directly provide the information we want 1 // TODO: Analyse the blocks to make a decision if it would be worth 1 // FIXME: add other heuristics to detect long running loops. 1 // FIXME: Currently, we don't handle the using-decls being used in different 1 // FIXME: Add a test for `hasCondition()` that does not depend on C++. 1 // TODO: normalize the triple? 1 // TODO: Add a Sema warning that MS ignores bitfield alignment in unions. 2 // TODO: We should allow location aliases on block arguments. 1 // TODO: the default will be switched to 0 in the next commit, along 1 // FIXME: We were asked to expand a strict floating-point operation, 1 /// FIXME: This should be kept internal to SemaTemplateDeduction. 1 // TODO: Allow for multiple IV references for nested AddRecSCEVs 1 // FIXME: Handle simple macros. 1 // FIXME: This (and init.) should be done in the Sema class, but because 1 // TODO: expose something in Process to figure out the 1 // TODO: refactor this loop to avoid all branches inside. 1 // FIXME: As of now, we support only equivalence classes of the same type. 1 return false; // TODO: we don't support TLS yet. 1 /// TODO: This code should be removed once the new LICM pass can handle its 1 // TODO: Consider removing this because the merged may not end up being 1 // FIXME: Check if the declaration has a local/anonymous type 1 // TODO: Actually report errors helpfully. 12 // TODO: revisit now that character constant handling changed. 1 // TODO: Don't add all the constraints, only the relevant ones 1 PRE_SYSCALL(compat_13_sigaltstack13)(void *nss_, void *oss_) { /* TODO */ } 1 // FIXME: Using a randomized filename here means that our intermediate .pcm 1 // FIXME: Store Prefix and Suffix (or PrefixLength and SuffixLength to 1 // FIXME: instead of filtering DYLD_INSERT_LIBRARIES here, do it in 1 // FIXME: It would be better to have something like shrinkToUses() for 1 // FIXME: We should refactor this once there is other language 1 // FIXME: The following comment is out of data and the DataLayout is here now. 1 // have already been removed; TODO: generalize 1 /// TODO: Detach from DerivedTypeBase (split out MDEnumType?). 1 // FIXME implement. 1 // TODO: Implement a cleaner solution, factoring out the "matching" logic 1 // TODO: Test this error. 8 // FIXME: Report OOB slice instead of truncating. 1 // FIXME: Verify the section containing DebugDirectoryBegin has at least 1 // TODO: Fix memory hazards when erasing a tree of operations for which a deep 1 // TODO: Figure out whether isAtomic is really necessary (see D57601). 1 // FIXME: This does not work for vectors on most targets. Sign- 1 // FIXME: instrument dynamic allocas, too 1 // FIXME: It may be possible to remove the isKill() restriction once PR18663 1 // TODO: This should be the llvm.nvvm dialect once this is supported. 1 // FIXME: Populate parameters 1 // TODO: Support element-size less than 32bit? 1 // FIXME: This function should be renamed to indicate that it is not just an 1 // FIXME: put everything below into a common extern "C" block? 2 // TODO: when we're ready to make the change at the IR level, we can 1 // FIXME MSSA: Such replacements may make accesses unoptimized (D51960). 1 // TODO: Need check for infinity 1 // FIXME: Are there other cases where we can avoid emitting an initializer? 1 // FIXME: There must be an easier way to remove an operand from a NamedMDNode. 1 /// TODO: needs better doc of how it is used. 1 /// FIXME: implement this efficiently and move to public syntax tree API. 1 // TODO: This may be changed later, but for now it seems the reasonable 1 // FIXME: We need to pass the container type through to this function. In 1 // TODO: Permit b16 when branching backwards to the same function 1 // TODO: implement aupport for user-defined allocators. 1 /// FIXME: Use Diagnostics for output instead of llvm::errs(). 1 /* TODO implement hot-teams at all levels */ 1 // TODO: Add support for the other Instructions. 1 needsAuxiliaryHeader() const { /* TODO aux header support not implemented. */ 1 // FIXME: We should be able to eliminate unused input registers. We only 1 /// TODO: Explain the optimization 1 /// FIXME: This should be handled by the pass manager, not the outliner. 1 // FIXME: Use a "materialization-side-effects-only symbols must be 1 // TODO: Is this actually needed? 1 // FIXME: VF 2 for float is currently just as expensive as for VF 4. 1 // FIXME: Should we generate a new load for each use of 'this'? The 1 // with the same value. TODO: Reorganize this. 1 /* TODO this sucks, use the compiler itself to pass args! :) */ 1 // TODO: Sometimes, the desugared template argument Expr differs from 1 // TODO: We can handle isMoveImmediate MI here. 1 // FIXME: post-indexed stores use am2offset_imm, which still encodes 1 // FIXME: We should also canonicalize stores of vectors when their elements 1 // FIXME: Do we need any handling for ARC here? 1 // FIXME: This is not necessarily the correct MIR serialization format for 1 // FIXME: AbstractVariables.clear(); 1 // TODO: Predicate these with `options.hasBitScan() ? Legal : Expand` 1 // FIXME: Prepend newlines and space to produce the exact same output as the 1 // FIXME: support renaming static variables for template classes. 1 // FIXME: We should really do something to fix the addresses to a more optimal 1 /// TODO: Remove this function once the real registration API is finished. 1 // TODO: It's theoretically possible to outline more by only keeping the 1 // TODO: Add support for modified arguments that can be expressed 1 // TODO Generalize. 1 // FIXME We would like an efficient form for this, so we don't have to do a 1 // FIXME: Capture used variables. 1 /// TODO Nothing generates a node of this type yet. 1 // TODO: conditional operators, comma. 1 // FIXME: Maybe we should make the symbols in the extra info mutable? 1 case EM_IAMCU: // FIXME: is this correct? 1 # TODO: Support emission of pure memref form. 1 // TODO: Remember the distinct subprogram we created for a given linkage name, 1 // FIXME: Can do a lot better if we know the high bits of src0 or src1 are 1 // FIXME: Do we also need to handle property references here? 1 // TODO: We can keep a list of the breakpoints we've seen while 1 // FIXME: Multiples of 16 should not be legal. 1 // FIXME: An extern template instantiation will create functions with 1 Register FrameReg; // FIXME: surely GCRoot ought to store the 1 // FIXME The frontend should detect this case. 2 // FIXME: We would really like to be able to tablegen'erate this. 1 // FIXME: Find a way to represent constant variables, since they are 1 // FIXME: These are not the only instructions in this switch that clear the 1 // FIXME: nvlink does not handle weak linkage correctly (object with the 1 // FIXME: use ready cycle instead of height 1 // FIXME: Should this use a waterfall loop? 1 // FIXME: Print the type of the leaked object. 1 // FIXME: Refactor this check somehow? 1 // FIXME: we don't fold `rem %X, -C` to `rem %X, C` in DAGCombine. 1 // TODO: Create/move alloc ops for private memrefs closer to their 1 // FIXME: Doesn't have way to specify separate input and output modes. 1 // FIXME: Can we get here with a scope specifier? 1 // FIXME: Conditionally-supported behavior should be configurable in the 1 // FIXME: When opt-remarks are supported in MC, add a remark to notify 1 // FIXME: Redundant check, but even less readable when factored out. 1 // FIXME: Only supporting fixed vectors for now. 1 /// TODO: extend this to store op's. 1 // FIXME: we should be able to hoist loads with no other side effects if 1 // FIXME: This should probably live in ValueTracking (or similar). 1 // FIXME: To the extent that this is meant to cover the Itanium ABI 1 // FIXME: Remove once llvm optimizes this to the faster version without hints. 1 // TODO: eliminate ATOMIC_CRIT_{L,EQV} macros as not used 1 /* TODO implement lazy thread release on demand (disband request) */ 1 // FIXME: Need to distinguish in memory alignment from pointer alignment. 1 // FIXME: this returns foo:bar: for objective-C methods, we prefer only foo: 1 // TODO: handle outgoing DMA pipelining. 1 // FIXME: the new namespace qualifier should be added to the unscoped 1 // TODO: should this use misprediction frequency instead? 1 // TODO: We don't _have_to do this, but this is the simplest solution. 1 // TODO: Pick a high register, and shift down, similar to a kernel. 1 // FIXME: Is this really the best way to handle this situation? 1 // FIXME: Don't allocate storage for these except in the first declaration 1 // TODO: Maybe come up with a better name? 1 // heuristic. FIXME: We can definitely improve it. 1 // TODO: does gas allow multiline string constants? 1 /* TODO: All the libomp source code uses pid_t type for storing the result of 1 return false; // TODO: Handle these 1 // TODO - support non-uniform vector amounts. 1 // FIXME: This cutoff value is CPU dependent and should be moved to 1 // TODO: Filter partitioners for facts that are already known 1 /// TODO: there should be a single function for all ops to do this so we 1 // FIXME: Update the status with the name and VFSMapped. 1 // FIXME: Check against AS_none is an ugly hack to work around the issue that 1 // FIXME: This could be a struct type giving a default visibility different 1 // FIXME: how can TSI ever be NULL? 1 // FIXME: Remove once we can model DeclGroups and their appropriate ranges 1 // FIXME: Handle this case correctly. 1 // FIXME: The first two probably not intended. 1 // TODO: The size of procedure pointers is not yet known 1 // FIXME: Use TargetInstrInfo::RegSubRegPair 1 // TODO: Consider a common pattern rewriter with all methods below to 1 // FIXME: We should probably rename the opcodes here. 1 // FIXME: Add this assertion to help us flush out problems with 1 // FIXME: subset subjects are added to the declaration list until there are 1 // FIXME: This may fail; we don't require that all exported modules 1 // FIXME: There might be a race-condition here (and in Bionic) if the 1 ~$Class[[B]](); // FIXME: inconsistent with constructor 1 // TODO: this is very conservative. 1 // FIXME: redefine these as __device__ functions. 1 /// TODO: could also be implemented as a collect parents followed by a 1 // FIXME: Multiple variables declared in a single declaration 2 // FIXME: Add ObjC Message support. 1 // FIXME: This can't be included from tsan which does not support sparc yet. 1 # FIXME: Operator precedence!! 1 // FIXME: If we have a KnownArraySize, check that the array bound of the 1 // TODO: if the memref was returned by a 'call' operation, we 1 #"//lldb/source/Symbol", # FIXME: many-hop dependency cycle. 1 /// FIXME: This should be set as part of completeDefinition. 1 // FIXME: It's unclear where we're supposed to take the type from, and 1 // We might have a vector load from an array. FIXME: for now we just bail 1 // TODO: call BLAS-2 ZGEMV(y,x) 1 // FIXME: We should invent a VMEMCPY pseudo-instruction that lowers to 1 // FIXME: handle sseregparm someday... 1 // TODO: We currently do not handle gc.relocates that are in landing pads, 1 // FIXME: Ideally we could vary the LDRB index based on the padding 1 // TODO: Deal with non-constant size; Currently expect constant store size 1 // TODO: This defaults to shared right now. 2 // TODO: We can handle "Or Val, Imm" iff this OR is equivalent to an ADD. 1 // TODO: check for an incompatible signature? 1 /// TODO: Eventually, the type conversion infra should have this hook built-in. 1 // FIXME: This should be removed once GISelKnownBits supports vectors. 2 // FIXME: PDP byte order is not actually implemented but Stream just silently 2 // FIXME: If Address Sanitizer is enabled, insert dynamic instrumentation 1 // TODO: Remove the explicit hasAVX512()?, That would mean we would only 1 // FIXME: It's rather inefficient to have to split into two vectors 1 // FIXME: Diagnose overflow. 5 // TODO: Complete for other data-types and strides. 1 // TODO map the complete set of values 1 // TODO: Third operand can be global address (usually some string). 1 // FIXME: Check for 'final'. 1 // FIXME: only one case?? 1 // FIXME: We should have a better naming scheme. This should be stable, 1 // TODO: instead of using the lower bound of `forOp` directly, implement a 1 // TODO fuse unary, binary matcher into n-ary matcher 1 # FIXME: Get config parameters 1 // FIXME: This will crash the analyzer if an allocation comes from an 1 // TODO: The writing-back pseudo instructions we translate here are all 2 // FIXME: Is this the best way to handle class receivers? 1 // FIXME: A '<' can only start a template-id if it's preceded by an 1 // FIXME: In the .o files, we have a GSYM and a debug symbol for all 1 // TODO Consider code transformation that makes calling __clang_call_terminate 1 // FIXME: the framework should provide a `native` namespace that redirect to 1 // FIXME: R600 support. 1 // TODO: Target informations may give a more accurate answer here. 1 // TODO: For now, only values that are induction variables of loops not in 1 # FIXME: Move Checkers.td somewhere else to clean up this layering mess. 1 // TODO: We don't handle cases where the forwarding reg is narrower/wider 1 // FIXME: To make these tests truly in-memory, we need to overlay the 1 // FIXME: consider allowing completion, but restricting the result types. 1 # FIXME: codesign (??) 2 // FIXME: We return error here but the definition is already created 2 // TODO: This branch will not be needed once we moved to the 1 // FIXME: Include the type in the argument list. 2 // TODO: Improve once we have better infrastructure to control pattern 1 // FIXME: Assert that we aren't truncating non-padding bits when have access 2 // FIXME: Fix this test to work with delayed template parsing. 16 // TODO: If either operand is a single element and the multiply is known to 1 PRE_SYSCALL(compat_60_sa_setconcurrency)(long long concurrency_) { /* TODO */ } 1 // FIXME: Add sync/isync (here and in the itinerary). 1 IsTailCall = false; // TODO: TailCallOptimization; 1 // FIXME: Enumerated types are variable width in straight AAPCS. 1 // TODO: We could verify equality here, but skipping that for verification. 1 // FIXME: Find a better interface for this. 1 // TODO: check that KillingII's mask is a superset of the DeadII's mask. 1 // FIXME: Experiment with passing in a custom hashing or sorting the symbols 1 // FIXME: Also, a record doesn't necessarily need begin() and end(). Free 1 // FIXME: Parameters of pointer to functions (y below) that are themselves 1 // FIXME: Maybe we should store the property identifier here, 1 # FIXME: Document this assertion in API. 1 // TODO: Handle ordered instructions 1 // FIXME: Currently limited to spilling GP8RC. A follow on patch will add 1 // FIXME: We should go fix up all the already set locations for the new 1 // ErrorOr/std::error_code for compatibility with legacy clients. FIXME: 1 // TODO: control_directive 1 // TODO: If -reassociation handled this generally, we could remove this. 1 // FIXME: no index for this? 1 // FIXME: Fix this. 1 // FIXME: handle more complicated cases: more ObjC, designated initializers. 1 //FIXME: factor this 1 # FIXME: better 2 // FIXME: We currently consider this to be illegal for non-integral address 1 // same behavior for poison though -- that's a FIXME today. 1 // FIXME: Rather than manually format the JSON (which is awkward due to 1 // FIXME: We really _ought_ to insert these value numbers into their 1 // FIXME: If necessary, this should go in target-specific overrides. 2 // FIXME: Suggest moving the attributes later with a fixit. 1 // TODO: We could handle 'ashr' here as well. That would be matching 1 // FIXME: this could be fixed by filtering instructions from outside of 1 // looking at subtyping relationships. FIXME: Future patch. 1 // FIXME: these are redundant if CmpInst < BinaryOperator 1 // FIXME: Consider aliasing sub/super registers. 1 # TODO: Maybe re-enable this configuration? Do we want to support MSVC 2015's runtime? 1 // FIXME: Are there other cases which require instantiating something other 1 # FIXME: maxsize is inclusive 1 // FIXME: this only removes the unneeded end_sequence if the 1 // TODO: we could bound Known.One using the lower bound on the number of 1 // TODO: This could be enhanced by testing if the callsite post-dominates the 1 // TODO: When command line options regarding targeted numerical library is 1 // TODO: maybe handle TBNZ/TBZ the same way as CMP when used instead for "a < 0" 1 // TODO: It may be safe to hoist if we are hoisting to a conditional block 1 // FIXME: This function should take an LValue as an argument. 1 // TODO: We currently only eliminate non side-effecting 1 // FIXME: We don't emit lifetime markers for the temporaries due to this. 1 // FIXME: Once this test starts breaking we can test APValue::needsCleanup 1 /* FIXME: selectany does not have the same semantics as weak. */ 1 // FIXME: If we only have loop-independent forward dependences (e.g. a 1 // FIXME: We can consider lazily symbolicating such memory, but we really 1 // FIXME: This is only true when we're starting analysis from main(). 1 // FIXME: Template type parameters! 1 // FIXME: Failing even all parts seem to bail-out in for isMacroID() 3 // FIXME: support whatever these are. 1 // FIXME: The current algorithm doesn't actually provide a strong guarantee 1 // TODO: Handle arguments and returns from calls? 1 /// TODO Try to get rid of this function and invert the meaning of 1 // TODO: SymbolCast doesn't appear in practice. 1 // FIXME: handle symlinks that cross file systems 2 // FIXME: Consider the intermediate times and the cumulative tree time 1 // FIXME: Should this happen for `asm inteldialect` as well? 1 // TODO: Support "Source" from external AST providers? 1 // FIXME: This is not necessarily correct for a temporary materialized 1 // TODO: DenseMap, ... 1 // FIXME: use a more meaningful name for non csect sections. 1 // FIXME: This doesn't work if one of the later SrcRegs is equal to an 2 // FIXME: For now, we always block the optimization over SP in windows 2 // TODO: Support typed and custom event rendering on Chrome Trace Viewer. 1 // FIXME: Fix cases when getTypeAsWritten returns null inside clang AST, 1 // TODO: Move this out to a header file: 1 // TODO: If only the resource is a VGPR, it may be better to execute the 1 // TODO: conflict checks with explicitly determined DSA 1 static constexpr unsigned UNBOUNDED = UINT_MAX; // FIXME c++17 inline 1 /* TODO: Check punctuation for various platforms here */ 1 // FIXME: This should use llvm::cl subcommands, but it isn't currently 1 // TODO: Expand to handle regions. 1 // TODO: Handle the overflow case. 1 /* TODO: How do we get rid of this? */ 1 // FIXME: Keep these here for now in case we decide soon that we 1 // FIXME: If this operand is a MetadataAsValue (wrapping a LocalAsMetadata) 1 // TODO: Someday, support output to files instead of just directly to 1 // FIXME: Yet another place we really should bypass this when 1 // FIXME: Should we provide it as an API, so that all checkers could use it? 1 // TODO: Implement these as intrinsics, so the backend can work its magic on 1 // FIXME: This doesn't introduce new instructions and belongs in 1 // TODO: If we see testcase with multiple ExitingBlocks can be deleted 1 // TODO: Currently VPUsers are used in VPBlockBase, but in the future the 1 // FIXME: Implement in aarch64? 1 // FIXME: consider mid-sentence Capitalization? 1 // FIXME: Remove this when we fully remove the deprecated flags. 1 // FIXME: check for mem op safety and legality of the types. Not all of 1 /// TODO: Handle CallInsts, which are only checked for function type 1 // FIXME: we should not allow any duplicate keys, but there are 1 // TODO: Reciprocal estimate codegen options should apply to instructions? 1 // FIXME: This is a hack so that we can override the preamble file during 1 // FIXME: dsymutil-classic compat: We should bail out here if we 1 // TODO: We don't currently have any tests that exercise this code path. 1 // now, just assume such a call initializes all variables. FIXME: Only 1 // FIXME: Merge with CompilerInstance::ExecuteAction. 1 // FIXME: This is just a wrapper around throwing an exception. 1 if (Seen.count(FD)) // FIXME: Z3 sometimes returns twice the same object. 1 // TODO: Coarray intrinsic functions 1 // FIXME: We should have pretty printers per language. Currently we print 1 // TODO: Remove this work-around after fixing the scheduler and enable the 1 // FIXME: Support Objective-C method extraction. 1 // FIXME: Only add live functions. 1 /* TODO the above breaks the requirement that if we run out of resources, 1 // TODO: This can go to DRR when GPU return has operands. 1 // TODO: remove this once tests implicitly requiring basic-aa use -passes= and 1 // TODO: structure this as an analysis pass, cache the result for subloops, 1 // TODO: Support constant in ISel. 1 // FIXME: recurse into unconditional predecessors? 1 // TODO: The dominator check is too strict 1 // TODO: Should we always try to do this, even if the op is 1 // TODO: There are lots of other tricks we could apply for increasing 1 // TODO: We might want to insert a new base object relocate and gep off 1 // FIXME This if branch covers the cases where the column is not 1 // FIXME: What about other targets? 1 // TODO : get a better message. 1 // FIXME: cannot just call dump() on the argument, as that doesn't specify 2 // have to take. FIXME: Can we just name the blocks? 1 // FIXME: We should avoid this pattern of getting the ASTContext. 1 // TODO: Expand to allow for documenting templating and default args. 1 // FIXME: Set CXX-structors flag. 1 // FIXME: If this happens due to an undeclared identifier, treat it as 1 /*FIXME:ConstructLoc*/ SourceLocation(), ToType, 1 // FIXME: Try add with register operand? 1 /// outer loop vectorization is a TODO item. 1 // TODO: Add support for clauses. 1 // FIXME: Make the type of the result buffer correct instead of 4 // FIXME: This constraint is to catch bitfield insertion we may 1 // FIXME: we should be using the tuple of classes for instructions in the 1 // FIXME: Use the string offset table with Dwarf 5. 1 // FIXME: Move this out into *libcdep.cpp 1 // TODO: Enable half precision when ldexp is implemented. 1 // TODO: We could refine this to captured pointers that could possibly be 1 // TODO: lck_mtx_alloc_init(2 arguments) => returns the mutex. 1 // FIXME: Using a dummy value will interact poorly with attribute enable_if. 1 // TODO: This is encoded as a 64-bit element, but only 16 or 32-bits are 1 // FIXME: Call the moduleImport callback? 1 // TODO: Expand with known bits. 1 !T.hasUCN()) { // FIXME: support needsCleaning and hasUCN cases. 1 // FIXME: Can we eleminate these in favour of generic code? 1 // FIXME: check whether all uses of the base pointer are constant PtrAdds. 1 // TODO: Extract AvailableAttrs from AttributeSetNode and store them here. 1 // FIXME: consider batching the requests for all diagnostics. 1 // FIXME: Clang includes the location of the ';' but only for DeclStmt's 1 // FIXME: The copy needs to have the classes constrained for its operands. 1 // TODO: handle O64 ABI 1 // TODO: add env var for file output 1 // TODO: We don't have type information about the remaining arguments, because 1 // TODO: Here is a huge amount duplicate code between the module inliner and 1 // TODO: Simplify preds to not branch here if possible! 1 // FIXME: In C++, enum types are never integer types. 3 @]]end // FIXME: Why doesn't this include the 'end'? 1 // FIXME: reallocate the buffer instead of truncating the message. 1 // FIXME: We lose macro args info with delayed callback. 1 // TODO: REAL/COMPLEX(2 & 3) 2 // FIXME: add support for other types. 1 // FIXME: Zen 3 support branch fusion for OR/XOR. 2 // FIXME: Support vector pointer GEPs. 1 /// FIXME: comparing each element of the old and new MaxPressure vectors here is 1 // FIXME: this needs reimplementation after the TargetParser rewrite 1 // FIXME: Take care of library symbols from the global namespace. 1 response.PutHex64(Size); // TODO: replace with Host::GetSyswideErrorCode() 1 // TODO: Generalize utilities so that producer-consumer and sibling fusion 1 // FIXME: Overaligned static allocas should be grouped into 1 // FIXME: Make sure that the "to" context supports C++17! 1 // FIXME: This is checking that our DynamicTypeInfo is at least as good as 1 // FIXME: Ignore result? 1 /// TODO: kill flags 1 // TODO: ORE should be improved to show more accurate information when an 1 // FIXME: This is unnecessarily restrictive. We should be able to remove 1 // TODO: find better place for this 1 /// TODO: Do we need a mode where all bits must be set when merging down? 1 // TODO: Privatization not implemented yet 1 // FIXME: assert? 1 # FIXME: Find nicer way to prohibit this. 1 // FIXME: This is due to clang 3.3 (or older version) always checks for the 1 // TODO: add ".cloned" suffix to name of Clone's VPValue. 1 // TODO: use the function scope once we have call site AAReturnedValues. 4 // TODO: Is there a way to get a program-wide unique name for a 1 // TODO: Handle region side effects properly. 2 // FIXME: Merge points from several runs (latency and uops). 1 # FIXME: Rather than just getting the version, we should have clang 1 const double *__a) { // TODO: placeholder until OCML adds support. 1 // FIXME: add support for when SizeOp1 isn't an exact multiple of 1 // FIXME: when we see a config file change event, use the event timestamp? 1 // FIXME: speed up this search, e.g. by using a results cache for repeated 1 // FIXME: Add `StorageLocation` for `this`. 1 // FIXME: Remove these and use the ObjCContainerDecl/DeclContext. 1 // FIXME: Remove the defined-in-system-headers check. clang's limits.h 1 // FIXME This is fixing some even uglier behavior but we 1 // FIXME: As a performance hack, don't add such decls into the translation 1 /// TODO: Unique constraints for adaptors. However, most Adaptor::verify 1 // TODO: The statement may be null if the report was emitted before any 1 // TODO: Error on missing LC_SYMTAB? 1 // load/select idiom. TODO: use DT for context sensitive query 1 // TODO: remove this once everyone that needs a name uses FileEntryRef. 1 // FIXME: For a macro definition make sure that all expansions 1 // FIXME: This code seems to be too restrictive, we might consider 1 // TODO should we turn this into 'and' if shift is 0? Or 'shl' if we 1 // FIXME: Pick a random entry from the probe sequence to evict rather than 1 // FIXME: Transform the 'switch' into an 'if' for CaseCount == 1. 1 // FIXME: Handle LazyCompoundVals? 1 /// FIXME: there's no indication which result references which symbol. 1 // FIXME: MSAsmStmt 1 // TODO: Move to InstSimplify? 2 // FIXME: The standalone executor is currently just a wrapper of `ClangTool`. 1 // TODO: How should this work with address space casts? We currently just drop 1 // FIXME: Have getSymbol should return the actual address and the client 1 // FIXME: This isn't required by the normative wording, but substitution 1 // FIXME: CompoundLiteralExpr 1 // FIXME: These expressions should be parsed in a potentially potentially 1 // FIXME: We should have just one way of saying "no register". 1 // FIXME: Do we need to handle promotions? 2 /// TODO Add TLS support 1 // FIXME: could also rely on ConstantRange. 1 // FIXME: there is no way to have a per-spelling category for the attribute 1 // FIXME: For complex operands with custom decoders we can't handle tied 1 // FIXME: insertvalue 1 // FIXME: it would be nice to dump template parameters and specializations 1 // TODO: The ordering change follows MSan. It is possible not to change 2 // FIXME: Support more complex range-expressions. 1 // TODO: SVE is not supported yet. 1 // FIXME: error check symbolIdx 1 // TODO: we may not want to eagerly load here. 1 // FIXME: dumping the tokens may leak sensitive code into bug reports. 1 // FIXME: Compatibility shim 1 // FIXME: Introduce a second, default-ignored warning for this case? 1 // FIXME: The u32 versions currently selected use the carry. 1 // FIXME: Page states are different on Windows, so using the same interface 1 // FIXME: Restore this code when we re-enable verification in verifyAnalysis 1 // FIXME: This is a dirty hack. The problem is that 1 // FIXME: Just look up as a function for now. Overly simple of course. 2 // FIXME: horrible hack to get around the fact that Cortex-A7 is only an 1 /* TODO: Temporary for compatibility! */ 1 // FIXME: This should be in the pass manager. 1 // TODO: Inspect and cache more complex instructions. 1 // FIXME: Any other bits we need to merge? 1 // FIXME: ArgLocs[++i] may extend beyond ArgLocs.size() 1 // TODO: Handle ANY_EXTEND? 1 // FIXME: This is wrong in the case where the previous declaration is not 1 // FIXME: Remove this method impl (as well as the decl in .h) once it is no 1 // FIXME: Attempt typo-correction? 1 // FIXME: Can we do this during lowering/combine. 1 // TODO: add other combined directives in topological order. 1 // FIXME: Warn when this flag trumps some other PIC or PIE flag. 1 CMK_At), // FIXME: improve source fidelity. 1 // TODO: Handle (Options.HandleXfsz) 1 // TODO: Visit array new and mallocs for arrays. 1 // FIXME: The implementation can be extended to work with more complicated 1 // FIXME: Move declaration below bar to make it visible. 1 // TODO: support frameID. Currently 1 // FIXME: when inserting multiple #includes at the end of code, only one 1 // TODO: Implement accessor to `DecltypeNameSpecifier` inner 1 // FIXME: We need an in-memory type representation. 2 // TODO: be very loud about it or even consider failing the pass. 1 // TODO: We don't need to reset this between subsequent functions, 2 // FIXME: Deal with cases where there are multiple unresolved header 1 // FIXME: check whether evaluating default arguments can throw. 1 // FIXME: we don't inline callbr yet. 1 // TODO: We could propagate nsz/ninf from fdiv alone? 1 // TODO: This could be handled be erasing some of the duplicate incoming 1 /// TODO: Add link to the leglization document explaining this. 1 consumeError(std::move(Err)); // FIXME this drops errors on the floor. 2 // FIXME: We could support these constructs by importing a different type of 1 // FIXME: Move to target hook. 1 // TODO: add an accessor for the "static" keyword. 1 // FIXME: Calculate the negated Known bits and combine them? 1 // FIXME: should the GVExtractionPass handle this? 1 PRE_SYSCALL(compat_43_oquota)(void) { /* TODO */ } 1 /// FIXME: Should IgnoreImplicit do this? 1 // FIXME: Do some performance optimization in general and 1 // FIXME: PragmaPushMacroInfo? 1 // FIXME: define __FAST_MATH__ 1 if -ffast-math is enabled 1 // FIXME: NVVMIntrRangePass is causing numerical discrepancies, 1 /// FIXME: When the loop optimizer is more mature, separate this out to a new 1 // FIXME: make this a template function to support any type 1 // TODO: This should use getter method to avoid duplication. 1 // FIXME: Reinterpret casts on member-pointers are not handled properly by 1 // TODO: We could add lohi.i2d. 1 // TODO: The cost model has an option for a "broadcast" shuffle 1 // TODO: This raises an error of "No current context" currently. 1 // FIXME: This mangles 0 cast to a pointer the same as a null pointer, 1 // FIXME: We can actually create an abstract "CFNumber" object that has 1 // TODO: Should we try to look for neg/abs here? 1 // FIXME: Currently we are using an extent symbol here, 1 // FIXME: handle blocks, which have no name. 1 // TODO: TiledOpInterface 1 // TODO Fix FindFunctions so that it doesn't return 1 // TODO - investigate calling SimplifyDemandedBits/ComputeKnownBits? 1 // FIXME: lli aims to provide both, RuntimeDyld and JITLink, as the dynamic 1 // FIXME: Factor out the duplicated instantiation context setup/tear down 1 // FIXME: We should really handle this differently to bypass the splitting 1 // uninitialized'. FIXME: Can this happen? 1 // FIXME: Provide proper call frame setup / destroy opcodes. 1 // FIXME start by finding the last region that is <= target address using 3 // FIXME: Handle version numbers. 1 // FIXME: Once we get to more remarks like this one, we need to re-evaluate how 1 // FIXME: Should we support undefs that gain defs? 1 // FIXME: If there are multibyte or multi-column characters in the source, all 1 // TODO: Requirements when second argument is +0./0. 1 // FIXME: Why doesn't this check for a subprogram or lexical block (AFAICT 1 DebugLoc dl; // FIXME: this is nowhere 1 // FIXME: Should we interchange when we have a constant condition? 1 // TODO: SoftFP support. 1 // FIXME: for some tweaks, computing the edits is cheap and we could send them 1 // FIXME: improve error handling 1 // FIXME: TableGen this. 7 // FIXME: Check if we may use even more compact size class map for internal 1 // FIXME: Remove this code as soon as GDB supports this. 1 // TODO: We should handle this. 1 // FIXME: Consider using finalOutput instead of outputFile. 1 // FIXME: We start with a conservative approach here, but the actual type of 1 # FIXME: 2 // FIXME: We could probably support this for statement expressions that 1 PRE_SYSCALL(compat_60_sa_preempt)(long long sa_id_) { /* TODO */ } 1 // FIXME: 16 bit instructions are not handled yet here. 1 case AVR::LDDWRdYQ: //: FIXME: remove this once PR13375 gets fixed 1 // FIXME: We should treat implicitly zero-initialized _Nonnull locals as 1 // TODO: Try to avoid meaningless accesses. 1 // FIXME: The N64 ABI probably ought to use DW_EH_PE_sdata8 but we can't 1 // TODO: This should propagate the error instead of exiting. 3 // FIXME: Add dead flags for physical and virtual registers defined. 1 // FIXME: This needs to change if we wish to bundle labels / dbg_values 1 // FIXME: Should we allow available_externally aliases? 1 // TODO: If we had an interface to detect pass through operands, we could 1 // TODO: It would be better to just directly handle those optimizations here. 1 // FIXME: Only calculate this if CanBreakBefore is true once static 1 // FIXME: It is also possible that if we're allowed to use all of the memory 1 // correctly. TODO: Remove this restriction. 1 // FIXME: The below assumes PIC relocation model and that the function 1 // FIXME: Real PHIs could be if-converted as long as the CmpBB values are 1 // FIXME: If chains of copies are to be handled, this should be a vector. 1 // FIXME: This duplicates the check performed for warn_not_in_enum below. 1 // FIXME: size and attributes 1 // FIXME: We can memoize here if this gets too expensive. 1 u64 data_type_id; // TODO: hash of type name 2 // TODO: Consider skipping this step and deferring the 1 // TODO: In OpenMP 5.1 generate multiple directives based upon the matches 1 // TODO: This misses out on the sanitizer check below. 2 // TODO: check whether __simd_first() can be used here 1 // TODO: Match op_sel through g_build_vector_trunc and g_shuffle_vector. 1 // TODO add utility passes for the various command line options, once they're 1 // FIXME: Parse the MCSymbol machine operand. 1 // FIXME: The proper thing to do is to really iterate over the 1 // TODO: Expand the check to include `LOOP` construct as well when it is 3 // FIXME: Add other PDB search options (_NT_SYMBOL_PATH, symsrv) 1 // FIXME: No need to do this if the ultimate user expects an FPR64. 1 // TODO: Use match with a specific FP value, so these work with vectors with 1 /// TODO: Avoid hardcoding vector/tensor, and generalize this trait to a new 1 // TODO: Add division normalization to support divisions that differ by 1 // FIXME: Is the qualifier info correct? 1 # FIXME: If we add -Wl,-z,nodelete to the global ldflags, we need to remove 1 // FIXME: Model these properly. LOAD and STORE are complicated, and 1 // TODO: there can be many reasons a loop is not considered a 1 // TODO refactor RVVIntrinsic class design after support all intrinsic 1 // TODO: Add a handler for SIGUSER1-type signals so the user can 1 # FIXME: -DLLVM_ENABLE_LLD=ON and -DLLVM_ENABLE_PROJECTS without lld case. 1 // FIXME: If we get a simulator or machine with the capabilities of 1 // TODO: Factor out code common with LowerSINT_TO_FP. 1 // FIXME: We currently consider unlikely blocks to be half as likely as other 1 // FIXME: Revisit this once core issue 1488 is resolved. 1 // TODO: May need to reserve a VGPR if doing LDS spilling. 1 // TODO: atm all operands go through getElementTypeOrSelf, 1 // TODO: set entry and exit! 1 // TODO: handle dynamic dim sizes. 1 // FIXME: This is a workaround to ensure that the correct checerk name is 1 // FIXME: We should support this by sinking the GEP. 1 // FIXME: Do we need a distinct NarrowMemory legalize action? 1 // FIXME: Do we need to handle ObjCMethodDecl? 1 // TODO: Handle interblock similarity. 2 // TODO: Should we try to process out the other defs now? If the other 1 // FIXME: Overly conservative, termination condition could be an 'or' etc.. 1 // FIXME: Resolve core issue (no number yet): if the original P is a 1 // TODO: relax to multi-operands with constants, which are technically unary ops 1 // FIXME: What should be reported here? 1 // FIXME: getStmtForDiagnostics() does nasty things in order to provide 1 // FIXME: Until PR27449 (https://llvm.org/bugs/show_bug.cgi?id=27449) is 1 // FIXME: this code should move when a planned refactoring around statement 1 // TODO: support variables that are located in spill slots, with non-zero 1 // TODO: Should we distinguish this with an "interrupted error"? 1 // TODO: Make this complete and replace with a table-gen bit. 1 /// FIXME: Write a short description. 1 // FIXME: Preserve the aliased namespace as written. 1 // helper functions. FIXME: Eliminate. 1 // FIXME: The next token will not have LeadingSpace set. 1 // FIXME: Make a copy of the TypeLoc data here, so that we can 1 // FIXME: We definitely want to re-use the existing MemoryBuffer, rather 1 // FIXME: We may change this at some point. 1 // FIXME: This is just an optimization hack to avoid deserializing large parts 1 // FIXME: DiagnoseUseOfDecl? 1 // FIXME: Implement MS style inline asm statement profiler. 1 case BuiltinType::Ibm128: // FIXME: Need separate tag 1 // TODO: output error somehow (maybe message box) 2 /// FIXME: Remove this once OrigEntry is a FileEntryRef with a stable name. 1 // FIXME: Unify this with code below. 1 // FIXME: We may add to the interface of evalAssume the list of symbols 1 // FIXME: getStmtForDiagnostics() does nasty things in order to provide 1 /// FIXME: Find a way to remove it. 1 // TODO: faster memcpy? 1 // FIXME: Override "preferred align" for double and long long. 1 // FIXME: This can find a module not part of ModuleName, which is 1 // FIXME: this function should have "Cold" calling conv, 1 // FIXME: Add TCP support for Windows. 2 // FIXME: Here is a neat trick we can do: since both ReachSet and MemSet holds 1 // FIXME: The annoying part about compound values is that they don't carry 1 // FIXME: Properly determine whether a variably-modified type can throw. 3 // FIXME: TestResultForARC 1 // FIXME: This does not include the array filler expression. 1 PRE_SYSCALL(compat_50_lutimes)(void *path_, void *tptr_) { /* TODO */ } 1 // FIXME: This assumes one cycle benefit for every pipeline forwarding. 1 // FIXME: Indicate target frame in foreign case! 1 // FIXME: This probably came from a copy from a physical register, which 1 // FIXME: Handle widened to power of 2 results better. This ends 1 /// TODO: use interfaces, side-effects and aliasing analysis as appropriate, 2 // TODO: https://github.com/WebAssembly/tool-conventions/issues/138 1 // TODO: Is the offset allowed to be a scalar with a vector? 1 // FIXME: Inter-procedural analysis will need to handle invalid CFGs. 1 // TODO: Support other types such as StructTyID, ArrayTyID, OpaqueTyID, etc. 2 // FIXME: Per comments in rdar://6320065, "create" only applies to CF 1 // FIXME: Don't print any lines in this case. 1 // FIXME: Add support for signature help inside initializer lists. 1 // FIXME: This should be based on Arch attributes, not CPU names. 1 // FIXME: This should be in CompilationInfo. 2 // FIXME: Clean this up after splitting each Thumb load / store opcode 1 // FIXME: We can emit a "fix-it" with a subject list placeholder when 1 // TODO: Generate nothing directive from OpenMP 5.1. 1 // FIXME: Maybe want to find the line closest before and the line closest 1 // TODO: Handle both G_BUILD_VECTOR and G_BUILD_VECTOR_TRUNC We could 1 // TODO: Handle more cost kinds. 1 // FIXME: In the long term the verifier should not be controllable with a 1 "TODO: Only block statements can be copied by the vector block " 1 // TODO: These are soft deprecated in favor of the 'add' methods above. 1 // TODO: Refine this. This should avoid cases like turning constant memcpy sizes 1 // FIXME: remove unnecessary duplicated identity patterns below. 1 // FIXME: String literal breaking is currently disabled for C#, Java, Json 1 // FIXME: Thumb variants? 2 /// TODO: This could be extended to handle non-splat vector integer constants. 1 /// FIXME: This class is named LazyCallGraph in a lame attempt to distinguish 1 // FIXME: Report this to dbgs() only once per function. 1 // FIXME: We won't be able to fix include if the specifier is what we 1 // FIXME: For other platforms, we need to use scattered relocations for 1 // TODO: add recursion if returned attribute is present 1 // TODO: Could support comparing with non-zero too. 1 // TODO: For f32 use FMAD instead if !hasFastFMA32? 1 // TODO: Support accesses to members of base classes in TBAA. For now, we 1 // FIXME: This diagnostics are preliminary. We should get far better 1 // TODO When the next case has a likelihood attribute the code returns to the 1 /* FIXME: According to Richard Smith this is a bug in the AST. 1 // FIXME: Make this use its own ContinuationBuilder so that 1 // TODO: Instead of duplicating the checks, we could also just directly 1 // TODO: Form a whole lexer around this and relex the token! For now, just 1 // FIXME: Don't rely on source text. 1 // FIXME: Is this really needed? Is this a correctness issue? 1 // FIXME: This isn't right for vectors with non-byte-sized or 1 /// TODO: This could probably live somewhere more prominantly if it doesn't 1 // FIXME: Should we disambiguate against a message-send? 1 // FIXME: We can probably do better than always disabling this in 1 /// TODO: requires-clause 1 // FIXME: This would require popping from the stack, so we would have to 1 // FIXME: Should this be here or in individual combiner passes. 1 /// FIXME: Can we store a location within the on-disk hash table instead of 1 // Possible TODO: Allow requiring the negative (e.g. VRegsAllocated could be 1 // FIXME: Pattern should not reach here. 1 // TODO: Improve this heuristic to catch more cases. 1 // FIXME: check whether it has a valuerange that excludes zero? 1 /// FIXME: Try to replace this propagation heuristic with a scheme 1 // TODO: Print something reasonable for a TypoExpr, if necessary. 1 /// FIXME: This may return incorrect results for (submodules of) the 1 // TODO: We can add other conversions e.g. shr => div etc. 1 // FIXME: We should track this in some way for source fidelity. 1 // FIXME: Simplify printing and remove copying here. 1 // FIXME: This is wrong, it's possible that some pack elements are 1 // FIXME: Drop attributes in function signature. 1 // TODO: remove implementation restriction 2 // FIXME: This should have already been handled by the memory legalizer. 1 // TODO copy propagation. 1 // TODO: 1) Scalarize splat operands, 2) scalarize entire instruction if 1 // TODO: This flag no longer serves a purpose and can be removed later 1 error("TODO: support symbols of type " + std::to_string(type)); 1 // TODO: check for vector(splat) shift amount. 1 /// TODO: This class could be generalized to know about other ObjC-specific 1 // FIXME: Fix ParseTemplateParameterList to better handle nullptr results 1 // FIXME: add PDT here once simplifycfg is ready. 1 // FIXME: Currently ELF only! 1 // HACK + FIXME: What is this? One could only guess that this is an attempt to 1 // FIXME: if we non-lazily instantiated non-dependent default args for 1 // TODO: Support other operations. 1 // TODO: track globally. 1 // FIXME: handle 32-bit mode 1 // FIXME: We should track this in OriginalCallArgs so we don't need to 1 // TODO: don't use atomic ref counters for stack-allocated nodes. 1 // FIXME: Pass SuggestedModule in here rather than converting it to a path 1 // FIXME: Should we allow ObjC conversions here? 1 // FIXME: We can promote this to an error. The function or variable can't 1 // FIXME: This assert should hold if we computed the column correctly. 1 // FIXME: SplitEdge does not yet take a DTU, so we include the split edge 1 // FIXME: Cloning isn't correct in the presence of indirect goto! 1 __kmp_acquire_hle_lock(lck, gtid); // TODO: add checks 1 // FIXME: Support module partition declarations. 1 // FIXME - don't know how to do 80 bit long doubles yet. 3 using AnyArgExpr::AnyArgExpr; // FIXME: Remove using in C++17. 1 // FIXME: vector types should also be expanded 1 // TODO: warn about this? 1 // TODO: verify which decl context we should put template_param_decls into.. 1 // FIXME: These tests do not depend on AArch64 specifically, but we have to 2 // FIXME: This should move to the ARMSubtarget when it supports all the opcodes. 1 1 // TODO: The device ID used here is not the real device ID used by OpenMP. 1 // TODO: Graph based predicate heuristics. 1 // FIXME: Correctly support promotions/truncations. 1 // FIXME: Add a note to explain why this isn't a VLA. 1 // FIXME: This could be made more efficient by tracking which exit blocks are 1 CMK_At) // FIXME: improve source fidelity. 1 // TODO: Replace this with TypeAndOrName. 1 // TODO: replace with a fold expression when migrating to C++17. 1 // FIXME: We cannot use stdin for an update because stdin will be 1 // TODO: This is unnecessary when there's no destructor, but that's 1 // TODO: Even if the callee is not known now we might be able to simplify 1 // TODO: Needs some refactoring, as all other deallocation modeling 1 # TODO: This class layering is awkward. 1 // FIXME: Replace this special casing with a more accurate modelling of 1 // TODO: investigate lowering order impact on performance 1 /// FIXME: We use EM_CurrentCodePage to write response files for GNU tools in 1 // TODO FMT This function duplicates some functionality of the normal 1 // FIXME: Doesn't work? return P.getAs< void >(); 1 // FIXME: always return nullptr once Verifier::verifyDominatesUse() 1 // FIXME: Although this would also be legal for the general case, it causes 1 /// TODO: In the future we may want to extent this to make the checks 1 // FIXME: Dummy target independent passes definitions that have not yet been 1 // TODO: We should look into sharing module based search filters 2 // TODO Consider a more generalized way of handling block (and also loop and 1 // TODO: Serialize the various register masks. 1 // FIXME: We *could* preserve the lowest fragment of a constant offset 1 // FIXME: Shall we simultaneously invalidate AvailSrc or AvailDef? 1 // TODO: Extend to handle corresponding sext/signed-cmp case 1 // FIXME: When we can selectively preserve passes, preserve the domtree. 1 // TODO: This only checks for a LoadInst->GetElementPtrInst->LoadInst 1 // TODO: For results that are removable, e.g. for region based control flow, 2 // FIXME: Implement confidence levels for displaying/fixing errors. 1 // sleep(5); // FIXME: simplify measuring the memory usage. 2 // FIXME: This recomputes the layout of the BlockByRefWrapper. 1 // TODO: Detect: BRAA, BRAAZ, BRAB, BRABZ (Branch to Register, with pointer 1 // FIXME: Hide this behind some API in e.g. MCAsmInfo or MCTargetStreamer. 1 // FIXME: Make `decltype(x)` a child of `MemberExpression`. It is currently 1 // TODO: If we know we visited all incoming values, thus no are assumed 2 // FIXME: nothing is illegal in a ds_write2 opcode with two AGPR data 1 // FIXME: We should also canonicalize loads of vectors when their elements are 1 // FIXME: THREADING will delete values that are just used to compute the 1 // FIXME: We should merge AddAlignmentAttributesForRecord with 1 // TODO: Conservatively intersecting FMF. If Res == C2, the transform 1 // FIXME: This bug correspond to CWE-466. Eventually we should have bug 1 // TODO: specialize for the actual target architecture 1 // FIXME: Update the remaining docs to use the new proposal wording. 1 // FIXME: I don't understand why gcc generates this, or where it is 2 /// TODO: we can generate a GEP instead of merging the alignment with 1 // TODO: Make 'removeIdRange' a lambda called from here. 1 // TODO: specialized warning on null receivers? 1 // TODO: Use the ScopArrayInfo once available here. 1 // FIXME: use std::apply when C++17 is allowed. 1 // TODO: Build `SimpleTemplateNameSpecifier` children and implement 1 // FIXME: This is a hack but it's sufficient for ISel. We'll need to do 1 // TODO: Use std::apply when LLVM starts using C++17. 1 // FIXME: figure out how to handle it when there are multiple parents. 2 // FIXME: This violates the column limit. 1 // FIXME: We should probably cleanup the result by default as well. 1 // FIXME: the heuristic relies on naming style (i.e. no underscore in 1 // TODO: This function has to be fixed for beqz16 and bnez16, because it 1 // FIXME: This is slightly wrong. An inline_subroutine without a 1 // FIXME: This does not find the VLA if it is embedded in other types, 1 // TODO: the break below was missing, was this intentional??? If so 1 // TODO: make is ND/1D to allow generic ND->1D->MD. 1 // TODO: Allow FP dest type by casting the trunc to FP? 1 // FIXME: revisit how SampleProfileLoad/Inliner/ICP is structured. 1 // Initialize implicit arguments. TODO: Which of these can be dropped 1 // FIXME: Make this test work on Windows by generating the expected syntax 1 // TODO: This could be done in instsimplify. 2 // FIXME: Assume that every profile is FULL until we understand how to build 1 // FIXME: We should do the same for efficiency and space. 1 PRE_SYSCALL(compat_30_fhopen)(void *fhp_, long long flags_) { /* TODO */ } 1 // FIXME: the usability of the Query API needs to be improved to avoid 1 // FIXME: TableGen these. 1 // FIXME: The heuristic used below for determining hotness is based on 1 // TODO: This can be generalized to compares of non-signbits using 1 /// FIXME: Find a way to stick this in the constructor, since it should only 1 // FIXME: Only keep track of IsPicEnabled in one place, instead of in both 1 // FIXME: lift this restriction. 1 // FIXME: Add handling for instructions like "add x0, sp, #8". 1 (... && IsSpecificIntrinsicType)); // TODO derived types for MERGE? 1 // FIXME: This is not always needed. For example, it is not needed in the 1 DEF_TRAVERSE_DECL(ObjCCategoryDecl, {// FIXME: implement 1 // TODO: Move to ConstantFolding/InstSimplify? 2 // TODO: Generalize and move to DAGCombiner 1 /// TODO: RunPreprocessor, EmitLLVM, EmitLLVMOnly, 1 // TODO: Support non-splat vectors. 1 // FIXME: Maybe this should be on by default when Mips16 is specified 1 // TODO: Expand this into a covered switch. There is a lot more here. 1 // FIXME: The big likely candidate here are PHI nodes. We could in theory 1 // TODO: Should we emit bounds checks with SanitizerKind::ArrayBounds? 1 // FIXME: We may still need to deduce parts of the type here! But we 1 // TODO: This is a poor/cheap way to determine dominance. Should we use a 1 // TODO - bigendian once we have test coverage. 2 // FIXME: GetAbsDifference tries to compute the length of the function 1 // TODO: tune vector-to-scalar cast. 1 // FIXME: a break in a switch should terminate regions for all preceding 1 // TODO: can we choose better default heuristic? 1 // TODO: since the llvm.experimental.vector.{insert,extract} intrinsics 1 // TODO: This might result in a widen/split loop. 1 // FIXME: This is pretty complicated. It's also inconsistent with how 1 /// FIXME: could also be a template-id 1 // TODO: remove this workaround when PR33518 is resolved. 2 // TODO: this need to be updated to use the control-flow interface. 1 // FIXME: If we ever support comma expressions as operands to 1 // TODO: only do this uniquing once, at the start of instantiation. 1 // FIXME: We need to emit separate EH tables for cleanups. 1 // FIXME: This creates arrays of GEPs to constant strings, which means each 1 // FIXME: We only do this after checking for min/max to prevent infinite 1 // FIXME: OpenCL / NEON 'half' type. LLVM can't lower the conversion 1 // TODO: it would be nice if we printed enums as enums, chars as 1 // TODO: Get this to work. (Maybe combine with earlier instance?) 2 // FIXME: This does not use the nice trait macros because it must be accessible 1 // FIXME: It would be really good to use a loop-integrated instruction 3 // TODO: Support other combinations of base classes and fields. 1 // FIXME: This is a heuristic, its worth investigating the tradeoffs 1 // FIXME: Is this actually dangerous as WritingAnLLVMPass.html claims? Seems 1 /// TODO infer argument size to create less switch cases 1 // FIXME: Add a FixItHint that imports the corresponding module. 1 // FIXME: The mnemonic won't match correctly if its not in lower case. 1 // TODO: Support InvertCondition case? 1 // TODO: do not expose the TableGen record, this is a temporary solution to 1 // FIXME: min/max should be by value. 1 // FIXME: Ensure we don't get here for explicit instantiations. 1 // FIXME: We only need to fake up an input file here as a way of 1 // TODO: Add support for lookup tables with multiple uses. 1 // TODO: We only target functions with profile data. Static information may 1 // FIXME: This logic is meant to generate exactly the same output as 1 // FIXME: Target specific behavior about how the "extra" bytes are filled. 1 // FIXME: Consider passing in the two function addresses and getting 1 // FIXME: It's valid to use N32/N64 on a mips/mipsel triple but the backend 1 // FIXME Is this correct? What do inline immediates do on SI for f16 src 1 // FIXME: This could lead to an infinite split/widen loop. We only handle the 1 // FIXME: catchret 1 // FIXME: implement the other tricky cases 1 // TODO: Use generic lowering when custom lowering is not possible. 1 // FIXME: is this necessary? 1 // FIXME: We end up faking the "parent" declaration here because we 1 // FIXME: This option is only to test if the strict fp operation processed 1 // FIXME: Create "cld" instruction only in these cases: 1 // TODO: extend the pass to other vector load/store operations 1 // TODO: Portability. 1 // TODO: The types, OperandType and SSAUseInfo, both share the same members 1 /// TODO: Consider making this not a child of Node. 1 /// FIXME: "Transactional" rewrites support should be baked in the Rewriter. 1 // FIXME: Try to handle cases when the implementation was inlined rather 1 // TODO: bool parameters are not readable and a source of bugs. 1 // FIXME: We only support naming one range for now! 1 // FIXME: Make sure that the "to" context supports C++11! 1 // TODO: grovel through /proc or check cpuid on x86 and similar 1 // TODO: check whether double-buffering is even necessary. 1 // FIXME: Is bailing out early correct here? Should we instead assume that 1 // FIXME: Should the following isa be DILexicalBlock? 1 /// FIXME: This functionality should probably be made available by 1 // TODO: The binary annotations 1 // TODO: Add parsing for \file command. 1 // FIXME: The current MachineInstr design does not support relying on machine 1 // TODO: When D is a CXXRecordDecl or a C++ Enum, the ODR applies 1 // TODO fix this and add a testcase that depends on it. 1 // FIXME: We should probably add this (and the __stack_chk_guard) via some 1 // TODO: Should this propagate fast-math-flags? 1 // FIXME: make RAV call WalkUpFrom* instead. 1 // TODO: Possible special processing needed to detect it is related to a 1 /// TODO: Part of supporting Fortran 2003 procedure pointers. 3 // TODO: Allow non-icmp loop test. 1 // TODO: SelectionDAG has several alternative expansions to port which may 1 // FIXME: If we only have SGPR spills, we won't actually be using scratch 1 // FIXME: Should we walk Ids? 1 // FIXME: FileOffset in MapViewOfFile() should be aligned to not dwPageSize, 1 /* Major TODO Items: 1 // FIXME: change the internal representation to use a `std::variant`, once 1 // TODO: Maybe we shouldn't reverse the order during insertion. 1 // AC: TODO: probably remove TRAPEZOIDAL (OMP 3.0 does not allow it) 1 // TODO: This should in reality traverse the entry function 1 // FIXME: Better recovery here?. 1 // FIXME: parameters such as this should not be hardcoded. 1 // TODO: make this show up better in the console output and in 1 // FIXME: Handle partially overlapping fragments. See 1 // FIXME: LiveVariables should not be necessary here! 1 /// TODO: Check execution resources in addition to IssueCount. 1 // FIXME: In some cases, we know that every name that could be found by 1 // TODO: Model this case as 2 shuffles or a 'logical and' plus shuffle? 1 // FIXME: need target specific adjustment here? 1 // TODO: move ParsingClassDefinition here. 1 // FIXME: It would be nice if we didn't have to loop here! 1 // FIXME: We don't modify all references to function parameters when 1 // FIXME: Pass a specific location for the expr init so that the store is 1 // FIXME: Should we instead have a LazySymbolCreator callback? 1 # FIXME: Without the 10ms delay, the viewport sometimes jumps. 1 // TODO: Factor out code common with LowerUINT_TO_FP. 1 // TODO: Make distinction between errors by storing the error messages. 1 // FIXME: Factor out duplication with 1 // FIXME: Why is "!Context" okay here? 1 // FIXME: This probably shouldn't mutate the original path piece. 1 // FIXME: Handle enums. 2 // TODO: Is the Parallel construct cancellable? 1 // FIXME: Skip functions with undeduced auto return type for now since we 1 // FIXME: define __OPTIMIZE__ n if -On is enabled 1 // FIXME: In principle we should probably add the instruction to NewInsts, 1 // FIXME: This can lead to an increase in IR generation because we might 1 PRE_SYSCALL(compat_20_fhstatfs)(void *fhp_, void *buf_) { /* TODO */ } 1 // TODO: Match the cases where the bound is not a concrete literal but an 1 // into reg/imm instructions. FIXME: This is expensive, control it with 1 // FIXME: document all interface functions. 1 // FIXME: need better way to detect if AsmStreamer (upstream removed 1 // FIXME: 'ConsumedSoFar' and '*' doesn't make sense. 1 // FIXME: In some cases, VLDRS can be changed to a VLD1DUPd32 which defines 1 // FIXME: Ensure that global blocks get emitted. 1 // FIXME: better error handling. For now, just print error message and skip 1 // FIXME: There should always be a Decl, otherwise the destructor call 1 // FIXME: If we would typo-correct to an invalid declaration, it's 1 // FIXME: If D is a local extern declaration, this check doesn't make sense; 1 // TODO: Currently throws a Diagnostic for anything other than -W, 1 case DeclaratorContext::ObjCResult: // FIXME: special diagnostic here? 1 // TODO: Support other encodings. 1 // TODO: Test this error. 5 // FIXME: Alternatively, try a stricter query? 1 // FIXME: It would be awesome of updateTerminator would just return rather 1 // TODO: May want to move later or split into an early and late one. 1 // FIXME: Use a custom category name to distinguish migration diagnostics. 1 // TODO: In the regular function, if that local variable in the 1 // TODO: Add one dimension? 1 // FIXME: Check whether the callee also has an "inreg" argument. 1 // FIXME: It'd be nice to also emit a fixit removing uuid(...) (and, if it's 1 // FIXME: dx10_clamp can just take the caller setting, but there seems to be 1 // FIXME: Handle C99's complex types, block pointers and Obj-C++ interface 1 const MDNode *Node = *CUs->operands().begin(); // FIXME: Multiple CUs. 1 // TODO: We could always determine abstract attributes and if sufficient 1 // TODO: This is experimental and in particular, we do not model 1 //FIXME: AR->getNoWrapFlags(SCEV::FlagNW) 1 // FIXME: Allow scalar intrinsic instructions like ADDSSrm_Int. 1 /// FIXME: This really should not be in IR. 1 // FIXME: This looks unintuitive and we should investigate whether 1 // TODO FMT Define the handle class. 1 // FIXME: This is inefficient, we shouldn't move things into newly allocated 2 // FIXME: Any branches conditional on such a comparison can be made 1 Record.push_back((unsigned)M.Kind); // FIXME: Stable encoding 1 // FIXME: These should almost certainly not be handled here, and instead 1 // FIXME: Add a test for `hasDescendant()` that does not depend on C++. 1 /// TODO: Theoretically we could check for dependencies between objc_* calls 1 /// FIXME: this should probably be split into symbol -> signals 1 // FIXME: A `file static` or `global constant` variable appears both in 1 // TODO: - Obvious non-stack loads and store, such as global values, 1 // TODO: This should index all interesting directories with dirent calls. 1 // TODO: Once we add support for other formats, we might want to split this 1 // FIXME: The missing space here may be a bug, but 1 // FIXME: Can also use 'mov hi, $src; mov $dst, hi', 1 // FIXME: we should emit semantic diagnostic when declaration 1 // FIXME: Concepts: This is an unfortunate consequence of there 1 // FIXME: We could, probably, align them to current indentation level, but 1 // TODO: Can some of this comment about GVS be removed? 1 // FIXME: add other typespec types and change this to an assert. 1 // TODO: Post-processing: Convert lea(,%reg,2) to lea(%reg,%reg), which has 1 // FIXME: this is only for directories, what about files? 1 // FIXME: The mnemonic won't match correctly if its not in lower case. 2 // FIXME: We should sanity check sizes. 1 // FIXME: Until PR27449 (https://llvm.org/bugs/show_bug.cgi?id=27449) is 1 // FIXME (Alex L): Tweak selection rules for compound statements, see: 1 // TODO: Consider dropping this. Dropping kill defs is probably not 1 // TODO: Handle vector floating point constants 2 // FIXME: evaluate codegen vs. shuffling against constant null vector. 1 // TODO: It is illegal to specify 'e' extensions with 'f' and 'd'. 1 // TODO: Handle newlines properly. We need to remove leading whitespace. 1 // FIXME: We are hard-coding the tune parameters based on the CPU, but they 1 // TODO: make this implementation more efficient. 1 // TODO: We should really distinguish between libcall availability and 1 // FIXME: This code works, but it is unclear that we actually want to insert 1 // TODO: Should we invert this and assume worst case cmp costs 1 // TODO: Implement evaluateProfileData() for samples, checking whether 1 // FIXME: Add interleave.disable metadata. This will allow 1 // FIXME: consider propagating shadow of ConvertOp, at least in the case of 1 // TODO: To allow this case, create a new shuffle mask with no undefs. 1 /// FIXME: Add a layer in Tooling that provides an interface to run a tool 1 // TODO: handle llvm.amdgcn.fma.legacy 2 // FIXME: The functionality in this file should be moved to the ORC runtime. 4 // TODO: this is really a test pass and should be moved out of dialect 1 // FIXME: pass the required alignment 1 // FIXME: Handle the case where __builtin_offsetof is not a constant. 1 // FIXME: CXXUnresolvedConstructExpr does not model list-initialization 1 // TODO: Add the CLONE_SETTLS flag and setup the TLS area correctly when 1 // FIXME: Add tests for the following error messages: 1 // FIXME: All MacroRefs are marked as Spelled now, but this should be checked. 1 // FIXME: It's valid to use O32 on a 64-bit CPU but the backend can't handle 1 // FIXME: This prints symbols that are undefined both in input files and 1 # TODO: Refactor the hierarchy internally when supporting more 1 // FIXME here we leak `NamedChain` which is allocated before 1 "FIXME: cannot name multiple result nodes yet"); 2 // FIXME: We currently only support checking if B is accessible base class 1 // FIXME: This assumes we do not continue compressing whitespace once we are 1 integer, parameter :: c_bool = 1 ! TODO: or default LOGICAL? 1 // TODO: Support interchange with tile + fuse. This might actually help do 1 // FIXME: `std::advance()` should not create a new iterator position but 1 // FIXME: Shouldn't this be a refcount or something? 1 // FIXME: Find a way to get the definitive language this file was written in 1 // TODO: If we have multiple copies to different register classes, we may want 1 // FIXME: Identify headers in a more robust way than comparing their name to 1 // FIXME: This should be based on Arch attributes, not CPU names. 1 // FIXME: this could be a transitional option, and we probably need to remove 1 // TODO: verify the default value is valid (perhaps in debug mode only). 1 // TODO: Below we basically perform a fixpoint iteration with a pessimistic 1 // FIXME: ASTContext::getInjectedClassNameType is not suitable for AST reading 1 // TODO commute the mask and try the opposite order of the halves. 1 // FIXME: when an instruction has a Killed operand, and the instruction is 1 // AC: TODO: change to print_int? (needs documentation change) 1 // FIXME: in principle up to 64-bit could be made safe, but it would be very 1 // FIXME: Provide evalCall for checkers? 1 // TODO: Populate symbol warning. 1 // FIXME: Do we need to bounds check? 1 // FIXME: We actually emit the extend right now even though we don't have 1 // FIXME Always emit the cast inst so we can differentiate between 1 // FIXME: A cast to void is probably a better suggestion in cases where it's 1 // FIXME: We shouldn't have to pass the DashX option around here 1 // FIXME: Command line flag should expose separate input/output modes. 2 // FIXME: move the computing dependency logic to ComputeDependence.h 1 // TODO: Refine on operands. 1 // TODO: Handle other cost kinds. 1 // TODO: when possible, try to print heap-use-after-free, etc. 1 // TODO: We should have undef handling for all of the FP intrinsics that 1 // FIXME: Why is this different from parseSDPatternOperatorProperties? 1 // FIXME: We don't analyze catch blocks, throw is treated the same as return. 1 // FIXME: This needs to be translated into the IR string representation. 1 // FIXME: check overflow? 1 // TODO: Support fusion of source loop nests which write to multiple 1 // FIXME: We shouldn't need to do this cast, rectify the ASTContext and 2 // FIXME: add profitable chain optimization for other kinds major cost, for 1 // FIXME: This is a bit dubious, but plain C structs should trivially meet 1 // FIXME: Arguments. 1 // FIXME: Decide how to allow/support converting a single result to multiple, 1 // TODO: Approximate in case we know the direction of the recurrence. 1 // FIXME: This loop leaks the index expressions on error. 1 // FIXME: This entire function is a giant hack to provide us with decent 1 // FIXME: It's not possible to unambiguously map a byte size to a floating 1 // FIXME: This should only happen when not compiled with -O0. 1 /// TODO: The \p Depth paramter is not yet implemented and must be 1. In the 1 /*FIXME TemplateDepth=*/0); 1 // TODO: Instead of recording the AllowedExit, it would be good to record the 1 // FIXME: Handle '@' args (or at least error on them). 1 // FIXME: This debug location doesn't make a lot of sense in the 1 // TODO: Pointer arguments are not supported on vectors of pointers yet. 1 // TODO: Check if 32-byte or greater accesses are slow too? 1 // FIXME: this assertion will be wrong if we ever add type attribute subjects. 1 // - FIXME: should it be a warning to fold into floating point? 1 // FIXME: When we implement these flags, make symbols from them GC roots: 1 /// TODO: Remove this function once the transition to Align is over. 2 // FIXME: Subclass ToolChain for SPIR and move this to addClangWarningOptions. 1 /// TODO: This is merely a stub for now as we should manage a mapping as well. 1 // FIXME: Incrementally update loop-simplify 1 /// TODO: isTailCall, sret. 1 // FIXME: Why do we not pass a CalleeDecl here? 1 // FIXME: This behaves strangely. If, for example, you have 32 load + stores, 1 // FIXME: Updated to use the PreViewCFG and behave the same as until now. 1 // FIXME: This should instead be escaped in the event we're instrumenting 1 // TODO Handle scalar operations properly. 1 // FIXME: This can be caused by bad input and should be handled as such. 1 // TODO: It's not clear that SmallVector is an appropriate data structure for 1 // TODO: add THR_OVHD_STATE 1 # TODO: Make this the default for all MLIR libraries once all libraries 1 // block. FIXME: tentative matches? 1 // FIXME: This is a HACK! The inliner pass above implicitly creates a CGSCC 1 // TODO -- use llvm::isInstructionTriviallyDead 1 // FIXME: It would be nice to have the location of the superclass 1 // FIXME: This approach avoids rewriting the initializer expression. It 1 // TODO: wasm64 1 // FIXME: This should likely be tracked as an APInt to remove any host 1 // TODO: isIrreducible - look for triangle graph. 1 // FIXME: This is a total SWAG number. We should run some statistics 2 // FIXME: Clean up temporaries here anyway? 1 // TODO: Consider if this should be renamed to something like insertOrUpdate 1 # FIXME: windows flags (-Zl -nodefaultlibs) 1 // FIXME floatLiteral matching should work regardless of suffix. 1 // TODO: relax when mixed-mode needs to pass verification. 1 // TODO: Handle more intrinsics 1 // FIXME: This isn't the right factoring. This is here for initial 1 ExprValueKind::VK_LValue, Loc); // FIXME: scope? 1 // TODO: It would be even faster if the preprocessor could be switched 1 // TODO: Several parts of this are incorrect. Different source 1 // TODO: Error handle for incorrect inputs 1 // TODO:: we should change the STATEPOINT representation so that CC and 1 // TODO: replace this with a proliferated bufferization strategy 1 // FIXME: Refactor this into a checker. 1 // FIXME: This error return is in place temporarily so we can 1 // TODO: We could fold this here instead of letting SIFoldOperands do it 1 // FIXME: ideally this would use EmitAnyExprToMem, however, we cannot do so 1 // TODO Consider adding 'nounwind' info in TargetLowering::CallLoweringInfo 1 /// TODO: Remove this once we've migrated 1 // FIXME: Must maintain LiveIns. 4 // FIXME: Every place that calls LoadCXXVTT is something 1 // TODO: ExprEngine should do this for us. 1 // TODO: In some cases this could be relaxed if the successor is dominated 1 // FIXME: Remove this, use DiagnosticInfoSrcMgr instead. 1 // FIXME: For the time being we also match id; this should 1 // FIXME: Are there more magic icmp predicate+constant pairs we must avoid? 1 // FIXME: Extend to support non-ELF and non-x86_64 binaries. 1 // FIXME: On AArch64, this depends on the type. 1 // TODO: The following code appears to be needless as it just 1 // FIXME: do something more useful with the error message 1 // FIXME this drops the error on the floor. 8 // FIXME: Compare against a static "hot" BranchProbability. 1 // FIXME: We should still warn if the paremater is implicitly converted to 1 // TODO: Use dominance to find a good position instead. 1 // FIXME: Ideally we would always produce an SDIVREM here, but if the 1 /// TODO: refactor compile_units() to make this const. 1 // TODO: Support blocks that are not dead, but also not in loop after the 1 /// FIXME: privatize to AsmPrinter. 1 // FIXME: The current implementation only supports loading decls with 1 // FIXME: This is a horrible hack and broken in obscure cases, no worse 1 // FIXME: Make sure this test is correct (it's probably missing cases 1 // FIXME: This is broken. CXXRecordDecl::getMostRecentDecl() returns a 1 // FIXME: Rename this. 1 "TODO: i386 has different maxProt requirements"); 1 // TODO: If the input file is an archive, print the cumulative summary of all 1 // FIXME: This is a hack to work around the fact that there's no way to do 2 // FIXME: Wrong result for \[\[clang::uninitialized\]\] int b = [[1]]; 1 // TODO: this is temporary class for things that are being moved out of 1 // FIXME: CallEvent maybe shouldn't be directly accessing StoreManager. 1 // FIXME: If there are long latency loop-invariant instructions inside the 1 // TODO: Support "arguments" scope. At the moment lldb-vscode includes the 1 // TODO: All multiples of 32, vectors of pointers, all v2s16 pairs, more 1 // FIXME: More elaborate pretty-printing. 1 // FIXME: Add other base types after adding tests. 1 // TODO: Avoid ptrtoint conversion. 1 // FIXME: Need to support lvl too, but LVLGen runs after peephole-opt. 1 // FIXME: Translate 1 // FIXME: Add a test for `callExpr()` that does not depend on C++. 1 // TODO: On code like this: 1 // FIXME: Preserve hierarchy in module names rather than flattening 1 // FIXME: What if we had multiple pre-existing conditional branches? 1 // FIXME: Add support for detecting {1, 1} and {1, 1, 1} 1 // FIXME: As seen in VisitCommonDeclRefExpr, sometimes DeclRefExpr may 1 // TODO: There are many more machine instruction opcodes to match: 2 // TODO: Should we handle multiple indices? 1 // FIXME: Work around specific multibyte sequences that we can reasonably 2 // FIXME: For now, just drop all extension qualifiers on the floor. 1 // FIXME: getTrackNullOrUndefValueVisitor can't handle "super" yet. 1 // FIXME: this shouldn't need to be conditional, but it breaks a 1 // FIXME: This *really* should not be here. 1 // TODO copyout zero currenlty handled as copyout. Update when extension 1 // TODO: ImplSymbolMad SrcJDLoc 1 // TODO: is this heuristics good enough?? 1 TU.ExtraArgs.push_back("-fexceptions"); // FIXME: stop testing on PS4. 1 // FIXME: Handle the "already imported with error" case. We can get here 1 // FIXME: Missing greatergreatergreater support. 1 // TODO: This function currently does not work for scalable vectors. 1 // FIXME: This should be done in ParseLexedMemberInitializer, not here. 1 // TODO: Attributes are only documented by TableGen name, with no further 1 PRE_SYSCALL(compat_30_fhstat)(void *fhp_, void *sb_) { /* TODO */ } 1 // FIXME: implement weaker forms of stack protector. 1 // FIXME: we do not yet model the parts of a complex type, so treat the 1 // FIXME: keep ptr/heap/ref information. 1 // FIXME: It would probably make more sense to see if G_SADDO is preferred, 1 //TODO: Perhaps combine this instruction with the next if possible 1 // FIXME: No analysis is being done right now. We are relying on the 1 // FIXME: handle floating point types. 1 // (TODO : use RegisterPressure) 1 // TODO: We currently don't version the loop. 1 // FIXME: Make CFI on member function calls compatible with cross-DSO CFI. 1 // TODO: Support transpose once it is added to GPU dialect ops. 2 // FIXME: We could introduce new blocks and will need to fix the outer loop. 1 // TODO: Define a trampoline `__xray_FunctionTailExit` and differentiate a 1 /// TODO: This should probably just be a general matcher that uses matchConstant 1 // TODO: Don't assume nearest ties to even rounding mode 1 # FIXME: The helper can be eliminated if the CMake version is increased 1 // FIXME: check # of params == 1 1 /// FIXME: We need maybe an "escaped" state later. 1 // FIXME: Closure-library specific stuff should not be hard-coded but be 1 // TODO: Figure out maximum times an identifier had to probe for -stats. 1 // TODO: Support multiple entry loops? (We currently bail out of these in 1 // FIXME: replace this with a map from comp_dir to table so that we 1 // TODO: Write region check should check sizes and offsets in 1 // TODO: What would be the balance between the conditions in the function 1 // FIXME: different platforms make different information available "for free" 1 // TODO: Avoid creating/deleting temporary AffineApplyOps here. 1 // TODO: this discards MAC/FMA instructions for now, let's add it later 1 // FIXME: The functionality in this file should probably be moved to an ORC 1 // FIXME: Should the Dyld be retaining module information? Probably not. 1 // TODO: 64-bit operands have extending behavior from 32-bit literal. 1 // FIXME: What other attributes should we check here? Identical 1 // Limitations and TODO items: 2 // FIXME: We could extend to handle the non-kill cases for more coverage. 1 // TODO: Collective intrinsic subroutines: CO_BROADCAST &al. 1 // FIXME: Support other types 2 // FIXME: Is this needed for POWER9? 1 // FIXME: Might use a different overload for cleaner callsite. 1 // TODO: Remove once all VPWidenPHIRecipe instances keep all relevant incoming 1 // TODO: Support multiple MachineBasicBlocks. 1 /// TODO: define escaping rules. 1 /// FIXME: Figure out whether carrying information from one TU to another is 1 // FIXME: Add loop interchange. 1 // TODO: handle vector GEPs 1 // TODO: support alignment at asm and llvm level? 1 /// FIXME: perhaps we should (a) look for a module using the module name 1 // FIXME: It is completely unclear why this is necessary and not 1 // TODO: fix inline asm support so I can simply tell it that 'i64' 1 /* TODO: tune for KMP_OS_DRAGONFLY */ 1 // FIXME: For now, ignore classes that subclass SenTestCase and XCTestCase, 1 // FIXME: Decide what to do on Windows. 4 // FIXME: We're guessing at LangOptions! 2 // TODO: We could hand off more cases to instsimplify here. 1 // FIXME: Add handling for tail padding in vectors. Vectors don't 1 # TODO: Auto-generated. Audit and fix. 45 // FIXME: Document. 1 // FIXME: We should get the whole DeclStmt as a range. 1 // TODO: Handle semi-affine maps. 1 // FIXME: also drop qualifiers from pointer types, e.g. 'const T* => T*' 1 // FIXME: Error reporting. 1 // TODO: Make this more specific. (Deferred) 1 // FIXME: We will need to extend this for Variadic functions. 1 // !!! TODO: check if we need to return void for cmplx4 routines 2 // FIXME: Figure out how to print the real thunk type, since they can 1 // FIXME: Eventually, we could consider asking whether there was just 1 // FIXME: This restriction should probably be broadened to all SSA 1 // FIXME: Should this routine accept a TargetMachine or require the caller to 1 // See FIXME at CodeViewDebug.cpp : CodeViewDebug::lowerTypeEnum. 1 // FIXME: Const cast here is nasty, but better than making StepForward 1 // TODO: Any instruction that has an immediate form fed only by a PHI 1 // TODO: This is fairly heavy-handed; find a better approach. 1 // FIXME: Handle BlockDecl when we implement importing BlockExpr in 1 // FIXME: Preserve type source info ? 1 // TODO: unfriend HandleSDNode once we fix its operand handling. 2 // TODO: This is a utility function that should probably be exposed by the 1 // TODO generalize the conditions for operations which can be inlined into. 1 // TODO: Parse UniqueID 1 // FIXME: stable encoding for @public/@private/@protected/@package 1 // FIXME: This is incredibly wasteful, these should be uniqued or part of some 1 // FIXME: We probably don't actually want MemorySSA to model these at all 1 // FIXME: should terminate the link early based on errors encountered so 1 // FIXME: This is hacky, find a better way. The problem is that in an ObjC 1 // FIXME: Neither this nor always using the first reference is correct; we 1 // TODO: This should check the GCStrategy 2 // TODO: Once special relocations for relaxable jump instructions are available, 1 // TODO: To make accessing the unsafe stack pointer faster, we plan to 1 // FIXME: This diagnostic should really be delayed until we're done with 1 // FIXME: In the long run, ee don't want to drop source managers from modules. 1 // FIXME: At present the ShouldStop and the StepFromHere calculate this 1 // TODO: Use MFAM after porting below analyses. 1 // FIXME: handle different kinds of casts. 1 // TODO: Change this to a do-while. 1 // TODO: formatted_raw_ostream uses "column" to mean a number of characters 1 // TODO: Before we split the mask, try perfect shuffle on concatenated 1 // FIXME: This doesn't catch all the cases we would like. If the input 1 (void)this->TPC; // FIXME: Remove when used. 1 // FIXME: Unlikely to be true for anything but CodeSize. 1 /// FIXME: If we fill the field `SizeInBits` with the actual size of 1 // FIXME: vaarg 1 // FIXME: Add a Type matcher so we can replace uses of this 1 // FIXME: Emit location directives 1 // TODO: handle tbuffer* intrinsics. 1 # FIXME: There is probably still deadlock potential here. Yawn. 1 // FIXME: This should be removed someday when we don't have to care about 1 /// FIXME: Deal with non-primitive types. 2 // TODO: try to generate address preincrement 1 // FIXME: In some cases, it may be interesting to promote in memory 1 // FIXME: Calling convention! 1 // TODO: AtomicRMW supports other kinds of reductions this is 1 // FIXME: Need to add DWARF tags for __unaligned and _Atomic 1 // FIXME: The language rule says that this applies irrespective of 1 // FIXME: What we're doing here is modifying the type-specifier that 2 // FIXME: This holds only because we only have one unary transform. 1 // TODO: See if a frame index with a fixed offset can fold. 1 // FIXME: ask frontend whether we need to return failure. 4 // TODO: Apart from unknown/undefined receivers, this may happen when 1 // FIXME: presence of @public, etc. inside comment results in 1 // FIXME: We don't support non-power-of-2-sized vectors for now. 1 // FIXME: This map is duplicated in parseOperatorName and parseExpr. 2 // FIXME: In the future hopefully we can just use the lexical DeclContext 1 // FIXME: This should use mod/ref information to make this not suck so bad 1 // TODO: Handle other cost kinds. 9 case AVR::LDDWRdYQ: { //: FIXME: remove this once PR13375 gets fixed 1 // TODO: When ODS has proper support for marking "optional" regions, add 1 /// FIXME: privatize to AsmPrinter. 1 /// TODO: Remove DisplayName. It's always equal to Name. 1 // TODO: Sort the candidates using a cost-model. 1 // FIXME: Error if there is no matching cfi_remember_state. 1 // FIXME: The standard doesn't say to do this; it appears that the intent 1 // FIXME: This alignment is incorrect but this path is disabled 1 // FIXME: HasSTUX is only read if HasRedZone is not set, in such case, we 1 // FIXME: Count angle brackets, and clear MightBeTemplateArgument 1 // FIXME: It's not safe to lower a unary FNeg into a FMul by -1.0. 1 if (args.size() > 6) // TODO handle more than 6 arguments 1 // FIXME: Stop using this to control adding to the history and then replace 1 // FIXME: The computation isn't done in the right precision. 2 // TODO: We need better linking support to make that happen. 1 // FIXME: Streams should not be copyable. 1 // TODO: consider doing this for equalities as well, but probably not worth 1 // FIXME: this value should be different on different platforms. Larger values 1 // FIXME: Pass GV to EnumerateMetadata and arrange for the bitcode writer 1 // FIXME: look at the following tricky-seeming exprs to see if we 1 // FIXME: This asserts with this input: 1 // FIXME: Don't guess drives and paths like this on Windows. 1 // FIXME: Should in-progress permissions be reverted if an error occurs? 1 // FIXME: This pass adds 2 hacky attributes that can be replaced with an 1 // FIXME: If we reach a ')' without consuming any '>'s, then this must 1 # TODO: Implement blockaddress in GlobalISel and remove this flag! 1 // TODO: Lower this otherwise. 1 // TODO: Non-entry point functions are not handled. 1 // FIXME: These cases should have been illegal and unnecessary to check here. 1 /// TODO: Update comments when this function is fully implemented. 1 // FIXME: This assumes that AST files and top-level modules directly 1 // FIXME: Note the fixup comments for Thumb2 are completely bogus since the 1 // FIXME: Issue a diagnostic if the base classes don't match when we come 1 // FIXME: This is trying to take care of module ASM like this: 1 // FIXME: We don't add a declaration of a function template specialization 1 // TODO: We could emit a chain of compare/select to figure out which piece to 1 // FIXME: Technically "0" is a valid hash. 1 if (Constraint.OperandNo >= NumResults) // FIXME: need value # 1 // TODO: what needs to happen here? 1 // FIXME: In order to attach the temporaries, wrap the statement into 1 // TODO: Make ScopStmt::ensureValueRead(Value*) offer the same functionality 1 // TODO: What case is this code used? 1 // !!! TODO: check if we need a workaround here 1 // TODO: Extend to other invertible functions 1 // FIXME: We need to run the same destructor on every element of the array. 2 // TODO: Hint needs attention in case we change the default schedule. 1 // FIXME: It would be nice if we had an LLVM construct for this. 1 // FIXME: We could probably figure out how to get this to work for lambdas 1 // FIXME: We've expanded Count where we hope to insert the counter setting 1 // FIXME: This might be wrong: _sigfillset doesn't take a 1 /// FIXME: Block server shutdown until all the modules are idle. 1 // FIXME: Remove this special case when they do. 2 // FIXME: invent manglings for all these. 1 // FIXME: When (3) is actually implemented, we'll have to emit the stubs 1 // FIXME: For namespaces and types, we're permitted to check that the entity 1 // TODO: Should we allow multiple diagnostics? 1 // FIXME: Find a cleaner way to force the driver into restricted modes. 1 assert(ResNodes[i]->getNumTypes() == 1 && "FIXME: Unhandled"); 1 // FIXME: Should we really be doing this? A null TypeSourceInfo seems more 1 // TODO: Some member pointers are `noundef`, but it depends on the ABI. For 1 // FIXME: Inconsistent units for BaseOffset. It is in bytes when 1 // TODO: What we should do here is just set `desiredType` to `origType` 1 // FIXME: We hack together the directory name here instead of 1 # FIXME: Port the remaining targets. 1 // TODO: this pointer should actually be invariant between 1 // FIXME: Support using the spelling loc here for cases where we want to 1 PRE_SYSCALL(compat_50_adjtime)(void *delta_, void *olddelta_) { /* TODO */ } 1 POST_SYSCALL(modctl)(long long res, long long cmd_, void *arg_) { /* TODO */ } 1 // FIXME: Issue a diagnostic with this information. 1 // TODO: check validity of version strings, which varies by platform 1 // TODO: allow user to control the failure behavior. 1 // FIXME: validate the role. 1 // TODO: We should also detect FP min/max. 1 // TODO: We cannot use root update here. This pattern is creating other ops, 1 // FIXME: Currently we simply check if std::sort is used with pointer-like 1 // FIXME: add a matcher for TypeLoc derived classes using its custom casting 1 /// TODO: Rename this node to GET_ROUNDING. 1 << Variable; // FIXME: Add fix-it hint to Variable 1 // FIXME: Treat this as an extension, and flag this as an error when GCC 1 // FIXME: Build merge seems to switch to CONCAT_VECTORS but not 1 // FIXME: need better way to detect AsmStreamer (upstream removed getKind()) 2 // FIXME: FastISel cannot handle non-simple types yet, including 128-bit FP 1 // FIXME: Find a better way to determine whether the language has modules 1 // FIXME: Recurse into nested InitListExprs. 1 // FIXME: adr.n immediate offset must be multiple of 4. 1 // TODO: CSR VGPRs will never be spilled to AGPRs. These can probably be 1 // FIXME: under ASan the call below may write to freed memory and corrupt 2 // TODO: Allow FP min/max with nnan/nsz. 2 // FIXME: Sema doesn't treat [1] as a flexible array member if the bound 1 // FIXME: The way that MaxSize works is subtle and depends on the 1 // FIXME: Think about allowing IntToPtrInst 1 // FIXME: Use fold expressions in C++17. 1 /// FIXME: This is the wrong return value, since we also need to 1 // TODO: Rename MetadataStreamerV3 -> MetadataStreamerMsgPackV3. 1 // FIXME: Optimizations need to be implemented here. 1 // TODO: call BLAS-3 SGEMM 1 // TODO: Support computation slices with common surrounding loops. 1 // TODO: Generalize this for use with other types. 1 /// FIXME: Make FormatToken for parsing and AnnotatedToken two different 1 // FIXME: This check is necessary but not sufficient. We for sure don't 1 // TODO: further verification needs to analyze reachability from 1 // TODO: Should generalize bitcast action into coerce, which will also cover 1 // FIXME: support Windows dllimport function calls. 1 // TODO: There is only ARM far stub now. We should add the Thumb stub, 1 // FIXME: Ideally we should model the behavior of the atomics precisely here. 1 // TODO: Some structs may be `noundef`, in specific situations. 1 // FIXME: Values are already scaled in this addressing mode. 1 // FIXME: This shouldn't be in the outliner at all; it should ultimately be 1 // TODO: We could likely merge this with the DCE algorithm below. 1 // FIXME: What if the exceptions are described in terms of the old 1 // TODO: This assumes a zext cast. 1 // TODO: only the ones with the flag set! 1 // TODO: Set this to more than one??? 1 // TODO: Rework this for different kinds of MachineOperand. 1 // FIXME: only allow `?` in last dimension ? 1 // FIXME put ImportedFromDecls here! 1 // FIXME: Release abandoned alloc. 1 // fusing along single producer consumer edges, but there is a TODO: to fix 1 FIXME: Describe what patterns does the check detect and why. Give examples. 1 // FIXME: Remove these!!! 1 // TODO: support lifetime.start/end here 1 // TODO: Freeze index if it is safe to do so. 1 // FIXME: handle variadics. 1 // FIXME: gcc replaces -lobjc in forward args with -lobjc-gnu 1 // FIXME: Pass NamedDecl* to addedMember? 1 // FIXME: Conceptually, this code is implementing an iterator on MBB that 1 // TODO: is there any way to detect that an shared library is a kernel 1 - FIXME: If there is no @finally block we can do a few more 1 // TODO: Support adding LoopExit element to the CFG in case where the loop is 1 // FIXME this looks pretty terrible... 1 // FIXME: __fp16? 1 // TODO: verify that the deduced version is consistent with 1 // TODO: search for clone's clones. 1 // FIXME: Does injected class name need to be in the redeclarations chain? 1 /// TODO: Replace recursive algorithm on def-use chain with an iterative one 1 // FIXME: We need a way to map from names to Type*. 1 // FIXME: It'd be great if we could merge this with the loop below but LLVM's 1 // FIXME: Retain the first attribute section we see. Tools such as 1 // TODO: consider reusing existing contract unrolling 1 // TODO: The basic approach of these folds is not compatible with opaque 1 // TODO: Should any fast-math-flags be set for the FSUB? 2 // FIXME: Curtail the recursion if this base can't possibly contain the 1 // TODO: Handle non-commutative binary intrinsics as below for binops. 1 // 2.8.1 TODO: list-item attribute check 1 // FIXME: The register allocator not only may not have given us the 1 // TODO: call BLAS-2 DGEMV(y,x) 1 // FIXME: Can we move it into the right spot? 1 // FIXME: Can we order the candidates in some sane way? 1 // TODO: More tuning on benchmarks and metrics with changes as needed 1 PRE_SYSCALL(compat_43_owait)(void) { /* TODO */ } 1 // TODO: expand this check to exclude the case when a requires 1 // FIXME: return nullptr; 1 /* TODO optimize with one big memclr, take out what isn't needed, split 1 // FIXME: declared here because it is used from 1 # TODO: Produce a nice diff. 1 // TODO FMT Add a parser for pointer values. 1 // FIXME: Handle Op1Set, Op1Unset here too. 1 // FIXME: If we move away from unit-tests, this can be moved to a private 1 // FIXME: This is insufficient to detect this problem; consider 1 // FIXME: This should be nuw 1 // TODO: Detect: RETAA, RETAB (Return from subroutine, with pointer 1 // FIXME: Consider also using AST information when feasible. 1 // FIXME: Type predicate on pattern 1 # FIXME: link in pthread 1 // FIXME: How do we know Base.Reg is free?? 1 // TODO: If we could match on explicit instantiations of function templates, 1 // FIXME: Run dealloc actions. 1 // FIXME: IsStructurallyEquivalent requires non-const Decls. 1 // FIXME: Do not do the calculation here 1 // FIXME: Find an efficient way to deduplicate on diagnostics level. 1 // FIXME: This is wrong; the macro refers to the numerical values 1 // TODO: Model this case as well. At least, avoid invalidation of 1 // FIXME: emitDebugInfoForGlobal() doesn't handle DIExpressions. 2 // FIXME: Initializer for x is a DesignatedInitListExpr, hence it is 1 // FIXME: Currently ObjC method declarations are incorrectly being 1 // TODO: It is a bit unfortunate to use a PointerUnion inside the VarDecl for 1 // TODO: The arguments to the clone syscall below is correct for x86_64 1 // TODO: We need to emit some note here probably!! 1 /// FIXME: This works fairly well except one case 1 // FIXME: report this better. 1 // FIXME: This preserves long-standing behaviour, but is it really the right 2 // FIXME: Not preserving dereferenceable 2 // TODO: This only allows trivial edges to be added for now. 2 // Related to the FIXME in BreakableBlockComment::getRangeLength. 1 // TODO: escape hard stuff (like \n) if we ever care about it. 1 // FIXME: Decide if we can do a delegation of a delegating constructor. 1 // FIXME: Check whether the relevant module macros are visible. 1 // TODO: Look through vector insert/extract/shuffle. 1 // FIXME: The low bytes of SHA1 have low entropy for short records, which 1 // FIXME: Additional opportunities will be phased in with subsequent 1 // TODO: Simplify if the copysign constant is 0.0 or NaN. 1 // FIXME: Is this really necessary? The only caller repairIntervalsForRange() 1 // FIXME: This set of cases was copied from SemaExprObjC. 1 TODO: do a thorough shutdown instead */ 1 // FIXME: Wrong. We should be looking at the member declaration we found. 1 // FIXME: We currently only set the profile data when it is missing. 1 /// the pointer type from the data layout. FIXME: The default needs to be 1 // TODO: Investigate whether the following block can be replaced by, or 2 // FIXME: if the CR field used has no other uses, we could eliminate the 1 // FIXME: Produce diagnostics when Var->getInstantiatedFromStaticDataMember(). 1 // FIXME: not clear how to mangle this! 1 // FIXME: InitListExpr is not trivially destructible due to its ASTVector. 1 // FIXME: the same for P9 as previous gen until POWER9 scheduling is ready 1 // FIXME: Automatically giving all implicit defs defaultDefLatency is 1 // TODO: for now f64 tensors only, no dim ordering, all dimensions compressed 1 // FIXME: The metadata treats the minimum as 4? 1 // FIXME: don't do this if they're efficiently moveable. 1 // FIXME: for Char16, Char32, and NullPtr, make sure that the "to" 1 // FIXME: ExpandResponseFilesDatabase appears not to provide the usual 1 // FIXME: This is incorrect, Operands are owned by unique_ptr with a default 1 // FIXME: This only considers queries directly on the invariant-tagged 1 // TODO to fix up jump table so later phase won't be confused. if 1 /// FIXME: The Diag, LangOpts, SourceMgr, FileMgr, StoredDiagnostics, and 1 // FIXME: this implementation should be micro-architecture dependent, so a 1 /// TODO: Some of this might be useful for other architectures as well - extract 1 return; // TODO: Handle vectors. 1 // FIXME: This logic belongs in Sema. 1 // TODO: If we know an address space cast will not change the 1 namespace $decl[[ns]] { // FIXME: def? 1 // FIXME: Should perform GVN again after PRE does something. PRE can move 1 // TODO: Currently crashes the program. 1 // FIXME: Each LLVM component may have its dependent system libs. 1 // TODO: Verify datarel below. 1 ! TODO: Specialize (via macros?) for alternative targets 1 return Left.isNot(tok::period); // FIXME: Properly parse ObjC calls. 1 // TODO: The generated code is pretty poor. Investigate using the 1 // FIXME: Clean them up if it happens. 1 // TODO: remove first call to parseBases, that function should be deleted 1 // FIXME: Track a TypeConstraint as type sugar, so that we can print the 1 // FIXME: Remove ? 1 // FIXME: We should not be storing a directory entry name here. 1 // FIXME: generate a predicated load? 1 // used entries. FIXME: Would the the extra memory for a doubly-linked list 1 // FIXME: If the last initializer is an incomplete initializer list for 1 // FIXME: We should ask the driver for the appropriate default flags. 1 // FIXME: add madvise-analog when we move to 64-bits. 1 // TODO: check if it is still necessary 1 // FIXME: Add -static support, once we have it. 1 // stage is occupied. FIXME it would be more accurate to find the 1 // FIXME: Emit FPO data for EH funclets. 1 // FIXME Handle redecl chain. When you do that make consistent changes 1 // FIXME: Deprecated, move clients to getName(). 1 // FIXME: This list will need adjusting/fixing as the MC code emitter 1 // FIXME move to ASTMatchers 1 // TODO: Explore the possibility to implement LoopBlocksTraversal in terms of 1 // TODO: This could be more efficient by bulk changing the operands. 1 // FIXME: "llvm.mem.parallel_loop_access" annotates memory access 1 // FIXME: refactor/share with ActOnMemberReference(). 1 // FIXME: Handle the case where the BB has no valid locations. This would 1 error("TODO: implement interworking shim"); 1 // FIXME: The dispatch on std::is_pointer was introduced as a workaround for 1 // TODO: GEH - cannot do this assertion because root thread not set up as 1 // FIXME: Maybe we should suggest adding braces instead of parens 1 // TODO: Add more opcodes? 1 // FIXME: Move FixItRewriteInPlace from lib/Rewrite/Frontend/FrontendActions.cpp 1 //TODO: Does this even work? 1 // TODO: Determine a scheme to resolve when the label is similar enough. 1 // Skip stores *of* pointers. FIXME: This shouldn't even be possible! 1 // FIXME: Can tblgen help at all here to verify there aren't other instructions 1 #"//lldb/source/Breakpoint", # FIXME: Dependency cycle 1 // TODO: Refine behavior for invalid type casts 1 // FIXME: Currently, recursive branches are not handled. For example, we 1 // address calculation. FIXME: However that might change once we can 1 // FIXME: Can the logic below also be used for these cost kinds? 1 // FIXME: check if reference mutates the Decl being referred. 1 // TODO: Generalize the algorithm and placement of the freemem nodes. 1 // TODO: Should we canonicalize to '(X < 0) ? Y : 0' instead? That would be 1 // TODO: Value profiling heavily depends on the data section which is omitted 1 // FIXME: use DWARFAttribute::mayHaveLocationDescription(). 1 // FIXME: Adjust the comment accordingly after we use source file full 1 // FIXME: false-negative if the entire range is fully expanded from a macro. 1 // FIXME: Some shuffle and unpack instructions have equivalents in different 1 // TODO set the arm subarch stuff if the minidump has info about it 1 // FIXME: For dsymutil-classic compatibility. I think uniquing within 1 // TODO: Remove the parse/print/build here (new ODS functionality obsoletes the 1 // TODO: Use a Tokenfactor, as in memcpy, instead of a single chain. 1 // FIXME: Add an equivalent test that does not depend on C++. 1 // TODO: isaConvolutionOpInterface that can also infer from generic 1 // TODO: Combine getTypeInfo() and getBaseTypeInfo() into a single function. 1 // FIXME: Verify the argument is a valid integer. 1 // FIXME: 'template' is required on the next line due to an 1 // TODO: If the constant is exactly representable, is it always OK to do 1 // FIXME: It probably would be possible to filter which thunks to produce 2 // FIXME: Rather than detecting conflicts at their usages, we should check the 1 // FIXME: Getting the interval here actually computes it. 1 // FIXME: The concept of converting between FixItHints and Replacements is 1 // FIXME: Figure out when this can actually happen, and verify our 1 // FIXME: let's drop int32_t support. While it's supported by evaluator, it's 1 // TODO: Figure out how we should handle this. 1 // FIXME: Should this always be extern? 1 # FIXME: libclang unit tests are disabled on Windows due 1 // FIXME: Generalize this out beyond iOS-deriving targets. 1 // FIXME: Currently, MCJIT relies on a configure-time check to determine which 1 // FIXME: optimize the case where the src/dest is a load or store? 2 // FIXME: Should use MipsCCState::getSpecialCallingConvForCallee, but it 1 // FIXME: Make buildLookup const? 1 // TODO: Remove the implicit conversion. 1 // TODO: This never happens in our tests and I think it can be removed / 1 // FIXME: Provide this for PE/COFF targets. 1 // FIXME: Revisit this when the dust settles. 1 // TODO: Use default extraction for now, but we should investigate extending this 1 // FIXME: It seems this value needs to be adjusted by 4 for an effective 1 // TODO: A better way to determine this would use ComputeNumSignBits(). 1 /// FIXME: implement more hooks. 1 // FIXME: GCC does not appear to mangle the template arguments when 2 /// TODO: May need to add additional parameters to represent: 1 // FIXME tail call: implement jmp from mem 1 // TODO: We can handle other cases here 1 // FIXME: We currently have no way to represent the DemandedElts of a scalable 5 // TODO: support mask. 2 // TODO: Implement me. 1 // FIXME: Use the right type as the parameter type. Note that in a call 1 // FIXME: Should we really be disallowing this attribute if there is any 1 // TODO: add support for YMM and ZMM here. 1 // FIXME: Recommend a reorganization of the struct (sort by StructField 1 // FIXME: Parameterize this based on MAI. 1 // FIXME: We don't do catch breakpoints for ObjC yet. 1 // symbol. FIXME is this right for common? 1 // TODO: Pass in a guid-to-name map in order for 1 // FIXME: should we allow (some limited number of) "../header.h"? 1 // TODO: Some later version of MSVC will change the default behavior of the 1 /// TODO: Make this use x for the inner-most loop that is 1 // FIXME: Disambiguate properly after an = instead of assuming that it's a 1 // TODO: Add bufferization support when needed. scf.execute_region should be 1 integer(kind=omp_logical_kind) :: omp_is_initial_device ! TODO: should this be LOGICAL? 1 // TODO: 'loop' may require different capture regions depending on the bind 1 // FIXME: Find a smart place to suggest inserting a #include, and add 1 // TODO: Implement 3 /// FIXME: This is a local version of RTLIB::getFPLibCall that should be 1 /// FIXME: Should we also store some fingerprint for the location, so 1 // FIXME: Use the other dwo range section when we emit it. 1 // TODO: The following hack exists because predication passes do not 1 // FIXME: Move setAttached to the initial comment parsing. 1 // FIXME: enable memmem on Windows. 1 // FIXME: We should just generate invalid edges anyway and have the optimizer 1 // FIXME: Rewrite the return type as 'gsl::owner' 1 // TODO: this shouldn't be needed after we unify the attribute generation, i.e. 1 /// FIXME: this struct can be extended to provide information about the number 1 // FIXME: References to parameters fall through to the behavior 1 // FIXME: Support aggregate input operands 1 // FIXME: What does StreamSize ~0U mean? 1 // FIXME: Currently accepts ANY unary operator. Is it OK? 1 // FIXME: ld64 currently handles internal pointer-sized relocations 1 1, 1024}; // TODO: tune it! 1 // FIXME: Check consistency if we have an old and new operator delete. 1 // FIXME: Tell the caller this happened so they can recover. 1 // TODO: Optimize if constant shift amount. 1 // TODO: consider refactoring the common code from generateDma and 1 // FIXME: Some day in the future it would be nice to allow a "plug-in" 1 // TODO: Expand to support regions. 1 // TODO: If we want to be more optimistic here, we'll need to make sure that 1 // FIXME: We could omit private if the parent is a class_type, and 1 // TODO: If the user explicitly creates a new function section, we ignore 1 /// FIXME: Perhaps we can Build this into LatencyAccountant? or vise versa? 1 /// TODO: Extend this to internal types by generating names that are unique 1 // FIXME: That means a reload that're reused in successor block(s) will not 1 // FIXME: Loop-sink currently break LCSSA. Fix it and reenable the 1 offset; // TODO DoStructLayout() should not change this. 1 // FIXME: Use a decent data structure. 2 // FIXME: this is wrong, set it correctly. 1 // TODO: Support IMAGE_GET_RESINFO and IMAGE_GET_LOD. 1 // TODO: If the fully aggressive solution isn't valid, try to find a 1 // FIXME: Lift this into part of the InstVisitor. 1 // FIXME: Value not used? 1 // FIXME: For now assuming these are 2-character constraints. 1 // FIXME: Should we treat the exception as catchable if a lifetime 1 // TODO 2: this currently does not support constants, i.e. integer ranges. 1 // TODO: CheckMemoryRangeAvailability is based on msan. 1 // TODO: Check if we need to generate arguments stored in CmdArgs. (Namely 1 // FIXME: Suppress this and use the full name of the declaration if the 1 // FIXME: The NonRelocatableStringpool starts with an empty string, but 1 // FIXME: For backend options that are not yet recorded as function 1 // FIXME: Provide a more direct way to do this in LLVM. 1 // TODO: We should consider making the switch above exhaustive to simplify 1 // FIXME: This should pass the Decl not the name. 1 // FIXME: This could use fine tuning and microbenchmarks. 1 // FIXME: PostImplicitCall with a null decl may crash elsewhere anyway. 1 // FIXME: consider code style for comments. 1 // FIXME: errc::not_a_file? 1 /// TODO: change input parameter from "uint64_t Address" 1 // FIXME: Reactive when these tests can be more specific (not matching 1 InstantiateFunctionDefinition(/*FIXME:*/ Inst.second, Function, true, 1 // TODO: if one of the arguments is scalar, then it's not necessary to 1 // FIXME: Should use TokenConcatenation to make sure we don't allow stuff like 1 // FIXME: Any other pseudo instruction? 1 // FIXME: should do this in RAV instead? 1 PRE_SYSCALL(compat_43_osigstack)(void *nss_, void *oss_) { /* TODO */ } 1 // TODO: extend it for this case when needed (rare). 1 // FIXME: Should be able to handle this with emitPseudoExpansionLowering. We 1 // TODO: avoid this copy. 2 // TODO: It happens for some symbols (e.g. __mh_execute_header). 1 // transformed to have pointer type. FIXME: apparently these don't 1 // TODO: defined operator 4 // TODO: Enable when ods-gen supports captures. 1 // FIXME: Turn off MergeConsecutiveStores() before Instruction Selection for 1 // FIXME: we should enqueue using post order. 1 // TODO: Check individual arguments so we can promote a subset? 1 // FIXME: Eventually convert back to just 'VisitDeclContext()'. Essentially 1 // FIXME: We may need to legalize operands besided srsrc. 1 // FIXME: ARC may want to turn this into 'const __unsafe_unretained' if 1 // FIXME: This can happen if we strcpy() into a string region. This is 1 /// TODO: Change this to DenseMap when we can 1 // TODO: Implement this. 1 // TODO: Is this a good transform for vectors? Wider types may reduce 1 // FIXME: Provide a way to extract commented out parameter name from comment 1 // TODO: Identify the leaked file descriptor. 1 // FIXME: After copying the source-location information, should we free 1 // FIXME: 's' might be a nullptr if we're conducting invalidation 1 // FIXME: This really ends up using the requested number of SGPRs + number 1 // FIXME: These template arguments are temporary. Free them! 1 // FIXME: Should this get moved into SimplifyDemandedBits by saying we don't 1 // FIXME: Use the actual location of the ellipsis. 1 // TODO: If this value appears multiple times in a DIArgList, we should still 2 // FIXME: We should follow GCC and model may_alias as a type attribute 1 // TODO: While this should still be very fast, 1 // FIXME: somewhere this is turned into a SRL, lower it MSP specific? 1 // TODO: This is quite conservative. In practice, convergent_op() 1 // FIXME: certain users need more information. E.g., SimplifyLibCalls needs to 1 // TODO: This function is quite lengthy. Break it down into smaller chunks. 1 // TODO: In the future this should be abstracted away by the analyzer. 1 // FIXME: The standard wording doesn't currently describe this. 1 // FIXME: We might need to build a patched ast once preamble thread starts 1 // TODO: refactor matcher to be configurable or just match on any internal 1 // TODO: Can we assert that both operands of a shuffle-select are not undef 1 # FIXME: This is not safe because this will create the same target 1 // FIXME: constexpr initialization isn't supported by MSVC2013. 1 /// FIXME: Add TargetCostKind support. 1 // TODO: bail out on this case for now. We could emit uglygep. 1 // FIXME: We should use a customized pre-link pipeline! 1 PRE_SYSCALL(compat_43_ogethostid)(void) { /* TODO */ } 1 // FIXME: dsymutil-classic compatibility. Union types aren't 1 // TODO: We should be able to replace undefs with the right pointer type. 1 // FIXME: Check if offset is multiple of scale if scale is not 4. 1 /// TODO: We should be able to use set_subtract from SetOperations.h, but 1 // FIXME: Find another less hacky way do force the relative jump. 4 // FIXME: this doesn't work correctly for module names containing path 1 // FIXME: This needs to be a per-execution seed. This is just a placeholder 1 /// TODO: The following VectorizationFactor was pulled out of 1 // FIXME: getSwitchCaseList() does not necessarily guarantee a stable 1 // FIXME: This is a workaround for the same tablegen problems as G_FNEG 1 // TODO: Do we want to truncate the result? 1 // TODO: Create and use isKnownFiniteNonZero instead of just matching 1 // FIXME: PEI should add explicit markings to return instructions 1 /// FIXME: spelled tokens don't change across FileID that map to the same 1 /// FIXME: This assumes ModRefInfo lattice will remain 4 bits! 1 // TODO: Ideally we would use FoldConstantArithmetic() here, but that does 1 // TODO: Unsupported flat for SI. 1 // FIXME: It would be preferable to fill this in as part of processing 1 // FIXME: It is possible that running code could cause new threads 1 // FIXME: Instead of passing in the CallOperator->getTypeSourceInfo() 1 // FIXME: We should be able to assert this for all DeclRefExprs, not just 1 // FIXME: Use ModRefInfo::Must bit from getModRefInfo call above. 1 /// FIXME: introduce a type for source range with this invariant. 1 // TODO: I have absolutely no idea how to implement this part yet. It's not 1 // TODO: Should the addressing mode BaseGV be changed to a ConstantExpr instead 1 // TODO: make the error location info accurate. 1 // TODO: Currently we just assume all the addr that can't match the 1 // FIXME: This should get its info from the td file. 1 // TODO: If BB is reachable from all paths through PredBlock, then we 1 // FIXME: Don't rely on the OnDiskHashTable format here. 2 /* TODO: COMPLEX(2 & 3) */ 1 /* FIXME: 'states' is assumed as 'long' on small version. */ 1 // FIXME: Currently, obj2yaml only supports dumping the first pubtable. 1 // TODO: implement DW_TAG_inheritance type parsing. 1 // FIXME: Handle sub-registers in addDefsFromCopies. The problem is that 1 // FIXME: the AST could actually change if non-preamble includes changed, 1 /// TODO: we should probably introduce a caching CaptureTracking analysis and 1 // FIXME: 's...' is a declarator and '(...)' is initializer 2 // TODO: check error location too. 1 // TODO: We can hoist shapes across BBs here. 1 // FIXME: Can't this be simpler? This might even be worse than the 1 // TODO: shapes of other non-elemental intrinsic results 1 // FIXME: callbr 1 // FIXME: Find better names for these functions (or document what they 1 // FIXME: better error handling. For now, just print error message in the 2 // FIXME: If we have a parent, we're initializing the base class subobject 1 // FIXME: We could split a ConstantInt if the need ever arose. 1 // name validation. FIXME: reconcile with InvalidName 1 // FIXME: Can this actually happen? We have no test coverage for it. 1 // TODO: Once we can get to the GCStrategy, this becomes 1 // TODO: Remove this when all usages have been replaced with StringAttr. 1 // FIXME: move to another file so CodeComplete doesn't depend on Hover. 1 // FIXME: Try to put most of this logic inside a matcher. 1 // TODO: return "auto function" and other bad things based on the real type. 1 // FIXME: Log something... 1 // FIXME: This may not be safe if the analysis allows undef elements. By 1 // FIXME: If K does move, we should drop the range info and nonnull. 1 // FIXME: Why 16, specifically? 1 // FIXME: If we didn't instantiate a definition because of an explicit 1 // FIXME: Only exporting from the main executable (e.g. based on whether the 1 // TODO: Tell AA about the new values? 1 //: TODO: add here jmp 1 /// TODO: After GFX9 it should return a no-carry operation. 1 // TODO: InitShadow is based on msan. 1 // FIXME: this should be specialized by the runtime target 1 // FIXME: Should we permit '\' on Windows? 1 // FIXME: this would qualify "ns::VALUE" as "ns::EnumValue::VALUE". Fix it 1 // TODO: implement masks. 1 // FIXME: If we get an error during a bridge cast, should we report it? 1 // TODO: some sort of runtime supported conversion? 1 // FIXME: This is the size of the setjmp buffer and should be target 1 // FIXME: A callback should disable checkers at the start of functions. 5 // TODO Support CPU_TYPE_ARM. 1 // FIXME: this comment is cargo culted from the old pass manager, revisit). 1 // FIXME: Allow calls to functions which construct a stack frame, as long 1 // FIXME: we could also treat Min/Max/UMin/UMax by the INT_MIN/INT_MAX/... 1 // previous immediate. FIXME: This is a hack. 1 // TODO: Check boundary conditions: 1 // FIXME: 3 // FIXME: ThreadPool should allow work stealing to avoid deadlocks when 1 // FIXME: Looking at the canonical declaration is not the most exact way 1 # FIXME: syntax highlight broken 1 // FIXME: Renaming macros is not supported yet, the macro-handling code should 1 // FIXME: In C, we merge __strong and none to __strong at the top level. 1 // FIXME there isn't really debug info here 1 // TODO: ordered_wait_id 2 // FIXME: This is not pretty. MCContext has a ptr to MCObjectFileInfo and 3 // TODO: should we also check target.process.thread.step-avoid-libraries ? 1 // TODO: fix format_provider> to allow other units. 1 // FIXME: This assumes all of the defs are used as call operands. 1 // FIXME: It will be better just to find spare register here. 1 // TODO: evolve this model. Tile size determination is a large area 1 // FIXME: GenericTaintChecker creates symbols of void type. 1 // FIXME: We are not able to determine variable's compile unit. 1 // FIXME: A variable template is a dependent context, but is not a 1 // FIXME: Remove usage of internal CRT function and globals. 1 // TODO: Report an error when multiple same attributes are specified. 1 // FIXME: Try env vars (%UniversalCRTSdkDir%, %UCRTVersion%) before going to 1 // FIXME: Handle other pointer-like types. 1 // TODO: support mask. 1 // TODO: Remove the one-use check if the other logic operand (Y) is constant. 1 // FIXME: We skip these checks when VPlan predication is enabled as we 1 // FIXME: We should check that every time this is called it is called with the 1 // TODO: Disable SetP2AlignOperands for FastISel and just do it here. 1 // TODO: Remove OutputFormat flag in the next revision. 1 // FIXME: The fallback type here is totally bogus -- though it should 1 // FIXME: Discard 0/NULL (as nullptr), static inline const data members, 1 // FIXME: We should add an error here. According to: 1 // FIXME: Avoid std::string in "Sel.getAsString()" 1 // TODO: Add MachineFunctionProperties support. 1 // FIXME: This logic isn't really right; we can safely inline functions 1 // FIXME: This should not happen, but if it does in some case we care about, 1 // FIXME: It's valid to use O32 on a mips64/mips64el triple but the backend 1 // FIXME: We could use 'movl' when we know we are targeting MC. 1 // FIXME: Actually check whether we have 'constant_tsc' and 'nonstop_tsc' 1 // FIXME: For now we require the newer floating-point conversion operations 1 // FIXME: This should print the same on all platforms. 1 // FIXME: Implement for PDB_SymType::Data. The symbolizer calls this but 1 // TODO: Is this actually reliable? Maybe improving our MemRegion 1 // TODO: We really should just emit deref_or_null here and then 1 // FIXME: The issue with predicated instruction is more complex. We are being 2 // FIXME: There must be a better way to do this then to check and fix the 1 // FIXME: If divergence analysis becomes available to a loop 1 // FIXME Add tailcalls support 1 // FIXME: The code for the scaled and unscaled registers looks 1 // TODO: Some day, we should do the forward propagation and reassociation 1 // FIXME: It will be better just to find spare register here. 1 /// TODO: This function could handle other cast types, but then it might 1 /// TODO: This code structure does not make sense. The saturating add fold 1 // TODO: Should really know for each vector element. 1 // TODO: Currently some fast-math flags are not treated as 1 // FIXME: This is necessary because DAGISel uses "Subtarget->" and GlobalISel 2 // TODO: Add custom commitCharacters for some of the completion items. For 1 // TODO: Can we merge SelectionDAG::GetDemandedBits into this? 1 // TODO: The one-use check is standard because we do not typically want to 1 // TODO: on the callee side, this may even have to trigger a copy to 1 // FIXME: Do we want to overload Call() to directly take 1 // TODO: Improve estimate of operations needed for transposes. Currently we 1 // TODO: Move C8106 (&al.) checks here from resolve-names-utils.cpp 1 // FIXME: Merge with llvm::isConsecutiveAccess 1 // FIXME: the same for P9 as previous gen until POWER9 scheduling is ready 2 /// TODO: If this proves useful, see about including it in pybind11. 1 // FIXME: Currently instrumentation is experimental and the runtime data 1 // FIXME: Alignment is broken broken with explicit arg offset.; 1 // TODO: do general dead store elimination for memref's. This pass 1 // TODO: This should be sunk inside SCEV. 1 // TODO: raise converted.flags as exceptions? 2 // FIXME: This is a big hammer. But the alternative is to add all potential 1 // FIXME: .text currently no-op. 1 // FIXME: FreeBSD sticks an int at the beginning of the note 1 /// FIXME: Remove this function once transition to Align is over. 9 // FIXME: all this logic will change if/when we have MemRegion::getLocation(). 1 SmallString<128> InstPrinterStr; // FIXME: magic number. 1 // FIXME: this is required initialization, and should be a constructor param. 1 // FIXME: Add support for dependent-sized array types in C++? 2 // TODO: Update so that operator[] references these instead to avoid 1 // FIXME: make FlushParagraph handle this. 1 // FIXME: Use std::variant for storage once we have c++17. 2 // FIXME: Fail if % is used with the last operand. 1 // TODO: We need to invalidate the lock stack as well. This is tricky 1 // TODO: support output formats other than ELF. 1 // All we need are the default actions. FIXME: use a helper function. 1 // FIXME: we are not sure if some bitcast should be canonicalized to gep 0 1 // TODO: Document in isl itself, that the unconditionally evaluating the 1 // FIXME: Conditionalize on indirect calls so we don't emit a thunk when 1 // TODO: there are other patterns besides zero that we can usefully memset, 2 return m_unwind_plan_compact_unwind[0]; // FIXME support multiple 1 // FIXME: we might be able return multiple sources? Or create an 1 // FIXME flip as needed to get data in big/little endian format for this host. 1 // FIXME: Currently we cannot really respect all IEEE predicates due to libgcc 1 /// TODO: This rule is conservative because it does not check whether the 1 /* TODO abort? */ 4 /// TODO: Improve this analysis and extract it to make it usable in other 1 /// FIXME: Make sure the lifetime of Identifiers/Selectors *isn't* tied to 1 // Get the new source to rewrite. TODO: Only enable handling of multiple 1 // FIXME: Unknown instruction failures might happen when we add a new 1 // TODO: Should refine based on estimated number of accesses (e.g. does it 1 // FIXME: the expression from getInit has type 'void', but the type 1 // FIXME: Copied directly from ARM -- factor into base class? 1 // FIXME: We should figure out what to do about commons defined by asm. 1 // FIXME: Adjust the location to account for any preceding comments. 1 // TODO: Using a latency of 1 here for output dependencies assumes 1 // TODO: Add a more flexible dependence graph representation. 1 // TODO: Implement Debugify for LoopPass. 1 # FIXME: Make this configurable? 1 /// TODO: Parallelism and threadlocal considerations. 1 // TODO: use in LinalgOp verification, there is a circular dependency atm. 1 // TODO: Capture and replace to generic fixups 1 // FIXME: This code is stolen from CallGraph::addToCallGraph(Function *F), which 1 // FIXME: always querying the result type is just an 1 // FIXME: Do we need the 16-bit 'S' variant? 1 // FIXME: it would be nice to dynamically check non-reentrancy here. 1 // TODO: Add support for handling cfi_restore_state. 1 // TODO: Complex patterns can't have output glues, if they did, we'd want 1 // FIXME: We can use permq for 64-bit or larger extracts from 256-bit 1 // FIXME: Support extraction from templated functions. 1 // FIXME: This comment doesn't sound right. If there is a r_brace 1 // FIXME: Decide whether we want to reflow non-regular indents: 1 // TODO: Currently only works on linux with newer objcopy. 1 // FIXME: Concepts: Substitution into requires clause should only happen when 1 // FIXME: This assumes the caller has already checked that the access length 1 // TODO: Use a location from the position. 1 // TODO: -r, -dylinker, -preload... 1 // FIXME: Missing call to CheckFunctionDeclaration(). 1 // TODO: relax this precondition, will require rank-reducing subviews. 1 if (Parent.Opts.CompileCommandsDir) { // FIXME: unify with config 1 // FIXME: once the legacy PM code is deleted, move runPassPipeline() here and 1 // FIXME: Should return min,max range. 1 // TODO: In some case the type stored in this map is exactly the same that is 1 /// FIXME: _BitInt is a required type in C23, so there's not much utility in 1 // FIXME: Support OutputFormat in type dumping. 1 // FIXME: Find a good default for this flag and remove the flag. 2 // FIXME: Currently we only set VK_NC for MO_G3/MO_G2/MO_G1/MO_G0. This is 1 // FIXME: explicit template specializations are not supported due the 1 // TODO: Handle other forms of branching with precision, including while- 1 // TODO: Become stricter when is removed. 1 # FIXME: have SANITIZER_COMMON_CFLAGS thingy? should fno-builtin be in 3 // TODO: Canonicalize the constants in binary operators to the RHS when 1 fatal(Twine(__FUNCTION__) + ": FIXME: thunk range overrun"); 1 // FIXME: Should make sure no callers ever do this. 9 // FIXME: Add more FMA instructions like XSNMADDADP and so on. 1 // FIXME: An isa<> would look much better but this whole switch is a 1 // FIXME: also for 'this' 1 // FIXME: This doesn't enforce the C++98 constant expression rules. 1 // FIXME: Update the code that emits this adjustment in thunks prologues. 1 // TODO: verify other bits like linkage type. 1 // TODO: Query the map to see if we already have one. 1 // TODO: Is it ever worth rewriting predecessors which don't already 1 // FIXME: We want to replace is_integral_or_enum and is_pointer here with 1 // TODO: This can be improved. See comment in select condition handling. 1 // FIXME: Pass most of the flags below that check Version if LinkerIsLLD too. 1 // FIXME: size expression and attribute locations (or keyword if we 2 // FIXME: These numbers are for the A2, how well they work for other cores is 1 // FIXME: Currently this is not set correctly for breaks inside comments, as 1 // FIXME: This is a workaround for a deficiency in SROA - see 1 // TODO: Add Tail exit when it is added to llvm/XRay/XRayRecord.h 1 // TODO: add inline functionality 1 // FIXME: ODR-checking for merging lambdas (this happens, for instance, 1 // FIXME: Currently allowing any Ref -> whatever cast. 1 // TODO: Refactor to use Sema::handleFloatConversion() 1 // FIXME: These functions are really public, if advanced, elements of the 1 // TODO: check if extended build vector as well. 2 // FIXME: Add other options that generate output. 1 // TODO: STORAGE_SIZE 1 // FIXME: When LLVM moves to C++17, these can become folds 3 return; // FIXME: report these to the user as warnings? 1 // FIXME: Other flags or attrs? 1 // TODO: Support with G_IMPLICIT_DEF + G_INSERT sequence or G_EXTRACT 1 // FIXME: If MBB is non-null at this point, it is the last pre-computed block 1 // FIXME: this option currently only applies to DWARF, and not CodeView, tables 1 // FIXME: We could add logic to be more precise about negative offsets 1 /// TODO: diagnose attribute-specifiers and alignment-specifiers. 1 /*TInfo=*/nullptr, // FIXME: Do ObjCAtDefs have declarators ? 1 // FIXME: tell SSL that we start at a less-then-MaxAlignment aligned location 1 // FIXME: Should this be factored into the base implementation somehow. 1 // TODO: check for all concerned instructions. 1 // FIXME: handle subsystem 1 // FIXME: Should the Sema create the expression and embed it in the syntax 1 {"HALF", /* FIXME populate this */ B(_0)}, 1 // FIXME: Where did the word "trailing" come from? 1 // FIXME: Can we break out of this loop early if no insertion occurs? 2 // FIXME: This doesn't handle composite types that contain a decltype in them. 1 // TODO: Handle special 0/-1 cases DAG combine does, although we only really 1 // TODO: generalize to access patterns which have gaps 1 // TODO Replace this with OptTable API once it adds extrahelp support. 6 // FIXME: Use a "materialization-side-effects-only symbols must be 1 // TODO: test CFI_is_contiguous 1 // FIXME: Should have no register for immediate 1 // FIXME: Move ASTMatcher library. 1 // FIXME - do we want to try to propagate specific errors here? 1 // FIXME: Is it possible and/or useful to do this before PreStmt? 1 // FIXME: This warning is disabled in cases where it shouldn't be, 1 // FIXME: There should be a cleaner way to do this. 1 // FIXME: Implement proper liveness tracking for all registers. For now, 1 // FIXME: this might strip inner qualifiers; okay? 1 // TODO: this is a bit hacky. It finds the correct operand by 1 // TODO log 4 // FIXME: this is an inefficient way to handle this. We should computed the 1 # FIXME: This should get outputs from gn. 1 // FIXME: Likewise for sxt[bh] with a Xd dst operand 1 // FIXME: Not too happy about invalidating the declaration 1 return false; // TODO this should actually never happen 2 // FIXME: To match mingw GCC, thiscall should only be mangled in when it is 1 // FIXME: If/when .dump and .load are implemented they will be done in the 1 // TODO FMT Add the handle. 1 // FIXME: This should be true for N32 too. 1 // FIXME: we currently succeed on selection at the end of the token, e.g. 1 // FIXME: We no longer need the types from FunctionArgList; lift up and 1 // FIXME: We don't accept GNU attributes on access specifiers in OpenCL mode 1 // FIXME: If VD is a definition, we should regenerate the function attributes 1 // FIXME: Closure-library specific stuff should not be hard-coded but be 1 // TODO: merge this with other aka printing above. 1 // FIXME: InstImpResults should not be part of DAGInstruction. 1 /// TODO: Use the PM to get domtrees, and preserve BFI/BPI. 1 // FIXME: Once pointee types are gone we can probably pick one or the 1 // TODO: add notes about successes/fails for APIs. 1 // TODO: __kmp_str_buf_print() can use thread local memory allocator. 1 // FIXME: TargetTriple is used by the target-prefixed calls to as/ld 1 // TODO: check whether CurReg is already masked by EXEC 1 // TODO Allow zext to be sources. 1 // TODO: We should run remove dead bindings here. 1 // FIXME: See CFGBuilder::addLocalScopeForVarDecl. 1 // TODO: create ConstantAggregateZero for FIR aggregate/array types. 1 // TODO: We could check that all redeclarations use the same name for 1 // TODO: When C11 mutexes land: 1 // FIXME: Remove this mechanism when all problematic passes have been 1 /// TODO: Support more complex loops with divergent lbs and/or ubs. 1 // FIXME: Should report this for all address spaces 1 /// FIXME: The vector preheader should also be modeled in VPlan, so any code 1 // FIXME: Since post-ra scheduler operates on bundles, the CPSR kill 1 // FIXME: Is this wise? Should they get their own kind? 1 // FIXME: No node found associated to the position. 1 // TODO: Add a priority queue for prioritizing nodes by different 1 // FIXME: Consider evaluating unreachable basic blocks (those that have a 1 // TODO: Add support for __vectorcall to LLVM. 1 // FIXME: Handle dependent types that aren't yet object types. 1 // FIXME: Traverse the elements. 1 // FIXME: The logic for looking up nullary and unary selectors should be 1 // TODO: this can be handled in the future by using the explicit 1 // FIXME: This just applies the type legalization cost rules above 1 // FIXME: Why is this case not handled with calling HandleNameConflict? 2 // FIXME: This is overly conservative; the new instruction accesses 4 2 /// TODO: This should be split into two enums: a runtime entry point enum 1 // FIXME: This function needs to be properly tested. 1 // FIXME: VR def may not be in entry block. 1 // FIXME: Eliminate this dependency. 2 // FIXME: We need to handle lambdas and blocks within inline / templated 1 // FIXME: Could we support packed types here? 1 // FIXME: Implement support for large stack sizes, when the stack extension 1 // TODO: it is neccessary to set proper SectionIndex here. 1 # TODO: Ensure that each dep is actually a add_redirector_object target. 1 // TODO: Remove LazyBFI when LazyBlockFrequencyInfoPass is available in NPM. 1 // TODO: Implement arbitrary cases 1 // TODO The following IS implemented in libgcc 4 // FIXME: PushOnScopeChains? 2 // TODO: print pass descriptions when they are available 1 // TODO: Enable this again. 2 // FIXME: Replace this function with a create-only facilty like 1 // TODO: Remove __kmp_barrier_pattern_name variable, remove loops from parse and 1 // TODO: Callee-pop functions should have a smaller penalty, because 1 // FIXME: ARM looks for a case where the block containing the compare 1 // TODO: Should report 32-bit for scalar condition type. 1 // FIXME: For synthesized functions that are not defaulted, 1 // TODO: The ReturnLike trait should imply a default implementation of the 1 // FIXME: This is no longer necessary as the TTI returned is per-function. 1 // TODO: The one-use restrictions for a scalar select could be eased if 1 // FIXME: G_TRUNC should work, but legalization currently fails 1 // FIXME: change this to use the more-rich 'getPredicateOnEdge' method if 1 // FIXME: Check consistency if we have an old and new operator delete. 1 // OpenMP 5.1 permits a ':' even without a preceding modifier. TODO: Is 1 // FIXME: Constructors to placement arguments of operator new 1 // FIXME: This isn't correct; it assumes that multiple OpaqueValueExprs 1 // FIXME: Tail-allocate this to reduce the size of FieldDecl in the 1 /// TODO: It would really be nice to make _Pragma just be a wrapper around a 1 // FIXME: the myriad2[.n] spellings are obsolete, 1 // FIXME: Exception specification. 1 // FIXME: We should not remove any dead flags. However the MIPS RDDSP 1 // TODO: This is an approximation. When legalized this could be more. We 1 // TODO: Enable SafeStack on RISC-V once tested. 1 // FIXME: Handle environment options which affect driver behavior, somewhere 1 /* TODO: consider resizing undersized teams instead of reaping them, now 1 // FIXME: This was an side-effect-free (and possibly infinite) loop when 1 /// FIXME: Remove this. Users should use DILocation/DILocalScope API to 1 // TODO FMT Implement full 128 bit support. 2 // TODO: Also handle mul by doubling the shift amount? 1 // FIXME: These can be defined in one place... except special member 1 // TODO: See if there is a way to determine the language for a symbol 1 // TODO: parallelize this function. 1 // TODO: Support forward slice fusion. 1 // FIXME: it might not be always accurate to use the first using-decl. 1 /// FIXME: This is an egregious hack because querying the pass registry is 1 // TODO: Propagate RewriterBase everywhere. 2 // TODO: Add fmaddsub support? 1 // FIXME: Teach the outliner to generate/handle Windows unwind info. 1 // FIXME: Can we unify the following with UnwrapSimilarTypes? 1 // FIXME: the isOSBinFormatMachO is a workaround for identifying a Darwin-like 1 /// TODO: A large part of this logic is duplicated in InstCombine's 1 // FIXME: Add a representation for integer constants wider than 64 bits. 1 // FIXME: unreachable 1 // FIXME: If our tentative parse was not incomplete, parse the lambda from 1 // TODO: both of these should move upstream to their respective classes. 1 // TODO: change this to take an ArrayRef 1 // FIXME: This should be based off of the target features in 1 // FIXME: When we generate this IR in one pass, we shouldn't need 1 // TODO: Detect calling convention in DWARF? 1 // TODO: This only works for targets implementing LLVMTargetMachine. 1 // FIXME: right now we emulate params with loads; that should be fixed. 1 // FIXME: Note that currently we make a very conservative estimate of the 1 // FIXME: This should be removed and replaced with the generic bitcast legalize 1 // FIXME: It would be nice to not claim this here; maybe the old scheme of 1 // FIXME: This should detect covariant return types, but currently doesn't. 1 // TODO: Here we could look at the users to see if the resource is either 1 // TODO: If we ever want to support v7, this needs to be extended 1 // TODO: Handle nested regions once we start generating the same. 2 // TODO: If some of the operands are 64-bit SGPRs and some 32, we should 1 // TODO: It would probably be better to check for self-reads before 1 // TODO: we only have to forbid instructions writing to memory that could 1 // FIXME: stable encoding 2 // FIXME: We should use ranges allow reordering of code ala 1 /// FIXME: It's not currently possible to determine how many registers 1 // FIXME: Maybe allow declaration/initialization outside of the for loop. 1 // TODO: This should be folded into buildCustomStateMachine. 1 // FIXME: We should probably define a "concat_iterator" helper and use that 1 // TODO: Print error messages in failure logs, use them to audit this list. 1 // FIXME: Force the precision of the source value down so we don't 1 // FIXME: Improve for C++ (check for namespace). 1 // TODO: It might be nice to get a maximum length out of the possible 1 // TODO: This should be replaced with a target query. 1 // FIXME: ISD::SELECT, ISD::SELECT_CC 1 // TODO: remove this hack and change to using hw.optional.xx when 2 /* TODO: Need to handle 0 values better. GMP prints 0/4 instead of 0.*/ 1 // FIXME: We don't really want to use getBaseRegion() here because pointer 1 // that remains TODO is changing findBaseOrBDV to return an 1 // FIXME: The tied operands checking is not yet integrated with the 1 // FIXME: Should have analysis or something rather than attribute to detect 1 // TODO: This should probably return the range (0, 40) as well. 1 // TODO: what about instantiations in BLOCK? 1 // TODO: Use information from tests in for- and while-loop conditional. 1 // FIXME: we're silently ignoring invalid data here 1 // TODO: change this to get the correct decl context parent.... 1 // FIXME: IRTranslator should probably not do this 1 // FIXME: Use hasReservedCallFrame to avoid %sp adjustments around all calls 2 // FIXME: The path should be taken from the FileEntryRef. 1 // TODO: This is insufficient; find a better way to handle this 1 # TODO: remote this check once we address PR51389. 1 // TODO: Lift the endianness and implementation selection here. 1 // TODO: Currently, all of these operands are being marked as read/write in 1 // TODO: Once we have call site specific value information we can provide 17 // FIXME: C calling convention requires the return type to be promoted to 1 // TODO: Add useful for client methods. 1 // TODO: If set is sorted, could use binary search 1 // FIXME: Implement: Record such a context for every imported ASTUnit; lookup. 1 // TODO: Move tensor::DimOp pattern to the Tensor dialect. 1 // FIXME: No need to use the non-const iterator when built with 1 // TODO: Handle zero cases as well. 1 // TODO: Fold a following sign-/zero-extend into the load instruction. 1 // FIXME: Check the value. 1 .getQuantity(); // TODO Store m_struct_size as CharUnits 1 // FIXME: Here we actually perform an implicit conversion from the loaded 3 // FIXME: Cache the number on the AL object? 1 // TODO: These should become properties of the GCStrategy, possibly with 1 // FIXME - there's got to be a better way to print an error 1 // FIXME: Set HasLongJmp if we ever track that info. 1 // TODO: Handle other scopes as we start to use them for index results. 1 /* FIXME: This doesn't reflect how lldb actually launches a process. 1 // FIXME: A better way to implement this would be to add a local variable 1 // FIXME: Handle multi-file changes by trying to map onto a common root. 1 // TODO: Should we handle b.cc? 1 // FIXME: Some of the 8 bits require fix up. 1 // TODO: An 'affine.if' operation is being treated similar to an 1 // FIXME: This does not handle register-indirect values at offset 0. 1 // FIXME: We should add the copied decl to the 'decls' list. This would 1 // TODO We should accept calls even if they don't have zeroext, as they 1 // FIXME: Eventually, a NULL return will mean that one of the 1 // It is acknowledged by 'TODO: Inherit from Metadata' in the 1 // FIXME: Blocks might have a return type of 'auto' explicitly specified. 1 /* TODO: These opcodes can be added safely, but we may want to justify 1 // FIXME: not always sigill. 1 //TODO: consider usage of parallel_for with a custom blocked_range 1 // FIXME: Add error propagation to the interface. 1 // TODO: Most functionality in this class will gradually be phased out 1 // constant memory for instance, TODO: handle better 1 // FIXME: The "Value" is an uint64_t so we can handle char literals of 1 // FIXME: This should be const. 2 // TODO add caching 2 // TODO: If we have an unknown access and other non-affine accesses we do 1 // FIXME: Deal with header maps. 1 // FIXME: This (and the code that resolves the references) can be improved 2 // TODO: can we make the above op faster? 1 // TODO: Move this to ValueEnumerator::EnumerateOperandType() once bitcode 1 // TODO: While using the data layout works in practice, a better solution 1 // TODO: Handle more splat vector cases. 1 // FIXME: CommonSymbol should store isReferencedDynamically, noDeadStrip 1 // FIXME: error handling? 1 // FIXME: Come up with a more comprehensive comparator so 1 // TODO: filter out buggy duplicate branches on Skylake 1 // FIXME: This does the work of transferNodesFromList inefficiently. 1 // TODO: This will result in a modest amount of values not marked noundef 1 // FIXME: Do we need to also save the template specialization kind here? 1 // FIXME: emitDecoder() function can take a buffer directly rather than 1 // TODO: We could ease the mask requirement to allow different undef lanes, 1 // FIXME HandleNameConflict 1 // FIXME: compare_insensitive only works for ASCII. 1 // TODO: Detect disabled heuristics and no user-directed transformation 1 // TODO: Handle SourceLocationSpec column information 4 // FIXME: duplicated from Target/WebAssembly/WebAssembly.h 1 // TODO: kill this function off, inline appropriate case here 1 HI.LocalScope = "X::"; // FIXME: X:: 1 // TODO: Only the low 4/5/6 bits of the shift amount are observed, so we can 1 // FIXME: Encode the qualifier, don't just print it. 1 // FIXME: If Amt is zero, the following shift generates an undefined result 1 // FIXME: A more advanced approach would be to choose the best input mask 1 // FIXME: is this special case still needed and correct? 1 // FIXME: Does this need to be configurable? 1 // FIXME: Migrate all users to construct via either `precise` or `upperBound`, 1 // TODO: Should we check if CTPOP is legal(or custom) for scalars? 1 // FIXME: The condition can be refined, but be conservative for now. 1 // TODO: This may be worth removing. Check regression tests for diffs. 2 // FIXME: conditional expression is not modeled yet. 1 // FIXME: When binutils 2.31 (containing gold 1.16) is the minimum 1 // TODO: global directives 1 // FIXME: Notify subsequent callbacks if info comes from implicit 1 // FIXME: We should probably sink the logic for handling these from the 1 // TODO: add a configuration option for time granularity 2 // TODO: We could be better here. If LI is not alive in landing pad 1 // FIXME: not implemented. 1 // FIXME: test tokens with digraphs and UCN identifiers. 1 // TODO: Identify and omit noop casts. 1 // FIXME: To match MSVC, this should only be done when the class is exported 1 // TODO: Ops in the linalg dialect can directly implement this interface. 1 // FIXME: We should model the cost of using an explicit MOV to handle 1 // TODO: Figure out sane writer behavior for a TypoExpr, if necessary 1 // FIXME: best to use isConstantOrConstantVector(). 1 // TODO Don't store Resolver in every RelocAddrEntry. 1 // FIXME: These can be generated by TableGen from the existing register 1 /// FIXME: machine module passes still need to define the usual machine 1 // FIXME: test and enable. 2 // TODO: Propagate RewriterBase everywhere. 1 // TODO: Restructure/combine with PAL metadata directive. 1 # FIXME: Also, the GN way is to write this file at build time. But since 1 // TODO: this is inefficient, we are recreating the attribute for every 1 // TODO: look for (assumed) UB to backwards propagate "deadness". 1 // FIXME: Traditional: # with whitespace before it not recognized by K&R? 1 // TODO: If we wanted to be faster, We could remove any members with no 1 // TODO: might need to change the warning once the clang option is finalized. 1 // TODO: compare types, parameters, bounds, &c. 1 // TODO: Try to avoid undefined accesses. 1 // TODO: see if there isn't a better way to do this. 1 // FIXME: If DIEBlock and DIELoc just reuses the Size field of 1 // FIXME: It seems bad to use RegSeen only for some of these calculations. 1 // TODO: add atomic region using cmpxchg (which needs atomic load to be 1 // FIXME: In C++14 and later, we can just pass m2Type->param_type_end() 1 // TODO: add C++ includes and libs if compiling C++. 1 // TODO: Check checker options too, possibly in CheckerRegistry. 1 // FIXME: We might want to select everything inside the outer ECHO. 1 // FIXME: Fold this into the 'auto' codepath above. 1 // TODO: In the future, we can handle non-empty exit blocks my merging any 1 // TODO: Is it possible to diagnose when `name` is already registered to 2 // TODO: Add support for regions if necessary. 1 // FIXME: For unsigned i128 to ppc_fp128 conversion, we need to carefully 1 // FIXME: We might be able to safely handle some of these in non-duplicated 1 // TODO: we currently only collect i16, and will support i8 later, so that's 1 // FIXME - If finding successor is compile time expensive then cache results. 1 // FIXME: Handle non-itanium ABI EH models. 1 // TODO: Refine on operand 1 // FIXME: This can lead to duplicate diagnostics if we retry parsing this 1 // TODO: Adjust the 'returnType' field of such attributes 1 return m_unwind_plan_compact_unwind[0]; // FIXME support multiple compact 1 // TODO: consider checking explicit casts? 1 // TODO: Handle clamp pattern with number of sign bits 2 // FIXME: This isn't covered by tests. 1 // FIXME: Currently we can't recognize temporary or local symbols and call all 1 // FIXME: Figure out what this break point is doing, and set the inline 1 // FIXME: Handle the 'framework' keyword. 1 // FIXME: Ideally this should never be necessary, and this has the potential 1 /// TODO: specified Address for --lookup option could relate for several 1 // FIXME: It isn't clear whether this should ever be needed; 1 // TODO - Common the code with DAGTypeLegalizer::SoftenFloatOp_FP_TO_XINT. 1 // FIXME: This is ill-formed; we should reject. 1 // FIXME: This should be done in FinalizeLayout. 1 // FIXME: StringSet should have insert(iter, iter) to use here. 1 // FIXME: Support other XRay-instrumented binary formats other than ELF. 1 # FIXME: merge the code that calls fix_filename(). 1 // FIXME: We do not model vector arithmetic yet. When adding support for 1 // FIXME: What about references? 1 // TODO: We also should check that the target can in fact lower the sqrt() 1 // FIXME we can still emit a copy of the vtable if we 1 // TODO: We don't do phi translation on memory accesses because it's 1 // FIXME: InstCombineInverter? But how to connect Inverter and Negator? 1 // FIXME: make this available in the public API for users to easily create their 1 // TODO: Look in non-address parts, like icmp operands. 1 // FIXME: Fixing non-power-of-2 before clamp is workaround for 2 // FIXME: Needs fixup support. 3 // FIXME: better error handling. For now, just print error message in the 2 // TODO: Generalize to other loop blocks that dominate the latch. 1 // TODO: this could be customized in the future. 1 // FIXME: We need a callback mechanism for the tool writer to output a 1 // FIXME: Handle this for bitcode files. 2 // TODO: EmitSizeRemarks 1 // FIXME: As of now we handle only CallInst. InvokeInst could be handled 1 // FIXME: It's not clear whether we should use the driver's installed 3 // TODO: It's pretty inefficient to shuffle this all through constants. 2 // FIXME: Consolidate duplicate definitions of RegisterRef 1 // FIXME: Why isn't ImplicitParamDecl a ParmVarDecl? 1 // TODO: Consider expanding to other addressing modes in the future 1 // TODO: Currently restricted to default locale. 14 // TODO: should we do a contextual conversion? 1 // FIXME: Try looking at other TUs if no compile commands are available 1 // FIXME: it would be nice to exclude these references, by micromanaging 1 /// TODO: Generalize the rest of the AppleAcceleratorTable interface and move it 1 // FIXME: Call site could have norecurse on it 1 // TODO: Support these cases. 1 // FIXME: handle forward protocol that are declared across multiple lines. 4 // FIXME: In the future we'd need to distinguish between non-tail exits and 2 // FIXME: This area of the standard is very messy, and the current 1 // FIXME: Once callee expressions are defined to be sequenced before argument 1 #if 0 // TODO: the following blocks of logic when we have fence. 1 // TODO: there might be cases that it should block the vectorization. Let's 1 // FIXME: This is a temporary measure until we have reworked the ownership 1 // FIXME: Assess perf here? Figure out what cases are worth optimizing here 1 // FIXME: Missing constant_32bit 1 // FIXME: this is incorrect for WinCE 2 // FIXME: We can do the same thing if there is any local declaration of 1 /// TODO: Wrapping flags could be preserved in some cases with better analysis. 1 // TODO: Maintain a cache of Values that are 1 // FIXME: If the type is a pointer-to-data-member under the Itanium ABI, 1 // FIXME: Allow commands to signal failure. 1 // FIXME: SYCL specification considers unannotated pointers and references 1 // TODO: We might want to return a different type here (ex: id (*ty)(...)) 1 // TODO: Add LC_REEXPORT_DYLIB, LC_LAZY_LOAD_DYLIB, and LC_LOAD_UPWARD_DYLIB 1 // TODO: Use something smarter than equality here, e.g., gcd. 1 // FIXME: It would be nice to propagate this in more ways, but the type 1 // FIXME: This won't catch cases where the address is taken outside 1 // FIXME: Not all targets may support EVL in VP_STORE. These will have been 1 // TODO: Explain CXXThisRegion itself, find a way to test it. 1 // TODO swap: fp_status_t fpu_fsw; 1 // FIXME: Calling decode_eht_entry() here is violating the libunwind 1 // FIXME: Should we keep track within VCtx that we did or didnot 1 // FIXME: Some error handling if Start.SectionIndex != End.SectionIndex 1 /// FIXME: Support 'private textual header'. 1 /* TODO verify the need for these locks and if they need to be global */ 1 // TODO: Extend llvm.dbg.value to take more than one SSA Value (PR39141) to 1 // FIXME: Attributes 1 // TODO: Check regmasks? Do they occur anywhere except calls? 1 // TODO replace_path_prefix may strip the prefix even if the remaining 1 // TODO: base this on the number of branch-afters and fixups 1 // FIXME: it would be nice for the ASTNodeTraverser would handle the catch 1 // TODO: right now it only tracks generic types. Extend this to track every 1 // FIXME: This should really be AA driven. 1 // TODO: handle non hyper-rectangular spaces. 2 // FIXME: Only add live functions. 1 // TODO: typeLen can be improved in compiled constant cases 1 // TODO: Handle multiple stores folded into one. 2 // Get the RR opcode corresponding to the RI one. FIXME: It would be 2 HI.Type = {"A", "type-parameter-0-0"}; // FIXME: should be 'T' 1 // FIXME: Make two separate allocations in the future to reduce 1 // FIXME: extend it to ^virtual, unfortunately, virtual location is not 1 self.win.scroll(1) # TODO: scroll more for longer commands 1 PRE_SYSCALL(compat_43_osethostid)(long long hostid_) { /* TODO */ } 1 // FIXME: include additional filtering and annalysis passes to provide more 1 // TODO: We should map frontendOpts_ to parserOpts_ instead. For that, we 1 // FIXME: We might want to terminate an async initial scan early in case 1 // FIXME: Rewrite the extracted code performing any required adjustments. 1 // TODO: call BLAS-2 ZGEMV(x,y) 1 // FIXME: catchpad 1 // FIXME 'invoke' to setjmp can happen when we use Wasm EH + Wasm SjLj, but 2 /// 5. TODO: Optionally applies actions (lambda), in which case we will want 1 // TODO: Once GCC5 is fully retired and not the minimal requirement as stated 1 // FIXME it would be nice to have "on-change" callbacks for properties 1 // FIXME: Consider using finalOutput instead of outputFile. 1 /// TODO: this could all be much simpler if we added a bit that a vector type to 1 // FIXME: Don't compute this in advance, it makes every token larger, and is 1 // FIXME: CXXDeleteExpr isn't present for custom delete operators, or even for 1 // FIXME: Why do this only on this path? 1 // TODO: This restriction matches the check in visitInsertElementInst() and 1 EXPECT_EQ(One.shl(Wrap), Full); // TODO: [0xa, 0xa << 14 + 1) 1 // FIXME: For mips32r2, the sequence of (BuildPairF64 (ins (ExtractElementF64 1 // TODO: support specialization constant here. 1 // FIXME: The path should be taken from the FileEntryRef. 1 // TODO: Further optimization - Check if the memref is indeed part of 1 // FIXME: For now, allow reinitialization as long as values don't 1 // FIXME: should check if immediate value can be obtained from shifting 1 // FIXME: As accumulating total count per instruction caused some 1 // TODO: This could be done in Driver 1 /// TODO: Some of these could be merged. Also, a lexical ordering 1 // FIXME: Refactor this code; this duplicates logic in LibCallsShrinkWrap 1 // TODO: Remember a few examples of generated messages 1 // FIXME: We have to check the process and make sure we actually know that 1 // FIXME: Handle other kinds of trivial constructors as well. 1 /// FIXME: The following static functions are SizeChangeStrategy functions 2 // FIXME: Handle custom args. 1 // TODO: Handle big-endian results 1 // FIXME: Optimize away range check based on pivot comparisons. 2 // TODO: we can probably pay closer attention to cases when the class 1 // TODO: deal with integer exactness when necessary - can return a value to 1 // FIXME: Consumed parameters. 1 // TODO: Instead of blocking predication, we could move the vctp to the exit 1 // FIXME: This check isn't quite right: it allows star in prototypes 1 // TODO: Predication and linearization need RPOT for every region. 1 // FIXME: Support target-specific constant pools 1 // FIXME: Should we eventually add an alternative mapping with AGPR src 1 // TODO: loads to immutable memory regions are ok. 1 // FIXME: there's probably *something* we can do with scalable vectors 1 // TODO: If this requires multiple splits, handle them all at once. 1 // FIXME: Figure out whether it makes sense to allow this 1 // TODO: What if the ClosestSubprogram is neither null or the current 1 # FIXME: We should use multiple check prefixes to common check lines. For 3 // FIXME: It seems old dates are not formatted according to NSDate's calendar 1 // FIXME: Should be false. LabelDecl are incorrectly matched. 1 // FIXME: a namelist group must be some well-defined data structure, use a 1 // FIXME: We also need to handle big values here, but it's 1 // TODO: This is slightly conservative for invoke instruction since exiting 1 // TODO: Remove the serialization of Parents and VirtualParents, this 1 // TODO: allow fusing the producer of an output operand. 3 // FIXME: Stop using reserved registers for this. 1 // FIXME: This is a bit of a hack. We should really unify this code for 2 # TODO: Remove this foreach block when we can switch to the new 1 // FIXME: our index doesn't have any interesting information (this could be 1 // TODO: As we hit a new block, we should push and pop equalities into a 1 // FIXME: This logic isn't really right; we can safely inline functions with 1 // TODO: Should there be a UniformVGPRRegBank which can use readfirstlane? 1 // FIXME: This should be NumberOfRvaAndSizes. 1 // TODO: add a TLI hook to control this so that each target can 3 // TODO: mangle this differently for your system - on OSX, the first 1 // TODO: Make r2 allocatable on AIX/XCOFF for some leaf functions. 1 // FIXME: DeferredEmptyCoverageMappingDecls is getting mutated because 1 // FIXME: Move local imported entities into a list attached to the 1 // TODO: We should create a separate data structure that does not contain 1 /* TODO this can cause some odd behaviour with sibling parallelism... */ 1 // FIXME: init MCOptions from sanitizer flags here. 1 // FIXME: should check if immediate value is a multiple of 4 between 0 and 1 // TODO: We could make use of the edit distance between the argument name 1 // TODO: This allows folding to undef when the hardware has specific 1 // FIXME replace with Hex U64 read with no default value that fails on failed 2 // FIXME: Remove this check (and make the assignment unconditional) after 1 // TODO: grab error message from the packet? StringExtractor seems to 1 // FIXME: Remove when binutils 2.31 (containing gold 1.16) is the minimum 2 // FIXME: This does not currently preserve SimplifyLoop because the exit 1 // FIXME: If clang-format writes enough to the standard error stream to block, 1 // FIXME: do not consume trailing semicolon on function definitions. 1 // FIXME: Need to take absolute value for negative stride case. 1 /// FIXME: unify with index proximity score - signals should be 1 // FIXME: Mark the variable as uninitialized whenever its scope is 1 DEF_TRAVERSE_DECL(ObjCInterfaceDecl, {// FIXME: implement 1 // TODO: Add better profitability checks. 1 /// TODO: Drop unused accessors. 1 // TODO: Handle cases where a non-CallOp symbol use of a function deals with 1 // TODO: Introduce a specific representation for external definitions in 1 // TODO: Intrinsics that do not require their arguments to be defined 1 // FIXME: Set tags for tidy-based diagnostics too. 1 // FIXME: Generate a decl in the header. 1 // TODO: In "large" mode, a pointer to a BitVector is used, leading to an 1 // FIXME: There is no wording to say what we should do in this case. We 1 /// TODO: provide a proper init function. 1 // TODO: Consider adding a requirement for user functors to be constant. 1 //TODO: perform validation 1 // TODO: Hoisted invariant loads should be found in GlobalMap only, but not 1 // TODO: Raise floating point exceptions as required by the standard. 2 // FIXME: maybe we should be doing things differently for all the 1 // FIXME: It would be nice to dump all inserted instructions. It's 1