1. 24 Mar, 2016 1 commit
    • Subzero. Fixes valgrind errors. · 267f2bf9
      John Porto authored
      Valgrind used to report errors about uninitialized variable access in
      Subzero, when it was built with -O2. The problem was traced to
      
      size_t Alignment = Var->getAlignment;
      Alignment = std::max(MinAlignment, Var->getAlignment())
      
      Apparently, the compiler will not correctly zero-extend
      Var->getAlignment(), and thus Alignment's upper 32-bits would be
      garbage.
      
      BUG=
      R=kschimpf@google.com, stichnot@chromium.org
      
      Review URL: https://codereview.chromium.org/1825363003 .
  2. 21 Mar, 2016 3 commits
  3. 17 Mar, 2016 2 commits
  4. 16 Mar, 2016 1 commit
  5. 15 Mar, 2016 3 commits
  6. 14 Mar, 2016 1 commit
    • Subzero: Control whether deleted instructions are retained. · 76719b4a
      Jim Stichnoth authored
      Normally, deleted instructions are preserved in the Cfg, and printed as part of dump output.  This helps debugging by partially explaining the provenance of new instructions that originated from the deleted instructions.
      
      However, these instructions slow down iteration over the instruction list, and checking their deleted status may pollute the cache.
      
      As such, in a non-DUMP enabled build, we repurpose the renumberInstructions() pass to also unlink deleted instructions as needed.
      
      A flag is provided to override this behavior, in case we have to debug a situation where a bug only manifests in a DUMP build and not a non-DUMP build, or vice versa.
      
      BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4360
      R=eholk@chromium.org, jpp@chromium.org
      
      Review URL: https://codereview.chromium.org/1790063003 .
  7. 12 Mar, 2016 2 commits
  8. 11 Mar, 2016 4 commits
  9. 10 Mar, 2016 2 commits
  10. 09 Mar, 2016 5 commits
  11. 08 Mar, 2016 2 commits
  12. 07 Mar, 2016 3 commits
    • Subzero: Fix "make presubmit" for spec -Om1. · c8f56a39
      Jim Stichnoth authored
      For the Om1 spec tests, we were generating commands like this:
      
        ./pydir/szbuild_spec2k.py -v -Om1 --target=x8632 -O2 --filetype=obj 253.perlbmk
      
      where -Om1 and -O2 both appear.  Python's argparse allows an argument to be set multiple times, and the last one would win, i.e. -O2 is used instead of -Om1.
      
      BUG= none
      R=jpp@chromium.org
      
      Review URL: https://codereview.chromium.org/1766603002 .
    • Subzero: Fix symbol name mangling. Make flags global. · 98ba0066
      Jim Stichnoth authored
      This cleans up the whole --prefix handling mechanism, so that all mangling is done based on logic in the parser instead of scattered all over the code base.  Another nice side effect is that it allows some getName() style functions to return a const string reference instead of a string copy.
      
      Also, moves ClFlags into a static field of GlobalContext, i.e. makes it global, so that these constant flags can be accessed without having to plumb a GlobalContext object.  Note that some of the ClFlags and ClFlagsExtra plumbing in the compile server classes could be simplified to directly use the corresponding static fields, but this is left mostly as is for now, for when we do a proper separation between core and supplemental flags.
      
      BUG= none
      R=jpp@chromium.org
      
      Review URL: https://codereview.chromium.org/1766233002 .
    • Subzero: Count lookups of each constant value in the constant pool. · 9f9aa2c1
      Jim Stichnoth authored
      With "-verbose cpool", at the end it dumps counts of the number of times each pooled constant was looked up.  The output is grouped by type and sorted by constant value, but it's easy to run it through "sort -nr" to see it ordered by popularity.
      
      BUG= none
      R=jpp@chromium.org
      
      Review URL: https://codereview.chromium.org/1768173002 .
  13. 02 Mar, 2016 1 commit
  14. 01 Mar, 2016 5 commits
  15. 29 Feb, 2016 4 commits
  16. 27 Feb, 2016 1 commit