Skip to content
  1. Jan 15, 2009
    • Seo Sanghyeon's avatar
      PR2746: Implement GCC cast to union extension · 39a3ebf8
      Seo Sanghyeon authored
      llvm-svn: 62255
      39a3ebf8
    • Scott Michel's avatar
      - Convert remaining i64 custom lowering into custom instruction emission · a292fc6d
      Scott Michel authored
        sequences in SPUDAGToDAGISel.cpp and SPU64InstrInfo.td, killing custom
        DAG node types as needed.
      - i64 mul is now a legal instruction, but emits an instruction sequence
        that stretches tblgen and the imagination, as well as violating laws of
        several small countries and most southern US states (just kidding, but
        looking at a function with 80+ parameters is really weird and just plain
        wrong.)
      - Update tests as needed.
      
      llvm-svn: 62254
      a292fc6d
    • Daniel Dunbar's avatar
      Add utils/ABITest, my ABI test generation tool. · 2e49bf2c
      Daniel Dunbar authored
       - Mostly written as an entertaining exercise in enumerating large or
         (countably, naturally) infinite sets. But hey, its useful too!
      
       - Idea is to number all C-types so that the N-th type can quickly be
         computed, with a good deal of flexibility about what types to
         include, and taking some care so that the (N+1)-th type is
         interestingly different from the N-th type. For example, using the
         default generator, the 1,000,000-th function type is:
      --
      typedef _Complex int T0;
      typedef char T1 __attribute__ ((vector_size (4)));
      typedef int T2 __attribute__ ((vector_size (4)));
      T2 fn1000000(T0 arg0, signed long long arg1, T1 arg2, T0 arg3);
      --
         and the 1,000,001-th type is:
      --
      typedef _Complex char T0;
      typedef _Complex char T2;
      typedef struct T1 { T2 field0; T2 field1; T2 field2; } T1;
      typedef struct T3 {  } T3;
      unsigned short fn1000001(T0 arg0, T1 arg1, T3 arg2);
      --
      
         Computing the 10^1600-th type takes a little less than 1s. :)
      
      llvm-svn: 62253
      2e49bf2c
    • Mikhail Glushenkov's avatar
      Some small documentation fixes. · bc39dff6
      Mikhail Glushenkov authored
      llvm-svn: 62251
      bc39dff6
    • Douglas Gregor's avatar
      41c8ba80
    • Mikhail Glushenkov's avatar
      Clarify the documentation a bit. · bf78b204
      Mikhail Glushenkov authored
      llvm-svn: 62249
      bf78b204
    • Ted Kremenek's avatar
      PTH: Embed a persistentID side-table in the PTH file that is sorted in the · bef9fc22
      Ted Kremenek authored
      lexical order of the corresponding identifier strings. This will be used for a
      forthcoming optimization. This slows down PTH generation time by 7%. We can
      revert this change if the optimization proves to not be valuable.
      
      llvm-svn: 62248
      bef9fc22
    • Douglas Gregor's avatar
      Initial implementation of member name lookup · 960b5bc7
      Douglas Gregor authored
      llvm-svn: 62247
      960b5bc7
    • Daniel Dunbar's avatar
      ccc: Implement support clang PTH using gcc PCH style interface. · 87cb84e9
      Daniel Dunbar authored
      This requires some hackery, as gcc's PCH mechanism changes behavior,
      whereas while PTH is simply a cache. Notably:
      
       - Automatically cause clang to load a .pth file if we find one that
         matches a command line -include argument (similar to how gcc
         looks for .gch files).
      
       - When generating precompiled headers, translate the suffix from .gch
         to .pth (so we do not conflict with actual gcc PCH files).
      
       - When generating precompiled headers, copy the input header to the
         same location as the output PTH file. This is necessary because gcc
         supports -include xxx.h even if xxx.h doesn't exist, but for clang
         we need to actually have the contents of this file available.
      
      llvm-svn: 62246
      87cb84e9
  2. Jan 14, 2009
Loading