[Triple] Make a target triple "os" for firmware (#176272)
Make a Triple::OSType to support a generic "firmware" OS that isn't bare
metal, but isn't tied to a specific hardware platform like macOS or iOS.
Hook up support for the new OSType in the Darwin toolchain.
Support: allow `llvm::sys::fs::rename` to rename a directory on Windows (#179739)
`CreateFileW` must be passed `FILE_FLAG_BACKUP_SEMANTICS` to allow a
handle to a directory to be acquired. Without this, we would previously
fail with permission denied if a directory was attempted to be renamed.
[libc++] Use views::reverse to implement ranges::reverse_copy (#177123)
We currently have a custom utility `__reverse_range`, which does
basically the same thing as `views::reverse` and the only place where we
use it is in `ranges::reverse_copy`. Instead of this special utility, we
can simply use `views::reverse`.
This has originally been introduced due to compile time concerns.
However, there doesn't seem to actually be a significant compile time
regression overall.
[ClangScanDeps][test] Avoid writing to readonly dirs (#179733)
Writing files to the current dir fails when tests are run in an
environment w/ a readonly build tree. The normal fix is to write to an
explicitly writeable dir (i.e. `-o %t/info.json`), but since we don't
actually do anything w/ info.json, just write to `/dev/null` instead.
[Hexagon] Fix use-after-poison in balanceSubTree (#179239)
The balanceSubTree() function in HexagonISelDAGToDAG was accessing node
operands after recursive calls that could invalidate those nodes through
RAUW.
Use pre-captured Op0/Op1 values instead of re-accessing N's operands
after BST calls, add bounds checking before accessing node operands in
several places, check if nodes were RAUW'd before calling getHeight() on
them.
Revert "[lit] Avoid multiprocessing for -j1 runs (#175587)"
This reverts commit 9f1a9d24813c0c1b89d24063825a7fb8ca64a3a1.
This caused quite a few buildbot failures (see failures on the PR). It
does not look like a trivial fix to me.
[GOFF] Set reference to ADA
Function symbols must have a reference to the ADA, because this becomes
the value of the r5 register when the function is called. Simply get the
value from the begin symbol of the section.
[AMDGPU][SIInsertWaitcnt][NFC] Move eventCounter() function (#178949)
The eventCounter() function searches through the array of events. This
array is owned by the WaitcntGenerator class.
This patch moves the function into the WaitcntGenerator class which
helps hide the event array from the user.
It also renames it to getCounterFromEvent().
This should be NFC.