Skip to content
  • Chris Lattner's avatar
    Rename ConstantHandling.* -> ConstantFolding.* · 5a945e36
    Chris Lattner authored
    Move a bunch of (now) private stuff from ConstantFolding.h into
    ConstantFolding.cpp.
    
    This _finally_ gets us to a place where we have a sane constant folder.  The
    rules are:
    
    1. LLVM clients now use ConstantExpr::get* methods to fold constants.  If they
       cannot be folded, a constantexpr is created, so these methods always return
       valid Constant*'s.
    2. The implementation of ConstantExpr::get* uses the functions exposed by
       ConstantFolding.h to try to fold constants.  If they cannot be folded,
       they should return a null pointer.
    3. The implementation of ConstantFolding can do whatever it wants, and only
       has one client (Constants.cpp)
    
    This cuts down on the wierd dependencies, and eliminates the two interfaces.
    The old constanthandling interface was especially bad for clients to use
    because almost none of them took the failure condition into consideration,
    thus leading to obscure problems.
    
    llvm-svn: 10807
    5a945e36
Loading