 Chromium Code Reviews
 Chromium Code Reviews Issue 14317008:
  PNaCl: Enable ExpandByVal pass for expanding out passing structs by value  (Closed) 
  Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
    
  
    Issue 14317008:
  PNaCl: Enable ExpandByVal pass for expanding out passing structs by value  (Closed) 
  Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client| OLD | NEW | 
|---|---|
| 1 #!/usr/bin/python | 1 #!/usr/bin/python | 
| 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be | 
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. | 
| 5 # | 5 # | 
| 6 # IMPORTANT NOTE: If you make local mods to this file, you must run: | 6 # IMPORTANT NOTE: If you make local mods to this file, you must run: | 
| 7 # % pnacl/build.sh driver | 7 # % pnacl/build.sh driver | 
| 8 # in order for them to take effect in the scons build. This command | 8 # in order for them to take effect in the scons build. This command | 
| 9 # updates the copy in the toolchain/ tree. | 9 # updates the copy in the toolchain/ tree. | 
| 10 # | 10 # | 
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 351 if env.getbool('STATIC') and len(native_objects) == 0: | 351 if env.getbool('STATIC') and len(native_objects) == 0: | 
| 352 passes = [] | 352 passes = [] | 
| 353 if not env.getbool('ALLOW_CXX_EXCEPTIONS'): | 353 if not env.getbool('ALLOW_CXX_EXCEPTIONS'): | 
| 354 # '-lowerinvoke' prevents use of C++ exception handling, which | 354 # '-lowerinvoke' prevents use of C++ exception handling, which | 
| 355 # is not yet supported in the PNaCl ABI. '-simplifycfg' | 355 # is not yet supported in the PNaCl ABI. '-simplifycfg' | 
| 356 # removes landingpad blocks made unreachable by | 356 # removes landingpad blocks made unreachable by | 
| 357 # '-lowerinvoke'. | 357 # '-lowerinvoke'. | 
| 358 passes += ['-lowerinvoke', | 358 passes += ['-lowerinvoke', | 
| 359 '-simplifycfg'] | 359 '-simplifycfg'] | 
| 360 passes += ['-expand-varargs', | 360 passes += ['-expand-varargs', | 
| 361 '-expand-byval', | |
| 
jvoung (off chromium)
2013/04/24 19:59:12
When you did the byval -> reference pass did you a
 
Mark Seaborn
2013/04/24 20:36:42
No, I didn't.  (See https://codereview.chromium.or
 
jvoung (off chromium)
2013/04/24 21:43:09
Well, I'm okay with leaving it here, and filing an
 | |
| 361 '-nacl-expand-ctors', | 362 '-nacl-expand-ctors', | 
| 362 '-resolve-aliases', | 363 '-resolve-aliases', | 
| 363 '-nacl-expand-tls', | 364 '-nacl-expand-tls', | 
| 364 # Global cleanup needs to run after expand-tls because | 365 # Global cleanup needs to run after expand-tls because | 
| 365 # __tls_template_start etc are extern_weak before expansion | 366 # __tls_template_start etc are extern_weak before expansion | 
| 366 '-nacl-global-cleanup'] | 367 '-nacl-global-cleanup'] | 
| 367 chain.add(DoLLVMPasses(passes), 'expand_features.' + bitcode_type) | 368 chain.add(DoLLVMPasses(passes), 'expand_features.' + bitcode_type) | 
| 368 | 369 | 
| 369 if env.getone('OPT_LEVEL') != '' and env.getone('OPT_LEVEL') != '0': | 370 if env.getone('OPT_LEVEL') != '' and env.getone('OPT_LEVEL') != '0': | 
| 370 chain.add(DoLTO, 'opt.' + bitcode_type) | 371 chain.add(DoLTO, 'opt.' + bitcode_type) | 
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 533 -O<opt-level> Optimize output file | 534 -O<opt-level> Optimize output file | 
| 534 -M, --print-map Print map file on standard output | 535 -M, --print-map Print map file on standard output | 
| 535 --whole-archive Include all objects from following archives | 536 --whole-archive Include all objects from following archives | 
| 536 --no-whole-archive Turn off --whole-archive | 537 --no-whole-archive Turn off --whole-archive | 
| 537 -s, --strip-all Strip all symbols | 538 -s, --strip-all Strip all symbols | 
| 538 -S, --strip-debug Strip debugging symbols | 539 -S, --strip-debug Strip debugging symbols | 
| 539 --undefined SYMBOL Start with undefined reference to SYMBOL | 540 --undefined SYMBOL Start with undefined reference to SYMBOL | 
| 540 | 541 | 
| 541 -help | -h Output this help. | 542 -help | -h Output this help. | 
| 542 """ | 543 """ | 
| OLD | NEW |