1*3c8a4c6fSJohannes Doerfert.. _omp190: 2*3c8a4c6fSJohannes Doerfert 3*3c8a4c6fSJohannes DoerfertRedundant barrier eliminated. (device only) 4*3c8a4c6fSJohannes Doerfert==================================================================== 5*3c8a4c6fSJohannes Doerfert 6*3c8a4c6fSJohannes DoerfertThis optimization remark indicates that analysis determined an aligned 7*3c8a4c6fSJohannes Doerfertbarrier in the device code to be redundant. This can occur when state 8*3c8a4c6fSJohannes Doerfertupdates that have been synchronized by the barrier were eliminated too. 9*3c8a4c6fSJohannes DoerfertSee also "Co-Designing an OpenMP GPU Runtime and Optimizations for Near-Zero 10*3c8a4c6fSJohannes DoerfertOverhead Execution", IPDPS'22. 11*3c8a4c6fSJohannes Doerfert 12*3c8a4c6fSJohannes DoerfertExample 13*3c8a4c6fSJohannes Doerfert------- 14*3c8a4c6fSJohannes Doerfert 15*3c8a4c6fSJohannes DoerfertThis optimization will trigger for most target regions if state initialization 16*3c8a4c6fSJohannes Doerfertwas removed as a consequence of "state forwarding". This will trigger for 17*3c8a4c6fSJohannes Doerfertinternal runtime functions so it requires enabling verbose remarks with 18*3c8a4c6fSJohannes Doerfert`-openmp-opt-verbose-remarks` (prefixed with `-mllvm` for use with clang). 19*3c8a4c6fSJohannes Doerfert 20*3c8a4c6fSJohannes DoerfertDiagnostic Scope 21*3c8a4c6fSJohannes Doerfert---------------- 22*3c8a4c6fSJohannes Doerfert 23*3c8a4c6fSJohannes DoerfertOpenMP optimization remark. 24