mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
d2fb0393aa
Dependences between two abstract attributes SRC and TRG come naturally in two flavors: Either (1) "some" information of SRC is *required* for TRG to derive information, or (2) SRC is just an *optional* way for TRG to derive information. While it is not strictly necessary to distinguish these types explicitly, it can help us to converge faster, in terms of iterations, and also cut down the number of `AbstractAttribute::update` calls. As far as I can tell, we only use optional dependences for liveness so far but that might change in the future. With this change the Attributor can be informed about the "dependence class" and it will perform appropriate actions when an Attribute is set to an invalid state, thus one that cannot be used by others to derive information from. |
||
---|---|---|
.. | ||
2008-09-03-Mutual.ll | ||
2008-09-03-ReadNone.ll | ||
2008-09-03-ReadOnly.ll | ||
2008-09-13-VolatileRead.ll | ||
2008-12-29-Constant.ll | ||
2009-01-02-LocalStores.ll | ||
2010-10-30-volatile.ll | ||
align.ll | ||
arg_nocapture.ll | ||
arg_returned.ll | ||
assume.ll | ||
atomic.ll | ||
callbacks.ll | ||
comdat-ipo.ll | ||
convergent.ll | ||
dereferenceable.ll | ||
fn_noreturn.ll | ||
heap_to_stack.ll | ||
incompatible_fn_attrs.ll | ||
int_sideeffect.ll | ||
internal-noalias.ll | ||
liveness.ll | ||
misc.ll | ||
naked_functions.ll | ||
new_attributes.ll | ||
noalias_returned.ll | ||
nocapture.ll | ||
nofree-attributor.ll | ||
nofree.ll | ||
nonnull-global.ll | ||
nonnull.ll | ||
norecurse.ll | ||
noreturn_async.ll | ||
noreturn_sync.ll | ||
nosync.ll | ||
nounwind.ll | ||
operand-bundles-scc.ll | ||
optnone-simple.ll | ||
optnone.ll | ||
out-of-bounds-iterator-bug.ll | ||
read_write_returned_arguments_scc.ll | ||
read-write-scc.ll | ||
readattrs.ll | ||
readnone.ll | ||
returned.ll | ||
value-simplify.ll | ||
willreturn.ll | ||
writeonly.ll |