Skip to content
  1. Mar 30, 2012
  2. Mar 29, 2012
  3. Mar 28, 2012
    • NAKAMURA Takumi's avatar
      9c7f1242
    • Chandler Carruth's avatar
      Move the emission of strict enum range metadata behind a flag (the same · 8b4140d7
      Chandler Carruth authored
      flag as GCC uses: -fstrict-enums). There is a *lot* of code making
      unwarranted assumptions about the underlying type of enums, and it
      doesn't seem entirely reasonable to eagerly break all of it.
      
      Much more importantly, the current state of affairs is *very* good at
      optimizing based upon this information, which causes failures that are
      very distant from the actual enum. Before we push for enabling this by
      default, I think we need to implement -fcatch-undefined-behavior support
      for instrumenting and trapping whenever we store or load a value outside
      of the range. That way we can track down the misbehaving code very
      quickly.
      
      I discussed this with Rafael, and currently the only important cases he
      is aware of are the bool range-based optimizations which are staying
      hard enabled. We've not seen any issue with those either, and they are
      much more important for performance.
      
      llvm-svn: 153550
      8b4140d7
  4. Mar 26, 2012
  5. Mar 24, 2012
  6. Mar 23, 2012
  7. Mar 22, 2012
  8. Mar 21, 2012
  9. Mar 20, 2012
  10. Mar 16, 2012
  11. Mar 15, 2012
  12. Mar 14, 2012
  13. Mar 13, 2012
Loading