1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/lib/Transforms/Instrumentation
Luís Marques e0556c8f84 [ASan][RISCV] Fix RISC-V memory mapping
Fixes the ASan RISC-V memory mapping (originally introduced by D87580 and
D87581). This should be an improvement both in terms of first principles
soundness and observed test failures --- test failures would occur
non-deterministically depending on the ASLR random offset.

On RISC-V Linux (64-bit), `TASK_UNMAPPED_BASE` is currently defined as
`PAGE_ALIGN(TASK_SIZE / 3)`. The non-power-of-two divisor makes the result
be the not very round number 0x1555556000. That address had to be further
rounded to ensure page alignment after the shadow scale shifting is applied.
Still, that value explains why the mapping table may look less regular than
expected.

Further cleanups:
- Moved the mapping table comment, to ensure that the two Linux/AArch64
tables stayed together;
- Removed mention of Sv48. Neither the original mapping nor this one are
compatible with an actual Linux Sv48 address space (mainline Linux still
operates Sv48 in Sv39 mode). A future patch can improve this;
- Removed the additional comments, for consistency.

Differential Revision: https://reviews.llvm.org/D97646
2021-04-06 20:46:17 +01:00
..
AddressSanitizer.cpp [ASan][RISCV] Fix RISC-V memory mapping 2021-04-06 20:46:17 +01:00
BoundsChecking.cpp [local-bounds] Ignore volatile operations 2020-05-05 23:08:08 -07:00
CFGMST.h [Transforms/Instrumentation] Use range-based for loops (NFC) 2021-02-05 21:02:08 -08:00
CGProfile.cpp [CGProfile] don't emit cgprofile entry if called function is dllimport 2020-09-23 16:56:54 -07:00
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
ControlHeightReduction.cpp [llvm] Use *Set::contains (NFC) 2021-01-07 20:29:34 -08:00
DataFlowSanitizer.cpp [dfsan] Add -dfsan-fast-8-labels flag 2021-03-18 16:28:42 -07:00
GCOVProfiling.cpp Add Alignment argument to IRBuilder CreateAtomicRMW and CreateAtomicCmpXchg. 2021-02-25 18:29:42 -05:00
HWAddressSanitizer.cpp [llvm][hwasan] Add Fuchsia shadow mapping configuration 2021-03-25 15:28:59 -07:00
IndirectCallPromotion.cpp [IndirectCallPromotion] Recommit "Don't strip ".__uniq." suffix when it strips 2021-03-12 13:48:14 -08:00
InstrOrderFile.cpp Add Alignment argument to IRBuilder CreateAtomicRMW and CreateAtomicCmpXchg. 2021-02-25 18:29:42 -05:00
InstrProfiling.cpp Revert "[InstrProfiling] Don't generate __llvm_profile_runtime_user" 2021-03-12 13:53:46 +01:00
Instrumentation.cpp [SanitizerCoverage] Drop !associated on metadata sections 2021-02-25 11:59:23 -08:00
MaximumSpanningTree.h
MemorySanitizer.cpp [msan] Set cmpxchg shadow precisely 2021-02-19 20:23:23 +00:00
MemProfiler.cpp MemProfiler::insertDynamicShadowAtFunctionEntry - use cast<> instead of dyn_cast<> for dereferenced pointer. NFCI. 2021-01-05 09:34:01 +00:00
PGOInstrumentation.cpp [PGO] Drop unnecessary const from return types (NFC) 2021-02-11 23:31:29 -08:00
PGOMemOPSizeOpt.cpp [PGO] Fix two issues in PGOMemOPSizeOpt. 2021-03-11 09:53:05 -08:00
PoisonChecking.cpp [ValueTracking] Add UndefOrPoison/Poison-only version of relevant functions 2020-09-09 20:00:26 +09:00
SanitizerCoverage.cpp [SanitizerCoverage] Use External on Windows 2021-03-22 23:05:36 -07:00
ThreadSanitizer.cpp static const char *const foo => const char foo[] 2020-12-01 10:33:18 -08:00
ValueProfileCollector.cpp ValueProfileCollector.h - remove unnecessary includes. NFC. 2020-07-23 12:33:13 +01:00
ValueProfileCollector.h ValueProfileCollector.h - remove unnecessary includes. NFC. 2020-07-23 12:33:13 +01:00
ValueProfilePlugins.inc [llvm] Use isa instead of dyn_cast (NFC) 2021-01-29 23:23:37 -08:00