Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rust-lang/llvm
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1bba09755d95892bc826c558630e93803b0a4ee6
Choose a base ref
...
head repository: rust-lang/llvm
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ab85d02e84edeea59ac38505a62ec7d0536cc726
Choose a head ref
  • 3 commits
  • 9 files changed
  • 1 contributor

Commits on Jun 28, 2014

  1. Add a NullCheckElimination pass

    This pass is not Rust-specific, in that all of its transformations are
    intended to be correct for arbitrary LLVM IR, but it targets idioms
    found in IR generated by `rustc`, e.g. heavy use of `inbounds` GEPs.
    Cameron Zwarich committed Jun 28, 2014
    2 Configuration menu
    Copy the full SHA
    dd684dc View commit details
    Browse the repository at this point in the history
  2. Add the NullCheckElimination pass to the default pass list

    Since the NullCheckElimination pass has a similar intent to the
    CorrelatedValuePropagation pass, I decided to run it right after the
    both places that the latter runs.
    Cameron Zwarich committed Jun 28, 2014
    Configuration menu
    Copy the full SHA
    0876764 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2014

  1. Improve the NullCheckElimination pass

    Teach the NullCheckElimination pass about recurrences involving inbounds
    GEPs. This allows the pass to optimize null checks from most uses of
    single slice and vector iterators.
    
    This still isn't sufficient to eliminate null checks from uses of
    multiple iterators with zip().
    Cameron Zwarich committed Jul 10, 2014
    Configuration menu
    Copy the full SHA
    ab85d02 View commit details
    Browse the repository at this point in the history
Loading