Skip to content
  1. Dec 03, 2009
  2. Nov 18, 2009
    • Bill Wendling's avatar
      The llvm-gcc front-end and the pass manager use two separate TargetData objects. · dfd8daaf
      Bill Wendling authored
      This is probably not confined to *just* these two things.
      
      Anyway, the llvm-gcc front-end may look up the structure layout information for
      an abstract type. That information will be stored into a table with the FE's
      TD. Instruction combine can come along and also ask for information on that
      abstract type, but for a separate TD (the one associated with the pass manager).
      
      After the type is refined, the old structure layout information in the pass
      manager's TD file is out of date. If a new type is allocated in the same space
      as the old-unrefined type, then the structure type information in the pass
      manager's TD file will be wrong, but won't know it.
      
      Fix this by making the TD's structure type information an abstract type user.
      
      llvm-svn: 89176
      dfd8daaf
  3. Nov 08, 2009
  4. Nov 07, 2009
  5. Aug 21, 2009
  6. Aug 20, 2009
  7. Aug 13, 2009
  8. Jul 14, 2009
  9. Jul 11, 2009
    • Torok Edwin's avatar
      assert(0) -> LLVM_UNREACHABLE. · 56d06597
      Torok Edwin authored
      Make llvm_unreachable take an optional string, thus moving the cerr<< out of
      line.
      LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
      NDEBUG builds.
      
      llvm-svn: 75379
      56d06597
  10. Jul 07, 2009
  11. Jun 23, 2009
  12. May 11, 2009
  13. May 09, 2009
  14. Apr 01, 2009
  15. Feb 17, 2009
  16. Jan 12, 2009
  17. Dec 09, 2008
  18. Dec 08, 2008
  19. Sep 04, 2008
  20. Jun 04, 2008
    • Duncan Sands's avatar
      Change packed struct layout so that field sizes · fc3c489b
      Duncan Sands authored
      are the same as in unpacked structs, only field
      positions differ.  This only matters for structs
      containing x86 long double or an apint; it may
      cause backwards compatibility problems if someone
      has bitcode containing a packed struct with a
      field of one of those types.
      The issue is that only 10 bytes are needed to
      hold an x86 long double: the store size is 10
      bytes, but the ABI size is 12 or 16 bytes (linux/
      darwin) which comes from rounding the store size
      up by the alignment.  Because it seemed silly not
      to pack an x86 long double into 10 bytes in a
      packed struct, this is what was done.  I now
      think this was a mistake.  Reserving the ABI size
      for an x86 long double field even in a packed
      struct makes things more uniform: the ABI size is
      now always used when reserving space for a type.
      This means that developers are less likely to
      make mistakes.  It also makes life easier for the
      CBE which otherwise could not represent all LLVM
      packed structs (PR2402).
      Front-end people might need to adjust the way
      they create LLVM structs - see following change
      to llvm-gcc.
      
      llvm-svn: 51928
      fc3c489b
  21. May 13, 2008
  22. Apr 14, 2008
  23. Mar 19, 2008
  24. Jan 29, 2008
  25. Jan 10, 2008
  26. Dec 29, 2007
  27. Dec 21, 2007
  28. Dec 13, 2007
  29. Dec 11, 2007
  30. Nov 09, 2007
Loading