[all-commits] [llvm/llvm-project] f89f7d: [IR] Convert null-pointer-is-valid into an enum at...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Fri May 15 10:42:38 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: f89f7da999f362e4213c69923328dd1033276e59
https://github.com/llvm/llvm-project/commit/f89f7da999f362e4213c69923328dd1033276e59
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2020-05-15 (Fri, 15 May 2020)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGen/delete-null-pointer-checks.c
M llvm/docs/LangRef.rst
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/AsmParser/LLToken.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Analysis/MemorySSA/cyclicphi.ll
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Bitcode/attributes.ll
M llvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
M llvm/test/Transforms/Attributor/align.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/nonnull.ll
M llvm/test/Transforms/Attributor/norecurse.ll
M llvm/test/Transforms/Attributor/undefined_behavior.ll
M llvm/test/Transforms/CorrelatedValuePropagation/non-null.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/GVN/PRE/2018-06-08-pre-load-dbgloc-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/MallocSROA-section-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-1-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-1.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-2-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-2.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-3-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-3.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-4-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-4.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-phi-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/heap-sra-phi.ll
M llvm/test/Transforms/GlobalOpt/load-store-global-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-1-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-1.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
M llvm/test/Transforms/GlobalOpt/storepointer-compare-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/storepointer-no-null-opt.ll
M llvm/test/Transforms/IPConstantProp/PR26044.ll
M llvm/test/Transforms/Inline/attributes.ll
M llvm/test/Transforms/InstCombine/atomic.ll
M llvm/test/Transforms/InstCombine/invariant.group.ll
M llvm/test/Transforms/InstCombine/invoke.ll
M llvm/test/Transforms/InstCombine/lifetime-no-null-opt.ll
M llvm/test/Transforms/InstCombine/load.ll
M llvm/test/Transforms/InstCombine/mem-deref-bytes.ll
M llvm/test/Transforms/InstCombine/memchr.ll
M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/memrchr.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/InstCombine/strchr-1.ll
M llvm/test/Transforms/InstCombine/strcpy_chk-64.ll
M llvm/test/Transforms/InstCombine/strlen-1.ll
M llvm/test/Transforms/InstCombine/strncat-2.ll
M llvm/test/Transforms/InstCombine/strncmp-1.ll
M llvm/test/Transforms/InstCombine/strrchr-1.ll
M llvm/test/Transforms/InstCombine/strstr-1.ll
M llvm/test/Transforms/InstCombine/wcslen-1.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/LoopIdiom/pr28196.ll
M llvm/test/Transforms/LoopVersioning/lcssa.ll
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
M llvm/test/Transforms/SimplifyCFG/invoke.ll
M llvm/test/Transforms/SimplifyCFG/phi-undef-loadstore.ll
M llvm/test/Transforms/SimplifyCFG/trap-no-null-opt-debugloc.ll
M llvm/test/Transforms/SimplifyCFG/trapping-load-unreachable.ll
M llvm/test/Transforms/Util/assume-builder.ll
M mlir/test/Target/llvmir.mlir
Log Message:
-----------
[IR] Convert null-pointer-is-valid into an enum attribute
The "null-pointer-is-valid" attribute needs to be checked by many
pointer-related combines. To make the check more efficient, convert
it from a string into an enum attribute.
In the future, this attribute may be replaced with data layout
properties.
Differential Revision: https://reviews.llvm.org/D78862
More information about the All-commits
mailing list