diff options
author | Johannes Doerfert <johannes@jdoerfert.de> | 2019-12-24 19:25:08 -0600 |
---|---|---|
committer | Johannes Doerfert <johannes@jdoerfert.de> | 2019-12-24 19:25:08 -0600 |
commit | 5732f56bbd28be6cab976e1df0d87ac5ffae7fcd (patch) | |
tree | dd8cb34c31301a79f2398e177e491df2ea188fdb /lldb/packages/Python/lldbsuite/test/python_api/signals/TestSignalsAPI.py | |
parent | 58f324a468ffc66398199f1a55218e10b718e495 (diff) | |
download | bcm5719-llvm-5732f56bbd28be6cab976e1df0d87ac5ffae7fcd.tar.gz bcm5719-llvm-5732f56bbd28be6cab976e1df0d87ac5ffae7fcd.zip |
[Attributor] UB Attribute now handles all instructions that access memory through a pointer
Summary:
Follow-up on: https://reviews.llvm.org/D71435
We basically use `checkForAllInstructions` to loop through all the instructions in a function that access memory through a pointer: load, store, atomicrmw, atomiccmpxchg
Note that we can now use the `getPointerOperand()` that gets us the pointer operand for an instruction that belongs to the aforementioned set.
Question: This function returns `nullptr` if the instruction is `volatile`. Why?
Guess: Because if it is volatile, we don't want to do any transformation to it.
Another subtle point is that I had to add AtomicRMW, AtomicCmpXchg to `initializeInformationCache()`. Following `checkAllInstructions()` path, that
seemed the most reasonable place to add it and correct the fact that these instructions were ignored (they were not in `OpcodeInstMap` etc.). Is that ok?
Reviewers: jdoerfert, sstefan1
Reviewed By: jdoerfert, sstefan1
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71787
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/signals/TestSignalsAPI.py')
0 files changed, 0 insertions, 0 deletions