Misha Brukman | 1be339a | 2004-07-23 22:37:22 +0000 | [diff] [blame] | 1 | Currently unimplemented: |
| 2 | * cast fp to bool |
Misha Brukman | bb966a4 | 2004-07-26 16:23:55 +0000 | [diff] [blame] | 3 | * signed right shift of long by reg |
Misha Brukman | 1be339a | 2004-07-23 22:37:22 +0000 | [diff] [blame] | 4 | |
| 5 | Current bugs: |
Misha Brukman | bb966a4 | 2004-07-26 16:23:55 +0000 | [diff] [blame] | 6 | * large fixed-size allocas not correct, although should |
| 7 | be closer to working. Added code in PPCRegisterInfo.cpp |
| 8 | to do >16bit subtractions to the stack pointer. |
| 9 | |
| 10 | Codegen improvements needed: |
Misha Brukman | bb966a4 | 2004-07-26 16:23:55 +0000 | [diff] [blame] | 11 | * no alias analysis causes us to generate slow code for Shootout/matrix |
| 12 | * setCondInst needs to know branchless versions of seteq/setne/etc |
| 13 | * cast elimination pass (uint -> sbyte -> short, kill the byte -> short) |
Misha Brukman | 4ce5ce2 | 2004-07-27 18:43:04 +0000 | [diff] [blame] | 14 | * should hint to the branch select pass that it doesn't need to print the |
| 15 | second unconditional branch, so we don't end up with things like: |
| 16 | .LBBl42__2E_expand_function_8_21: ; LeafBlock37 |
| 17 | cmplwi cr0, r29, 11 |
| 18 | bne cr0, $+8 |
| 19 | b .LBBl42__2E_expand_function_8_674 ; loopentry.24 |
| 20 | b .LBBl42__2E_expand_function_8_42 ; NewDefault |
| 21 | b .LBBl42__2E_expand_function_8_42 ; NewDefault |
Misha Brukman | bb966a4 | 2004-07-26 16:23:55 +0000 | [diff] [blame] | 22 | |
| 23 | Current hacks: |
| 24 | * lazy insert of GlobalBaseReg definition at front of first MBB |
| 25 | A prime candidate for sabre's "slightly above ISel" passes. |
| 26 | * cast code is huge, unwieldy. Should probably be broken up into |
| 27 | smaller pieces. |
| 28 | * visitLoadInst is getting awfully cluttered as well. |
Misha Brukman | 1be339a | 2004-07-23 22:37:22 +0000 | [diff] [blame] | 29 | |
| 30 | Currently failing tests: |
Misha Brukman | 1be339a | 2004-07-23 22:37:22 +0000 | [diff] [blame] | 31 | * SingleSource |
Misha Brukman | b9b8ba5 | 2004-07-28 00:55:12 +0000 | [diff] [blame^] | 32 | `- Regression |
| 33 | | `- 2003-05-22-VarSizeArray |
Misha Brukman | 1be339a | 2004-07-23 22:37:22 +0000 | [diff] [blame] | 34 | `- Benchmarks |
| 35 | | `- Shootout-C++ : most programs fail, miscompilations |
| 36 | `- UnitTests |
Misha Brukman | b9b8ba5 | 2004-07-28 00:55:12 +0000 | [diff] [blame^] | 37 | | `- C++Catch |
| 38 | | `- SimpleC++Test |
Misha Brukman | 1be339a | 2004-07-23 22:37:22 +0000 | [diff] [blame] | 39 | `- ConditionalExpr |
| 40 | `- casts |
| 41 | `- sumarray2d: large alloca miscompiled |
| 42 | `- test_indvars |
| 43 | * MultiSource |
| 44 | |- Applications |
| 45 | | `- burg: miscompilation |
| 46 | | `- siod: llc bus error |
| 47 | | `- hbd: miscompilation |
| 48 | | `- d (make_dparser): miscompilation |
| 49 | `- Benchmarks |
Misha Brukman | bb966a4 | 2004-07-26 16:23:55 +0000 | [diff] [blame] | 50 | `- MallocBench/make: branch target too far |