blob: e11449efdf95ad068f514cd09f636ab348aa7815 [file] [log] [blame]
Misha Brukman1be339a2004-07-23 22:37:22 +00001Currently unimplemented:
2* cast fp to bool
Misha Brukmanbb966a42004-07-26 16:23:55 +00003* signed right shift of long by reg
Misha Brukman1be339a2004-07-23 22:37:22 +00004
5Current bugs:
Misha Brukmanbb966a42004-07-26 16:23:55 +00006* 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
10Codegen improvements needed:
Misha Brukmanbb966a42004-07-26 16:23:55 +000011* 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 Brukman4ce5ce22004-07-27 18:43:04 +000014* 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 Brukmanbb966a42004-07-26 16:23:55 +000022
23Current 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 Brukman1be339a2004-07-23 22:37:22 +000029
30Currently failing tests:
Misha Brukman1be339a2004-07-23 22:37:22 +000031* SingleSource
Misha Brukmanb9b8ba52004-07-28 00:55:12 +000032 `- Regression
33 | `- 2003-05-22-VarSizeArray
Misha Brukman1be339a2004-07-23 22:37:22 +000034 `- Benchmarks
35 | `- Shootout-C++ : most programs fail, miscompilations
36 `- UnitTests
Misha Brukmanb9b8ba52004-07-28 00:55:12 +000037 | `- C++Catch
38 | `- SimpleC++Test
Misha Brukman1be339a2004-07-23 22:37:22 +000039 `- 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 Brukmanbb966a42004-07-26 16:23:55 +000050 `- MallocBench/make: branch target too far