Use polymorphic_downcast instead of dynamic_cast. (#5493)
authorСергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 <s.barannikov@samsung.com>
Wed, 26 Jun 2019 09:47:50 +0000 (12:47 +0300)
committer이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 <chunseok.lee@samsung.com>
Wed, 26 Jun 2019 09:47:50 +0000 (18:47 +0900)
commit88e6d16deb9dccd2dbf70922b0ee0c6867084db0
treed315ec553ecd3e158bf4d4310668f9dfce92df2b
parentd4a2f332dc799da82592d27f4aea400f41ed21b5
Use polymorphic_downcast instead of dynamic_cast. (#5493)

Use `polymorphic_downcast` instead of `dynamic_cast` to avoid unnecessary overhead as was suggested in https://github.sec.samsung.net/STAR/nnfw/pull/5383#discussion_r200703.
Remove several redundant `dynamic_cast`s.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
libs/misc/include/misc/polymorphic_downcast.h [new file with mode: 0644]
runtimes/neurun/backend/acl_cl/StageGenerator.cc
runtimes/neurun/backend/acl_neon/StageGenerator.cc
runtimes/neurun/core/src/exec/interp/operations/Add.cc
runtimes/neurun/core/src/exec/interp/operations/AvgPool2D.cc
runtimes/neurun/core/src/exec/interp/operations/Concat.cc
runtimes/neurun/core/src/exec/interp/operations/Conv2D.cc
runtimes/neurun/core/src/exec/interp/operations/FullyConnected.cc
runtimes/neurun/core/src/exec/interp/operations/MaxPool2D.cc
runtimes/neurun/core/src/exec/interp/operations/SoftMax.cc