summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-10-13 06:55:33 +0000
committerChris Lattner <sabre@nondot.org>2009-10-13 06:55:33 +0000
commit2bb5cb490cc34084d74c85b0bfdd39899bea1e97 (patch)
tree6033944407121440824c179a9ee3f5a786b7cd19 /llvm/test
parent9842a4dcb1356fa225528b4d14ae48430fe6191c (diff)
downloadbcm5719-llvm-2bb5cb490cc34084d74c85b0bfdd39899bea1e97.tar.gz
bcm5719-llvm-2bb5cb490cc34084d74c85b0bfdd39899bea1e97.zip
reimplement codegen for indirect goto with the following advantages:
1. CGF now has fewer bytes of state (one pointer instead of a vector). 2. The generated code is determinstic, instead of getting labels in 'map order' based on pointer addresses. 3. Clang now emits one 'indirect goto switch' for each function, instead of one for each indirect goto. This fixes an M*N = N^2 IR size issue when there are lots of address-taken labels and lots of indirect gotos. 4. This also makes the default cause do something useful, reducing the size of the jump table needed (by one). llvm-svn: 83952
Diffstat (limited to 'llvm/test')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud