mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-25 21:11:25 +00:00
These IRgen improvements have been done.
Technically we could still do a bit more to avoid deferred generation of statics which we know are used, but I seriously doubt this is important. llvm-svn: 76844
This commit is contained in:
parent
b1b77ca862
commit
a244814e6f
@ -45,21 +45,3 @@ On 176.gcc:expr.ll, it looks like over 12% of basic blocks are just
|
||||
direct branches!
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
There are some more places where we could avoid generating unreachable code. For
|
||||
example:
|
||||
void f0(int a) { abort(); if (a) printf("hi"); }
|
||||
still generates a call to printf. This doesn't occur much in real
|
||||
code, but would still be nice to clean up.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
Deferred generation of statics incurs some additional
|
||||
overhead. Currently it is even possible to construct test cases with
|
||||
O(N^2) behavior! For at least simple cases where we can tell a global
|
||||
is used, it is probably not worth deferring it. This doesn't solve the
|
||||
O(N^2) cases, ,though...
|
||||
|
||||
PR3810
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
Loading…
x
Reference in New Issue
Block a user