2004-07-23 22:37:22 +00:00
|
|
|
Currently unimplemented:
|
|
|
|
* cast fp to bool
|
2004-07-26 16:23:55 +00:00
|
|
|
* signed right shift of long by reg
|
2004-07-23 22:37:22 +00:00
|
|
|
|
|
|
|
Current bugs:
|
|
|
|
* conditional branches assume target is within 32k bytes
|
2004-07-26 16:23:55 +00:00
|
|
|
* large fixed-size allocas not correct, although should
|
|
|
|
be closer to working. Added code in PPCRegisterInfo.cpp
|
|
|
|
to do >16bit subtractions to the stack pointer.
|
|
|
|
|
|
|
|
Codegen improvements needed:
|
|
|
|
* no alias analysis causes us to generate slow code for Shootout/matrix
|
|
|
|
* setCondInst needs to know branchless versions of seteq/setne/etc
|
|
|
|
* cast elimination pass (uint -> sbyte -> short, kill the byte -> short)
|
|
|
|
|
|
|
|
Current hacks:
|
|
|
|
* lazy insert of GlobalBaseReg definition at front of first MBB
|
|
|
|
A prime candidate for sabre's "slightly above ISel" passes.
|
|
|
|
* cast code is huge, unwieldy. Should probably be broken up into
|
|
|
|
smaller pieces.
|
|
|
|
* visitLoadInst is getting awfully cluttered as well.
|
2004-07-23 22:37:22 +00:00
|
|
|
|
|
|
|
Currently failing tests:
|
|
|
|
* Regression
|
|
|
|
* SingleSource
|
|
|
|
`- Benchmarks
|
|
|
|
| `- Shootout-C++ : most programs fail, miscompilations
|
|
|
|
`- UnitTests
|
|
|
|
| `- 2003-05-26-Shorts
|
|
|
|
| `- 2003-07-09-LoadShorts
|
2004-07-26 16:23:55 +00:00
|
|
|
| `- 2004-06-20-StaticBitfieldInt
|
2004-07-23 22:37:22 +00:00
|
|
|
`- C++Catch
|
|
|
|
`- SimpleC++Test
|
|
|
|
`- ConditionalExpr
|
|
|
|
`- casts
|
|
|
|
`- sumarray2d: large alloca miscompiled
|
|
|
|
`- test_indvars
|
|
|
|
* MultiSource
|
|
|
|
|- Applications
|
|
|
|
| `- burg: miscompilation
|
|
|
|
| `- siod: llc bus error
|
|
|
|
| `- hbd: miscompilation
|
|
|
|
| `- d (make_dparser): miscompilation
|
|
|
|
`- Benchmarks
|
2004-07-26 16:23:55 +00:00
|
|
|
`- MallocBench/make: branch target too far
|