[Flang][OpenMP] Provide option to use heap allocation for private adjustable arrays (#186795)
The size of adjustable Fortran arrays is not known at compilation time.
Using limited GPU stack memory may cause hard-to-debug errors. On the
other hand, switching to heap memory allocation may lead to missed
optimization opportunities and significantly increased kernel execution
time.
Adding the option `-mmlir --enable-gpu-heap-alloc` allows the user to
generate valid code for adjustable Fortran arrays. The flag is off by
default, so there is no efficiency penalty for code that does not use
adjustable arrays.
[SPIR-V] Fix llvm.spv.gep return type for vector-indexed GEPs (#185931)
The `int_spv_gep` intrinsic was defined with `llvm_anyptr_ty` which
forced it to return a scalar pointer. Change the return type to
`llvm_any_ty` to allow the intrinsic to match the actual result type of
the original GEP, whether scalar or vector
NAS-140310 / 27.0.0-BETA.1 / Also handle dicts in `get_mock_return_model` (#18468)
This fixes test_update.py::test_update failing with
```
AttributeError: 'dict' object has no attribute 'available'
```
Because `update.profile_choices` is expected to be a dict of objects,
but a dict of dicts is returned due to mocking.
[lit] Stop holding subprocess objects open in TimeoutHelper (#186712)
Tweak TestRunner's TimeoutHelper storage to hold only PIDs rather
than the whole process object. Holding the object causes many pipes to
stay open, when all we need is the pid.
Addresses #185941
[lldb][NativePDB] Compile `vbases.test` without default libraries (#186510)
#185735 added the `vbases.test`, which compiles with
`--target=x86_64-windows-msvc`. This will cause the final executable to
be linked to `libcmt.lib`. That doesn't work on ARM, so this PR changes
the command line to link without the default libraries. They're not
needed if we disable `/GS` (buffer security check) like in other tests.
We use `%clang_cl` over `%build` to be able to compile with DWARF as
well.
[CodeGen] Fix C++ global dtor for non-zero program AS targets (#186484)
In codegen for C++ global destructors, we pass a pointer to the
destructor to be called at program exit as the first arg to the
`__cxa_atexit` function.
If the target's default program AS and default AS are not equal, we need
to emit an addrspacecast from the program AS to the generic AS (which is
used as the argument type for the first arg of `__cxa_atexit`) in the
function call.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
17961 klm: memory leak in nlm_host_destroy()
Reviewed by: Robert Mustacchi <rm+illumos at fingolfin.org>
Reviewed by: Gordon Ross <Gordon.W.Ross at gmail.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
17959 nlm_copy_netbuf(): NULL pointer dereference
Reviewed by: Robert Mustacchi <rm+illumos at fingolfin.org>
Reviewed by: Gordon Ross <Gordon.W.Ross at gmail.com>
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Approved by: Dan McDonald <danmcd at edgecast.io>
[Utils] Modernize type annotations in git-llvm-push
Import annotations from __future__ so we can start using more modern
annotations now rather than once we move to Python 3.10 while still
preserving Python 3.8 compatibility. Also fix a couple typing issues
while here.
Reviewers: ilovepi, petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/186690