[MLIR][OpenMP] Fix taskloop charbox privatization (#205568)
Load by-value privatizer arguments from task context storage when
lowering taskloop duplication and firstprivate copy regions. This keeps
pointer-based privatizers unchanged while allowing descriptor values
such as lowered Fortran boxchar values to be passed by value.
It is not at all ideal that boxchars get special treatment. MLIR to
LLVM-IR should not depend upon any particular frontend, but this is a
long-standing TODO. The purpose of this patch is to fix the reported
bug.
Fixes: #205479
Assisted-by: Codex