diff --git a/README.rst b/README.rst index 05ddeb6b70..6e6ab59bb3 100644 --- a/README.rst +++ b/README.rst @@ -3,7 +3,7 @@ Cretonne Code Generator ======================= Cretonne is a low-level retargetable code generator. It translates a `target-independent -intermediate language `_ into executable +intermediate language `_ into executable machine code. *This is a work in progress that is not yet functional.* @@ -61,7 +61,7 @@ Building the documentation -------------------------- To build the Cretonne documentation, you need the `Sphinx documentation -generator `_:: +generator `_:: $ pip install sphinx sphinx-autobuild sphinx_rtd_theme $ cd cretonne/docs diff --git a/cranelift/docs/compare-llvm.rst b/cranelift/docs/compare-llvm.rst index 03b82dc7f7..0180f6cc92 100644 --- a/cranelift/docs/compare-llvm.rst +++ b/cranelift/docs/compare-llvm.rst @@ -2,9 +2,9 @@ Cretonne compared to LLVM ************************* -`LLVM `_ is a collection of compiler components implemented as +`LLVM `_ is a collection of compiler components implemented as a set of C++ libraries. It can be used to build both JIT compilers and static -compilers like `Clang `_, and it is deservedly very +compilers like `Clang `_, and it is deservedly very popular. `Chris Lattner's chapter about LLVM `_ in the `Architecture of Open Source Applications `_ book gives an excellent @@ -40,7 +40,7 @@ Intermediate representations LLVM uses multiple intermediate representations as it translates a program to binary machine code: -`LLVM IR `_ +`LLVM IR `_ This is the primary intermediate language which has textual, binary, and in-memory representations. It serves two main purposes: @@ -49,7 +49,7 @@ binary machine code: - Intermediate representation for common mid-level optimizations. A large library of code analysis and transformation passes operate on LLVM IR. -`SelectionDAG `_ +`SelectionDAG `_ A graph-based representation of the code in a single basic block is used by the instruction selector. It has both ISA-agnostic and ISA-specific opcodes. These main passes are run on the SelectionDAG representation: @@ -65,7 +65,7 @@ binary machine code: The SelectionDAG representation automatically eliminates common subexpressions and dead code. -`MachineInstr `_ +`MachineInstr `_ A linear representation of ISA-specific instructions that initially is in SSA form, but it can also represent non-SSA form during and after register allocation. Many low-level optimizations run on MI code. The most important @@ -74,7 +74,7 @@ binary machine code: - Scheduling. - Register allocation. -`MC `_ +`MC `_ MC serves as the output abstraction layer and is the basis for LLVM's integrated assembler. It is used for: @@ -126,7 +126,7 @@ condition is false. The Cretonne representation is closer to how machine code works; LLVM's representation is more abstract. LLVM uses `phi instructions -`_ in its SSA +`_ in its SSA representation. Cretonne passes arguments to EBBs instead. The two representations are equivalent, but the EBB arguments are better suited to handle EBBs that may contain multiple branches to the same destination block diff --git a/cranelift/docs/langref.rst b/cranelift/docs/langref.rst index 3219f14b08..3a855c32b4 100644 --- a/cranelift/docs/langref.rst +++ b/cranelift/docs/langref.rst @@ -782,7 +782,7 @@ Integer operations For example, see `llvm.sadd.with.overflow.*` and `llvm.ssub.with.overflow.*` in - `LLVM `_. + `LLVM `_. .. autoinst:: imul .. autoinst:: imul_imm diff --git a/cranelift/docs/make.bat b/cranelift/docs/make.bat index 9267ac038e..2958a2ba6e 100644 --- a/cranelift/docs/make.bat +++ b/cranelift/docs/make.bat @@ -22,7 +22,7 @@ if errorlevel 9009 ( echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ + echo.https://sphinx-doc.org/ exit /b 1 ) diff --git a/lib/cretonne/src/regalloc/coalescing.rs b/lib/cretonne/src/regalloc/coalescing.rs index 416783b6c0..1dc06c6c2b 100644 --- a/lib/cretonne/src/regalloc/coalescing.rs +++ b/lib/cretonne/src/regalloc/coalescing.rs @@ -26,7 +26,7 @@ use timing; // The coalescing algorithm implemented follows this paper fairly closely: // // Budimlic, Z., Cooper, K. D., Harvey, T. J., et al. (2002). Fast copy coalescing and -// live-range identification (Vol. 37, pp. 25–32). ACM. http://doi.org/10.1145/543552.512534 +// live-range identification (Vol. 37, pp. 25–32). ACM. https://doi.org/10.1145/543552.512534 // // We use a more efficient dominator forest representation (a linear stack) described here: // diff --git a/lib/cretonne/src/result.rs b/lib/cretonne/src/result.rs index 387eaa9a2a..aa209a0845 100644 --- a/lib/cretonne/src/result.rs +++ b/lib/cretonne/src/result.rs @@ -26,7 +26,7 @@ pub enum CtonError { /// Cretonne can compile very large and complicated functions, but the [implementation has /// limits][limits] that cause compilation to fail when they are exceeded. /// - /// [limits]: http://cretonne.readthedocs.io/en/latest/langref.html#implementation-limits + /// [limits]: https://cretonne.readthedocs.io/en/latest/langref.html#implementation-limits ImplLimitExceeded, /// The code size for the function is too large. diff --git a/lib/filecheck/src/lib.rs b/lib/filecheck/src/lib.rs index 4c8a242897..4dec7a9b65 100644 --- a/lib/filecheck/src/lib.rs +++ b/lib/filecheck/src/lib.rs @@ -1,5 +1,5 @@ //! This crate provides a text pattern matching library with functionality similar to the LLVM -//! project's [FileCheck command](http://llvm.org/docs/CommandGuide/FileCheck.html). +//! project's [FileCheck command](https://llvm.org/docs/CommandGuide/FileCheck.html). //! //! A list of directives is typically extracted from a file containing a test case. The test case //! is then run through the program under test, and its output matched against the directives. diff --git a/lib/wasm/src/func_translator.rs b/lib/wasm/src/func_translator.rs index a9389342e9..7e8955e816 100644 --- a/lib/wasm/src/func_translator.rs +++ b/lib/wasm/src/func_translator.rs @@ -45,7 +45,7 @@ impl FuncTranslator { /// /// See [the WebAssembly specification][wasm]. /// - /// [wasm]: http://webassembly.github.io/spec/binary/modules.html#code-section + /// [wasm]: https://webassembly.github.io/spec/binary/modules.html#code-section /// /// The Cretonne IR function `func` should be completely empty except for the `func.signature` /// and `func.name` fields. The signature may contain special-purpose arguments which are not