llvm.org GIT mirror llvm / a0d04ac
Fix 'platform-specific' hyphenations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212056 91177308-0d34-0410-b5e6-96231b3b80d8 Alp Toker 6 years ago
10 changed file(s) with 28 addition(s) and 28 deletion(s). Raw diff Collapse all Expand all
486486 #. Adding ``add_subdirectory()`` line into
487487 ``/lib/Transform/CMakeLists.txt``.
488488
489 Compiler/Platform specific topics
489 Compiler/Platform-specific topics
490490 =================================
491491
492492 Notes for specific compilers and/or platforms.
20262026
20272027 * Option ``-tailcallopt`` is enabled.
20282028
2029 * Platform specific constraints are met.
2029 * Platform-specific constraints are met.
20302030
20312031 x86/x86-64 constraints:
20322032
632632 Denotes a multithreaded mutator; the collector must still stop the mutator
633633 ("stop the world") before beginning reachability analysis. Stopping a
634634 multithreaded mutator is a complicated problem. It generally requires highly
635 platform specific code in the runtime, and the production of carefully
635 platform-specific code in the runtime, and the production of carefully
636636 designed machine code at safe points.
637637
638638 Concurrent
64076407 uses value of call or is void).
64086408 - Option ``-tailcallopt`` is enabled, or
64096409 ``llvm::GuaranteedTailCallOpt`` is ``true``.
6410 - `Platform specific constraints are
6410 - `Platform-specific constraints are
64116411 met. `_
64126412
64136413 #. The optional "cconv" marker indicates which :ref:`calling
133133 };
134134
135135 /// file_status - Represents the result of a call to stat and friends. It has
136 /// a platform specific member to store the result.
136 /// a platform-specific member to store the result.
137137 class file_status
138138 {
139139 #if defined(LLVM_ON_UNIX)
272272 ///
273273 /// @param path A path that is modified to be an absolute path.
274274 /// @returns errc::success if \a path has been made absolute, otherwise a
275 /// platform specific error_code.
275 /// platform-specific error_code.
276276 std::error_code make_absolute(SmallVectorImpl &path);
277277
278278 /// @brief Normalize path separators in \a Path
317317 ///
318318 /// @param result Holds the current path on return.
319319 /// @returns errc::success if the current path has been stored in result,
320 /// otherwise a platform specific error_code.
320 /// otherwise a platform-specific error_code.
321321 std::error_code current_path(SmallVectorImpl &result);
322322
323323 /// @brief Remove path. Equivalent to POSIX remove().
324324 ///
325325 /// @param path Input path.
326326 /// @returns errc::success if path has been removed or didn't exist, otherwise a
327 /// platform specific error code. If IgnoreNonExisting is false, also
327 /// platform-specific error code. If IgnoreNonExisting is false, also
328328 /// returns error if the file didn't exist.
329329 std::error_code remove(const Twine &path, bool IgnoreNonExisting = true);
330330
345345 /// @param path Input path.
346346 /// @param size Size to resize to.
347347 /// @returns errc::success if \a path has been resized to \a size, otherwise a
348 /// platform specific error_code.
348 /// platform-specific error_code.
349349 std::error_code resize_file(const Twine &path, uint64_t size);
350350
351351 /// @}
365365 /// @param result Set to true if the file represented by status exists, false if
366366 /// it does not. Undefined otherwise.
367367 /// @returns errc::success if result has been successfully set, otherwise a
368 /// platform specific error_code.
368 /// platform-specific error_code.
369369 std::error_code exists(const Twine &path, bool &result);
370370
371371 /// @brief Simpler version of exists for clients that don't need to
407407 /// @param result Set to true if stat(A) and stat(B) have the same device and
408408 /// inode (or equivalent).
409409 /// @returns errc::success if result has been successfully set, otherwise a
410 /// platform specific error_code.
410 /// platform-specific error_code.
411411 std::error_code equivalent(const Twine &A, const Twine &B, bool &result);
412412
413413 /// @brief Simpler version of equivalent for clients that don't need to
429429 /// @param result Set to true if \a path is a directory, false if it is not.
430430 /// Undefined otherwise.
431431 /// @returns errc::success if result has been successfully set, otherwise a
432 /// platform specific error_code.
432 /// platform-specific error_code.
433433 std::error_code is_directory(const Twine &path, bool &result);
434434
435435 /// @brief Simpler version of is_directory for clients that don't need to
451451 /// @param result Set to true if \a path is a regular file, false if it is not.
452452 /// Undefined otherwise.
453453 /// @returns errc::success if result has been successfully set, otherwise a
454 /// platform specific error_code.
454 /// platform-specific error_code.
455455 std::error_code is_regular_file(const Twine &path, bool &result);
456456
457457 /// @brief Simpler version of is_regular_file for clients that don't need to
477477 /// @param result Set to true if \a path exists, but is not a directory, regular
478478 /// file, or a symlink, false if it does not. Undefined otherwise.
479479 /// @returns errc::success if result has been successfully set, otherwise a
480 /// platform specific error_code.
480 /// platform-specific error_code.
481481 std::error_code is_other(const Twine &path, bool &result);
482482
483483 /// @brief Get file status as if by POSIX stat().
485485 /// @param path Input path.
486486 /// @param result Set to the file status.
487487 /// @returns errc::success if result has been successfully set, otherwise a
488 /// platform specific error_code.
488 /// platform-specific error_code.
489489 std::error_code status(const Twine &path, file_status &result);
490490
491491 /// @brief A version for when a file descriptor is already available.
496496 /// @param Path Input path.
497497 /// @param Result Set to the size of the file in \a Path.
498498 /// @returns errc::success if result has been successfully set, otherwise a
499 /// platform specific error_code.
499 /// platform-specific error_code.
500500 inline std::error_code file_size(const Twine &Path, uint64_t &Result) {
501501 file_status Status;
502502 std::error_code EC = status(Path, Status);
509509 /// @brief Set the file modification and access time.
510510 ///
511511 /// @returns errc::success if the file times were successfully set, otherwise a
512 /// platform specific error_code or errc::function_not_supported on
512 /// platform-specific error_code or errc::function_not_supported on
513513 /// platforms where the functionality isn't available.
514514 std::error_code setLastModificationAndAccessTime(int FD, TimeValue Time);
515515
524524 /// @param path Input path.
525525 /// @param result Set to true if status() != status_error.
526526 /// @returns errc::success if result has been successfully set, otherwise a
527 /// platform specific error_code.
527 /// platform-specific error_code.
528528 std::error_code status_known(const Twine &path, bool &result);
529529
530530 /// @brief Create a uniquely named file.
547547 /// @param ResultFD Set to the opened file's file descriptor.
548548 /// @param ResultPath Set to the opened file's absolute path.
549549 /// @returns errc::success if Result{FD,Path} have been successfully set,
550 /// otherwise a platform specific error_code.
550 /// otherwise a platform-specific error_code.
551551 std::error_code createUniqueFile(const Twine &Model, int &ResultFD,
552552 SmallVectorImpl &ResultPath,
553553 unsigned Mode = all_read | all_write);
617617 /// @param path Input path.
618618 /// @param result Set to the type of file, or file_magic::unknown.
619619 /// @returns errc::success if result has been successfully set, otherwise a
620 /// platform specific error_code.
620 /// platform-specific error_code.
621621 std::error_code identify_magic(const Twine &path, file_magic &result);
622622
623623 std::error_code getUniqueID(const Twine Path, UniqueID &Result);
637637 };
638638
639639 private:
640 /// Platform specific mapping state.
640 /// Platform-specific mapping state.
641641 mapmode Mode;
642642 uint64_t Size;
643643 void *Mapping;
441441 ResCount -= (regPressureDelta(SU) * ScaleTwo);
442442 }
443443
444 // These are platform specific things.
444 // These are platform-specific things.
445445 // Will need to go into the back end
446446 // and accessed from here via a hook.
447447 for (SDNode *N = SU->getNode(); N; N = N->getGluedNode()) {
319319 /// 1. Preserve the architecture independence of stack protector generation.
320320 ///
321321 /// 2. Preserve the normal IR level stack protector check for platforms like
322 /// OpenBSD for which we support platform specific stack protector
322 /// OpenBSD for which we support platform-specific stack protector
323323 /// generation.
324324 ///
325325 /// The main problem that guided the present solution is that one can not
337337 /// basic block (where the return inst is placed) and then move it back
338338 /// later at SelectionDAG/MI time before the stack protector check if the
339339 /// tail call optimization failed. The MI level option was nixed
340 /// immediately since it would require platform specific pattern
340 /// immediately since it would require platform-specific pattern
341341 /// matching. The SelectionDAG level option was nixed because
342342 /// SelectionDAG only processes one IR level basic block at a time
343343 /// implying one could not create a DAG Combine to move the callinst.
5252
5353 }
5454
55 /// Include the platform specific portion of TimeValue class
55 /// Include the platform-specific portion of TimeValue class
5656 #ifdef LLVM_ON_UNIX
5757 #include "Unix/TimeValue.inc"
5858 #endif
1919
2020 #define DEBUG_TYPE "misched"
2121
22 /// Platform specific modifications to DAG.
22 /// Platform-specific modifications to DAG.
2323 void VLIWMachineScheduler::postprocessDAG() {
2424 SUnit* LastSequentialCall = nullptr;
2525 // Currently we only catch the situation when compare gets scheduled
149149
150150 buildDAGWithRegPressure();
151151
152 // Postprocess the DAG to add platform specific artificial dependencies.
152 // Postprocess the DAG to add platform-specific artificial dependencies.
153153 postprocessDAG();
154154
155155 SmallVector TopRoots, BotRoots;
9999 /// Schedule - This is called back from ScheduleDAGInstrs::Run() when it's
100100 /// time to do some work.
101101 virtual void schedule() override;
102 /// Perform platform specific DAG postprocessing.
102 /// Perform platform-specific DAG postprocessing.
103103 void postprocessDAG();
104104 };
105105