Mercurial > hg > CbC > old > device
comparison Changes @ 119:b815fcd57b9d
input var ( incomplete )
author | kono |
---|---|
date | Sun, 23 Mar 2003 19:23:29 +0900 |
parents | 2d5a203cc3a6 |
children | f52805504ffa |
comparison
equal
deleted
inserted
replaced
118:07b91b625f84 | 119:b815fcd57b9d |
---|---|
2392 reg_save disp max_func_args*size_of_int | 2392 reg_save disp max_func_args*size_of_int |
2393 | 2393 |
2394 ということだったみたいね。ようやっと self compile が通りました。 | 2394 ということだったみたいね。ようやっと self compile が通りました。 |
2395 | 2395 |
2396 free_glist を作るか.... | 2396 free_glist を作るか.... |
2397 | |
2398 Sat Mar 22 11:17:41 JST 2003 | |
2399 | |
2400 creg/freg を g_expr の引数にした方が、レジスタマシン系では、素直な | |
2401 みたい。そうすれば、 | |
2402 ## conv->static_(); | |
2403 addis r15,r31,ha16(_conv-L_242) | |
2404 la r15,lo16(_conv-L_242)(r15) | |
2405 lwz r3,0(r15) | |
2406 lwz r3,244(r3) | |
2407 mr r29,r3 | |
2408 mtctr r29 | |
2409 みたいな mr は減るね。もっとも一命令だけどさ。3% もあるみたい。 | |
2410 ちょっと多いか... 386 での use_register もなくなるしなぁ。 | |
2411 (あぁ、でも大半はポインタキャッシュだな。こっちを直す方が | |
2412 簡単か) | |
2413 | |
2414 まぁ、そういう最適化をしないっていうのが、このコンパイラの立場 | |
2415 なわけだけど。 | |
2416 | |
2417 | |
2418 構造体の引数渡しでは、構造体そのものをレジスタに載せて | |
2419 引き渡しているみたいだね。まったく... それで、あわてて | |
2420 メモリに代入しているわけか。 | |
2421 | |
2422 なんか mtctr r2; bdn Lxx とかいうのがあるのね。main frame っぽい! | |
2423 これはベンチマーク用って感じだね。 | |
2424 | |
2425 | |
2426 Sun Mar 23 16:06:29 JST 2003 | |
2427 | |
2428 Breakpoint 3, get_register () at mc-code-powerpc.c:235 | |
2429 235 for(i=MAX_TMP_REG;i>MIN_TMP_REG;i--) { | |
2430 (gdb) c 9999 | |
2431 Will ignore next 9998 crossings of breakpoint 3. Continuing. | |
2432 test/basic.c:67:Bug of compiler | |
2433 | |
2434 Breakpoint 2, errmsg () at mc-parse.c:214 | |
2435 214 if(lineno==0) return; | |
2436 (gdb) info b | |
2437 Number Type Disposition Enabled Address WhatStackFrame Condition IgnoreCount Commands | |
2438 2 breakpoint keep y 0x0000ca08 in errmsg at mc-parse.c :214 | |
2439 breakpoint already hit 1 time | |
2440 3 breakpoint keep y 0x000028e4 in get_register at mc-code-powerpc.c :235 | |
2441 breakpoint already hit 69 times | |
2442 ignore next 9930 hits | |
2443 (gdb) run | |
2444 The program being debugged has been started already. | |
2445 Start it from the beginning? (y or n) y | |
2446 Starting program: /Users/kono/src/device/mc -s test/basic.c | |
2447 [Switching to process 24650 thread 0x2307] | |
2448 test/basic.c:67:Bug of compiler | |
2449 | |
2450 Breakpoint 2, errmsg () at mc-parse.c:214 | |
2451 214 if(lineno==0) return; | |
2452 (gdb) c 69 | |
2453 | |
2454 うまくいかんね。 | |
2455 | |
2456 a+a+a....a で落ちてしまう。まぁねぇ。 |