Changeset 833ba13
- Timestamp:
- Dec 2, 2020, 12:31:56 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- ddcedfe
- Parents:
- 3d0560d (diff), a25f64b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 1 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
Jenkins/FullBuild
r3d0560d r833ba13 17 17 18 18 parallel ( 19 gcc_8_x86: { trigger_build( 'gcc-8', 'x86' ) }, 20 gcc_7_x86: { trigger_build( 'gcc-7', 'x86' ) }, 21 gcc_6_x86: { trigger_build( 'gcc-6', 'x86' ) }, 22 gcc_9_x64: { trigger_build( 'gcc-9', 'x64' ) }, 23 gcc_8_x64: { trigger_build( 'gcc-8', 'x64' ) }, 24 gcc_7_x64: { trigger_build( 'gcc-7', 'x64' ) }, 25 gcc_6_x64: { trigger_build( 'gcc-6', 'x64' ) }, 26 gcc_5_x64: { trigger_build( 'gcc-5', 'x64' ) }, 27 clang_x64: { trigger_build( 'clang', 'x64' ) }, 19 gcc_8_x86_old: { trigger_build( 'gcc-8', 'x86', false ) }, 20 gcc_7_x86_old: { trigger_build( 'gcc-7', 'x86', false ) }, 21 gcc_6_x86_old: { trigger_build( 'gcc-6', 'x86', false ) }, 22 gcc_9_x64_old: { trigger_build( 'gcc-9', 'x64', false ) }, 23 gcc_8_x64_old: { trigger_build( 'gcc-8', 'x64', false ) }, 24 gcc_7_x64_old: { trigger_build( 'gcc-7', 'x64', false ) }, 25 gcc_6_x64_old: { trigger_build( 'gcc-6', 'x64', false ) }, 26 gcc_5_x64_old: { trigger_build( 'gcc-5', 'x64', false ) }, 27 clang_x64_old: { trigger_build( 'clang', 'x64', false ) }, 28 // clang_x64_new: { trigger_build( 'clang', 'x64', true ) }, 28 29 ) 29 30 } … … 59 60 //=========================================================================================================== 60 61 61 def trigger_build(String cc, String arch ) {62 def trigger_build(String cc, String arch, boolean new_ast) { 62 63 def result = build job: 'Cforall/master', \ 63 64 parameters: [ \ … … 68 69 name: 'Architecture', \ 69 70 value: arch], \ 71 [$class: 'BooleanParameterValue', \ 72 name: 'NewAST', \ 73 value: new_ast], \ 70 74 [$class: 'BooleanParameterValue', \ 71 75 name: 'RunAllTests', \ … … 79 83 [$class: 'BooleanParameterValue', \ 80 84 name: 'Publish', \ 81 value: true], \85 value: true], \ 82 86 [$class: 'BooleanParameterValue', \ 83 87 name: 'Silent', \ -
benchmark/io/http/filecache.cfa
r3d0560d r833ba13 199 199 } 200 200 free(raw); 201 adelete( file_cache.size, file_cache.entries);201 adelete( file_cache.entries ); 202 202 exit(0); 203 203 } -
benchmark/rmit.py
r3d0560d r833ba13 38 38 self.vars = re.findall("[a-zA-Z]", value) 39 39 40 def parse_option(opt): 41 match = re.search("^(.*):(.*)$", opt) 42 if not match : 43 print('ERROR: extra options should match pattern .*:.*, got {}'.format(opt), file=sys.stderr) 44 sys.exit(1) 45 46 key = match.group(1) 47 values = match.group(2) 48 40 def parse_option(key, values): 49 41 try: 50 42 num = int(values) … … 121 113 parser = argparse.ArgumentParser(description='Python Script to implement R.M.I.T. testing : Randomized Multiple Interleaved Trials') 122 114 parser.add_argument('--list', help='List all the commands that would be run', action='store_true') 123 parser.add_argument('--format', help='How to print the result', choices=formats, default='json')124 115 parser.add_argument('--file', nargs='?', type=argparse.FileType('w'), default=sys.stdout) 125 parser.add_argument('-t', '--trials', help='Number of trials to run per combinaison', type=int, default=3) 126 parser.add_argument('-o','--option',action='append') 116 parser.add_argument('--trials', help='Number of trials to run per combinaison', type=int, default=3) 127 117 parser.add_argument('command', metavar='command', type=str, nargs=1, help='the command prefix to run') 128 118 parser.add_argument('candidates', metavar='candidates', type=str, nargs='*', help='the candidate suffix to run') 129 119 130 120 try: 131 options = parser.parse_args() 121 options, unknown = parser.parse_known_args() 122 123 options.option = [] 124 while unknown: 125 key = unknown.pop(0) 126 val = unknown.pop(0) 127 128 if key[0] != '-': 129 raise ValueError 130 131 options.option.append((key[1:], val)) 132 132 133 except: 133 134 print('ERROR: invalid arguments', file=sys.stderr) … … 150 151 # ================================================================================ 151 152 # Identify the options to run 152 opts = dict([parse_option( o) for oin options.option])153 opts = dict([parse_option(k, v) for k, v in options.option]) 153 154 154 155 # Evaluate the options (options can depend on the value of other options) … … 177 178 # find expected time 178 179 time = actions_eta(actions) 179 print("Running {} trials{}".format(len(actions), "" if time == 0 else " (expecting to take {} ".format(str(datetime.timedelta(seconds=int(time)))) ))180 print("Running {} trials{}".format(len(actions), "" if time == 0 else " (expecting to take {})".format(str(datetime.timedelta(seconds=int(time)))) )) 180 181 181 182 random.shuffle(actions) 182 result = []183 183 184 184 # ================================================================================ 185 185 # Run 186 options.file.write("[") 187 first = True 186 188 for i, a in enumerate(actions): 187 189 sa = " ".join(a) 188 print("{}/{} : {} \r".format(i, len(actions), sa), end = '') 190 if first: 191 first = False 192 else: 193 options.file.write(",") 194 if options.file != sys.stdout: 195 print("{}/{} : {} \r".format(i, len(actions), sa), end = '') 189 196 fields = {} 190 197 with subprocess.Popen( a, stdout = subprocess.PIPE, stderr = subprocess.PIPE) as proc: … … 199 206 fields[match.group(1).strip()] = float(match.group(2).strip().replace(',','')) 200 207 201 result.append([a[0][2:], sa, fields]) 202 203 print("Done ") 204 205 # ================================================================================ 206 # Print raw 207 if options.format == 'raw': 208 for r in result: 209 print(r, file=options.file) 210 sys.exit(0) 211 212 # ================================================================================ 213 # Print json 214 if options.format == 'json': 215 json.dump(result, options.file) 216 sys.exit(0) 217 218 # ================================================================================ 219 # Print csv 220 if options.format == 'csv': 221 # Clean result 222 headers = ["series", "command"] 223 data = [] 224 first = True 225 for r in result: 226 if first: 227 first = False 228 headers.extend(r[2].keys()) 229 else : 230 pass 231 232 d = [r[0], r[1]] 233 for k in headers[2:]: 234 try: 235 d.append(r[2][k]) 236 except: 237 d.append(0.0) 238 239 data.append(d) 240 241 # Print csv 242 print(",\t".join(headers), file=options.file) 243 for d in data: 244 print(",\t".join(["{}".format(dd) for dd in d]), file=options.file) 245 sys.exit(0) 208 options.file.write(json.dumps([a[0][2:], sa, fields])) 209 options.file.flush() 210 211 options.file.write("]\n") 212 213 if options.file != sys.stdout: 214 print("Done ") -
configure.ac
r3d0560d r833ba13 289 289 longrun_tests/Makefile 290 290 benchmark/Makefile 291 benchmark/io/http/Makefile 291 292 tools/Makefile 292 293 tools/prettyprinter/Makefile -
libcfa/src/bits/locks.hfa
r3d0560d r833ba13 178 178 } 179 179 180 void ^?{}(single_sem & this) {}180 void ^?{}(single_sem &) {} 181 181 182 182 bool wait(single_sem & this) { … … 234 234 } 235 235 236 void ^?{}(oneshot & this) {}236 void ^?{}(oneshot &) {} 237 237 238 238 // Wait for the post, return immidiately if it already happened. … … 281 281 } 282 282 283 void ^?{}(future_t & this) {}283 void ^?{}(future_t &) {} 284 284 285 285 // check if the future is available -
libcfa/src/concurrency/iofwd.hfa
r3d0560d r833ba13 38 38 #define CFA_IO_ASYNC IOSQE_ASYNC 39 39 #endif 40 41 #if __OFF_T_MATCHES_OFF64_T 42 typedef __off64_t off_t; 43 #else 44 typedef __off_t off_t; 45 #endif 46 typedef __off64_t off64_t; 40 47 41 48 struct cluster; -
libcfa/src/concurrency/kernel.hfa
r3d0560d r833ba13 159 159 160 160 static inline void ?{}(io_cancellation & this) { this.target = -1u; } 161 static inline void ^?{}(io_cancellation & this) {}161 static inline void ^?{}(io_cancellation &) {} 162 162 bool cancel(io_cancellation & this); 163 163 -
src/Concurrency/Keywords.cc
r3d0560d r833ba13 405 405 dtor_decl = decl; 406 406 else if ( vtable_name.empty() ) 407 ; 408 else if( !decl->has_body() ) 407 409 ; 408 410 else if ( auto param = isMainFor( decl, cast_target ) ) { -
src/InitTweak/FixInitNew.cpp
r3d0560d r833ba13 413 413 void SelfAssignChecker::previsit( const ast::ApplicationExpr * appExpr ) { 414 414 auto function = getFunction( appExpr ); 415 if ( function->name == "?=?" ) { // doesn't use isAssignment, because ?+=?, etc. should not count as self-assignment 416 if ( appExpr->args.size() == 2 ) { 417 // check for structural similarity (same variable use, ignore casts, etc. - but does not look too deeply, anything looking like a function is off limits) 418 if ( structurallySimilar( appExpr->args.front(), appExpr->args.back() ) ) { 419 SemanticWarning( appExpr->location, Warning::SelfAssignment, toCString( appExpr->args.front() ) ); 420 } 421 } 415 // Doesn't use isAssignment, because ?+=?, etc. should not count as self-assignment. 416 if ( function->name == "?=?" && appExpr->args.size() == 2 417 // Check for structural similarity (same variable use, ignore casts, etc. 418 // (but does not look too deeply, anything looking like a function is off limits). 419 && structurallySimilar( appExpr->args.front(), appExpr->args.back() ) ) { 420 SemanticWarning( appExpr->location, Warning::SelfAssignment, toCString( appExpr->args.front() ) ); 422 421 } 423 422 } -
src/ResolvExpr/Resolver.cc
r3d0560d r833ba13 1471 1471 auto newDecl = fixObjectType(objectDecl, symtab); 1472 1472 auto mutDecl = mutate(newDecl); 1473 1473 1474 1474 // generate CtorInit wrapper when necessary. 1475 1475 // in certain cases, fixObjectType is called before reaching … … 1489 1489 currentObject = ast::CurrentObject{ objectDecl->location, objectDecl->get_type() }; 1490 1490 } 1491 1491 1492 1492 return objectDecl; 1493 1493 } -
src/main.cc
r3d0560d r833ba13 9 9 // Author : Peter Buhr and Rob Schluntz 10 10 // Created On : Fri May 15 23:12:02 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : T hu Oct 8 18:17:46202013 // Update Count : 63 711 // Last Modified By : Andrew Beach 12 // Last Modified On : Tue Dec 1 14:52:00 2020 13 // Update Count : 638 14 14 // 15 15 … … 340 340 } // if 341 341 342 if( useNewAST ) {342 if( useNewAST ) { 343 343 if (Stats::Counters::enabled) { 344 344 ast::pass_visitor_stats.avg = Stats::Counters::build<Stats::Counters::AverageCounter<double>>("Average Depth - New"); … … 352 352 return EXIT_SUCCESS; 353 353 } // if 354 355 // TODO: This is a quick fix to get the build working. 356 // Get rid of fillLocations or at least make a new-ast version. 357 translationUnit = convert( move( transUnit ) ); 358 CodeTools::fillLocations( translationUnit ); 359 transUnit = convert( move( translationUnit ) ); 354 360 355 361 PASS( "Fix Init", InitTweak::fix(transUnit, buildingLibrary()));
Note: See TracChangeset
for help on using the changeset viewer.