Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • L llvm-project
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ecpcitest
  • proteas
  • llvm-project
  • Repository
Switch branch/tag
  • llvm-project
  • llvm
  • lib
  • Transforms
  • InstCombine
  • InstCombineSelect.cpp
Find file BlameHistoryPermalink
  • Sanjay Patel's avatar
    [IR] document and update ctlz/cttz intrinsics to optionally return poison rather than undef · 2e26633a
    Sanjay Patel authored Jan 23, 2022
    The behavior in Analysis (knownbits) implements poison semantics already,
    and we expect the transforms (for example, in instcombine) derived from
    those semantics, so this patch changes the LangRef and remaining code to
    be consistent. This is one more step in removing "undef" from LLVM.
    
    Without this, I think https://github.com/llvm/llvm-project/issues/53330
    has a legitimate complaint because that report wants to allow subsequent
    code to mask off bits, and that is allowed with undef values. The clang
    builtins are not actually documented anywhere AFAICT, but we might want
    to add that to remove more uncertainty.
    
    Differential Revision: https://reviews.llvm.org/D117912
    2e26633a