llvm-project/llvm/test/Transforms/FunctionAttrs
Johannes Doerfert 3ab9e8b818 [Attributor][Fix] Initialize the cache prior to using it
Summary:
There were segfaults as we modified and iterated the instruction maps in
the cache at the same time. This was happening because we created new
instructions while we populated the cache. This fix changes the order
in which we perform these actions. First, the caches for the whole
module are created, then we start to create abstract attributes.

I don't have a unit test but the LLVM test suite exposes this problem.

Reviewers: uenoku, sstefan1

Subscribers: hiraditya, bollu, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67232

llvm-svn: 372105
2019-09-17 10:52:41 +00:00
..
2008-09-03-Mutual.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-09-03-ReadNone.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-09-03-ReadOnly.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-09-13-VolatileRead.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-12-29-Constant.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-01-02-LocalStores.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2010-10-30-volatile.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
align.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
arg_nocapture.ll [Attributor] Use the white list for attributes consistently 2019-09-04 16:26:20 +00:00
arg_returned.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
assume.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
atomic.ll Add, and infer, a nofree function attribute 2019-07-08 15:57:56 +00:00
comdat-ipo.ll IR: print value numbers for unnamed function arguments 2019-08-03 14:28:34 +00:00
convergent.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
dereferenceable.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
fn_noreturn.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
heap_to_stack.ll [Attributor] Heap-To-Stack Conversion 2019-09-15 21:47:41 +00:00
incompatible_fn_attrs.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
int_sideeffect.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
internal-noalias.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
liveness.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
misc.ll [Attributor] Fix: Gracefully handle non-instruction users 2019-08-21 21:48:56 +00:00
naked_functions.ll IR: print value numbers for unnamed function arguments 2019-08-03 14:28:34 +00:00
new_attributes.ll [Attributor] FIX: Treat new attributes as changed ones 2019-08-23 15:24:57 +00:00
noalias_returned.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
nocapture.ll [Attributor] Deduce "no-capture" argument attribute 2019-09-03 20:37:24 +00:00
nofree-attributor.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
nofree.ll Add, and infer, a nofree function attribute 2019-07-08 15:57:56 +00:00
nonnull-global.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
nonnull.ll [Attributor] Use the white list for attributes consistently 2019-09-04 16:26:20 +00:00
norecurse.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
noreturn_async.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
noreturn_sync.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
nosync.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
nounwind.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
operand-bundles-scc.ll Add, and infer, a nofree function attribute 2019-07-08 15:57:56 +00:00
optnone-simple.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
optnone.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
out-of-bounds-iterator-bug.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
read-write-scc.ll [FunctionAttrs] Remove readonly and writeonly assertion 2019-07-15 17:31:26 +00:00
read_write_returned_arguments_scc.ll [Attributor] Look at internal functions only on-demand 2019-09-04 16:35:20 +00:00
readattrs.ll [NFC][FnAttrs] Stress tests for attribute deduction 2019-06-05 03:00:06 +00:00
readnone.ll IR: print value numbers for unnamed function arguments 2019-08-03 14:28:34 +00:00
returned.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
value-simplify.ll [Attributor] ValueSimplify Abstract Attribute 2019-09-07 07:03:05 +00:00
willreturn.ll [Attributor][Fix] Initialize the cache prior to using it 2019-09-17 10:52:41 +00:00
writeonly.ll LLVM: Optimization Pass: Remove conflicting attribute, if any, before 2019-09-11 14:26:22 +00:00