Skip to content
  1. Feb 23, 2012
  2. Feb 22, 2012
    • Bill Wendling's avatar
      Remove bad comma from .el file. · 7f7a0c65
      Bill Wendling authored
      llvm-svn: 151189
      7f7a0c65
    • David Greene's avatar
      Add Foreach Loop · fb927af2
      David Greene authored
      Add some data structures to represent for loops.  These will be
      referenced during object processing to do any needed iteration and
      instantiation.
      
      Add foreach keyword support to the lexer.
      
      Add a mode to indicate that we're parsing a foreach loop.  This allows
      the value parser to early-out when processing the foreach value list.
      
      Add a routine to parse foreach iteration declarations.  This is
      separate from ParseDeclaration because the type of the named value
      (the iterator) doesn't match the type of the initializer value (the
      value list).  It also needs to add two values to the foreach record:
      the iterator and the value list.
      
      Add parsing support for foreach.
      
      Add the code to process foreach loops and create defs based
      on iterator values.
      
      Allow foreach loops to be matched at the top level.
      
      When parsing an IDValue check if it is a foreach loop iterator for one
      of the active loops.  If so, return a VarInit for it.
      
      Add Emacs keyword support for foreach.
      
      Add VIM keyword support for foreach.
      
      Add tests to check foreach operation.
      
      Add TableGen documentation for foreach.
      
      Support foreach with multiple objects.
      
      Support non-braced foreach body with one object.
      
      Do not require types for the foreach declaration.  Assume the iterator
      type from the iteration list element type.
      
      llvm-svn: 151164
      fb927af2
    • Craig Topper's avatar
      Declare register classes as const. Fix a couple pointers to register classes... · cc830f8c
      Craig Topper authored
      Declare register classes as const. Fix a couple pointers to register classes that weren't already const.
      
      llvm-svn: 151138
      cc830f8c
    • Craig Topper's avatar
      Make all pointers to TargetRegisterClass const since they are all pointers to... · 760b134f
      Craig Topper authored
      Make all pointers to TargetRegisterClass const since they are all pointers to static data that should not be modified.
      
      llvm-svn: 151134
      760b134f
  3. Feb 21, 2012
  4. Feb 19, 2012
  5. Feb 18, 2012
  6. Feb 15, 2012
  7. Feb 11, 2012
  8. Feb 10, 2012
  9. Feb 09, 2012
  10. Feb 08, 2012
  11. Feb 07, 2012
    • Andrew Trick's avatar
      This is a small patch with a couple of improvements for running lit with --debug: · 5470205a
      Andrew Trick authored
      1. Added a status note when a config file is loaded directly with load_config. This helps notice loads of lit.cfg from lit.site.cfg
      2. Added a status note on the result of a config load. Previously, it was just notifying that it tries to load a config file. Now it will also say whether the load succeeded or the file wasn't found
      
      The two changes give better visibility into which config files were actually loaded by lit. The effect is only on --debug runs.
      
      Patch by Eli Bendersky!
      
      llvm-svn: 149932
      5470205a
  12. Feb 05, 2012
  13. Feb 03, 2012
  14. Feb 02, 2012
    • Jakob Stoklund Olesen's avatar
      Specify SubRegIndex components on the index itself. · 21231609
      Jakob Stoklund Olesen authored
      It is simpler to define a composite index directly:
      
        def ssub_2 : SubRegIndex<[dsub_1, ssub_0]>;
        def ssub_3 : SubRegIndex<[dsub_1, ssub_1]>;
      
      Than specifying the composite indices on each register:
      
        CompositeIndices = [(ssub_2 dsub_1, ssub_0),
                            (ssub_3 dsub_1, ssub_1)] in ...
      
      This also makes it clear that SubRegIndex composition is supposed to be
      unique.
      
      llvm-svn: 149556
      21231609
  15. Feb 01, 2012
  16. Jan 31, 2012
  17. Jan 28, 2012
    • David Greene's avatar
      Remove Deprecated Features · c26e5fb8
      David Greene authored
      Move to a model where we build whatever branches are checked out
      in the source directories.  This was a bit too smart (and complicated)
      in handling details best left to the user and the revision control
      system.
      
      In addition, get rid of support for llvm-gcc and building gcc as
      these are no longer necessary.
      
      llvm-svn: 149149
      c26e5fb8
  18. Jan 26, 2012
  19. Jan 24, 2012
  20. Jan 22, 2012
  21. Jan 21, 2012
  22. Jan 20, 2012
    • Kostya Serebryany's avatar
      Extend Attributes to 64 bits · a5054ad2
      Kostya Serebryany authored
      Problem: LLVM needs more function attributes than currently available (32 bits).
      One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc).
      
      Solution:
      - extend the Attributes from 32 bits to 64-bits
      - wrap the object into a class so that unsigned is never erroneously used instead
      - change "unsigned" to "Attributes" throughout the code, including one place in clang.
      - the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking.
      - the class has "safe operator bool()" to support the common idiom:  if (Attributes attr = getAttrs()) useAttrs(attr);
      - The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls
      - Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work.
      - Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit.
      
      Tested:
      "make check" on Linux (32-bit and 64-bit) and Mac (10.6)
      built/run spec CPU 2006 on Linux with clang -O2.
      
      
      This change will break clang build in lib/CodeGen/CGCall.cpp.
      The following patch will fix it.
      
      llvm-svn: 148553
      a5054ad2
Loading