diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-06-15 18:44:27 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-06-15 18:44:27 +0000 |
commit | 69fad0799e243f0df832f9b4a98cd74263d8d107 (patch) | |
tree | 25553a6a6a043b9ee7627ad77846613be2afe65b /llvm/lib/CodeGen/CodeGen.cpp | |
parent | 6b34a462983498c71fd6fb839ecd0e49e56de4ce (diff) | |
download | llvm-69fad0799e243f0df832f9b4a98cd74263d8d107.zip llvm-69fad0799e243f0df832f9b4a98cd74263d8d107.tar.gz llvm-69fad0799e243f0df832f9b4a98cd74263d8d107.tar.bz2 |
[CodeGen] Add a pass to fold null checks into nearby memory operations.
Summary:
This change adds an "ImplicitNullChecks" target dependent pass. This
pass folds null checks into memory operation using the FAULTING_LOAD
pseudo-op introduced in previous patches.
Depends on D10197
Depends on D10199
Depends on D10200
Reviewers: reames, rnk, pgavlin, JosephTremoulet, atrick
Reviewed By: atrick
Subscribers: ab, JosephTremoulet, llvm-commits
Differential Revision: http://reviews.llvm.org/D10201
llvm-svn: 239743
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
-rw-r--r-- | llvm/lib/CodeGen/CodeGen.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/CodeGen.cpp b/llvm/lib/CodeGen/CodeGen.cpp index 2c6eaf3..155c5ec 100644 --- a/llvm/lib/CodeGen/CodeGen.cpp +++ b/llvm/lib/CodeGen/CodeGen.cpp @@ -42,6 +42,7 @@ void llvm::initializeCodeGen(PassRegistry &Registry) { initializeMachineBlockPlacementPass(Registry); initializeMachineBlockPlacementStatsPass(Registry); initializeMachineCSEPass(Registry); + initializeImplicitNullChecksPass(Registry); initializeMachineCombinerPass(Registry); initializeMachineCopyPropagationPass(Registry); initializeMachineDominatorTreePass(Registry); |