1476 Commits

Author SHA1 Message Date
Justin Viiret
73ef7f1e44 mpvcompile: use bytecode_ptr 2017-04-26 15:19:36 +10:00
Justin Viiret
3590f73151 fdr: use bytecode_ptr in fdr/teddy compilers 2017-04-26 15:19:36 +10:00
Justin Viiret
9996283112 noodle_build: use bytecode_ptr 2017-04-26 15:19:35 +10:00
Justin Viiret
e90ad34f67 smallwrite_build: delete smwrSize 2017-04-26 15:19:35 +10:00
Justin Viiret
a5ed9a9330 smallwrite_build: use bytecode_ptr 2017-04-26 15:19:35 +10:00
Justin Viiret
7288da22bd limex_compile: use bytecode_ptr 2017-04-26 15:19:35 +10:00
Justin Viiret
befdbb781d rose_build_engine_blob: add func for bytecode_ptr 2017-04-26 15:19:35 +10:00
Justin Viiret
2698e534e4 fdr_confirm_compile: use bytecode_ptr 2017-04-26 15:19:35 +10:00
Justin Viiret
97516eccb6 fdr: use bytecode_ptr internally 2017-04-26 15:19:35 +10:00
Justin Viiret
6499d306ec bytecode_ptr: new smart pointer type
bytecode_ptr<T> is an aligned_unique_ptr<T> that can be queried for its
size and alignment.
2017-04-26 15:19:35 +10:00
Justin Viiret
9a82689d00 limex: more general CANNOT_DIE analysis 2017-04-26 15:19:35 +10:00
Justin Viiret
152552423f limex: refactor non-accel loops into function 2017-04-26 15:19:35 +10:00
Justin Viiret
578277e535 limex_dump: dump LimEx type and flags in text 2017-04-26 15:19:35 +10:00
Justin Viiret
8713cfbd9e limex: add CANNOT_DIE flag and loop without test 2017-04-26 15:19:35 +10:00
Alex Coyte
7920b1086b default the move special functions 2017-04-26 15:19:35 +10:00
Alex Coyte
894e6835e6 ensure that engines added to the leftQueueMap are real rather than lookarounds 2017-04-26 15:19:33 +10:00
Justin Viiret
aa4ae755d8 depth: use hash_all() 2017-04-26 15:19:22 +10:00
Justin Viiret
5d1922327e depth: use totally_ordered 2017-04-26 15:19:22 +10:00
Justin Viiret
cf82924a39 depth: make constructor explicit 2017-04-26 15:19:19 +10:00
Alex Coyte
37cb93e60f rose_build: reduce size/scope of context objects 2017-04-26 15:19:01 +10:00
Justin Viiret
a2b2940f85 limex: move load from input closer to use 2017-04-26 15:19:01 +10:00
Xu, Chi
ae3cb7de6f rose: add multi-path shufti 16x8, 32x8, 32x16, 64x8 and multi-path lookaround instructions. 2017-04-26 15:18:56 +10:00
Justin Viiret
1ef87c43ee noncopyable: switch over from boost 2017-04-26 15:18:26 +10:00
Justin Viiret
a9844fbf74 noncopyable: add simple ue2::noncopyable class 2017-04-26 15:18:26 +10:00
Justin Viiret
a61b92f8d1 operators: add simple ue2::totally_ordered class 2017-04-26 15:18:26 +10:00
Matthew Barr
cd418ea6a8 Wrapper for system intrin header 2017-04-26 15:18:26 +10:00
Matthew Barr
8201183138 Check compiler architecture flags in one place 2017-04-26 15:18:26 +10:00
Justin Viiret
5fe524fbb3 rose: allow lits that squash to share fragments 2017-04-26 15:18:26 +10:00
Justin Viiret
18f843bcc1 rose: add CLEAR_WORK_DONE instruction
Preparatory work for allowing fragments to be shared between literals
that squash groups and those that don't.
2017-04-26 15:18:26 +10:00
Matthew Barr
803f61d818 ICC doesn't have a __POPCNT__ macro 2017-04-26 15:18:26 +10:00
Justin Viiret
1f3a000bfa dump_util: move into namespace ue2 2017-04-26 15:18:26 +10:00
Justin Viiret
7d23a7e2d3 som: move som_type into namespace ue2 2017-04-26 15:18:26 +10:00
Justin Viiret
a871f70c25 ng_extparam: split up work and do per-comp reduce
This change breaks extparam processing up into:

 - propagateExtendedParams: propagates min_length, min_offset and
   max_offset into the reports on the graph
 - reduceExtendedParams: runs graph reductions based on extparams

Then, we apply the reduce pass to the whole graph, and later as well to
each component after calc_components.
2017-04-26 15:18:22 +10:00
Justin Viiret
0a163b5535 rose: only use live reports for dedupe assignment 2017-04-26 15:18:13 +10:00
Justin Viiret
a1bc69f3dd rose_build_groups: allow simple-exh lits to squash 2017-04-26 15:18:13 +10:00
Matthew Barr
1d9a5421ce ICC doesn't have a __BMI2__ macro 2017-04-26 15:18:13 +10:00
Alex Coyte
0cbec2c1c3 mmbBuildInitRangePlan: correct offset if initial block is not block 0 2017-04-26 15:18:13 +10:00
Justin Viiret
1200f33116 ng_region: no need to copy enters 2017-04-26 15:18:13 +10:00
Justin Viiret
699ab4190a ng_region: clean up and modernise 2017-04-26 15:18:13 +10:00
Justin Viiret
ca22edc9d3 ng_region: don't realloc exits 2017-04-26 15:18:13 +10:00
Justin Viiret
d63fdcd860 ng_region: simplify checkAndAddExitCandidate 2017-04-26 15:18:13 +10:00
Justin Viiret
7396c93990 ng_region: clean up refineExits 2017-04-26 15:18:13 +10:00
Justin Viiret
8823a8fbfd ng_region: use flat_sets in exit_info 2017-04-26 15:18:13 +10:00
Justin Viiret
546091f819 ng_calc_components: filter vertices from ug 2017-04-26 15:18:13 +10:00
Justin Viiret
4b3ff085d3 ng_undirected: avoid parallel edge at construction
(Rather than using setS for out edges)
2017-04-26 15:18:13 +10:00
Justin Viiret
9724f8c3cc ng_undirected: modernize code 2017-04-26 15:18:13 +10:00
Justin Viiret
560e522457 ng_calc_components: add Grey box control 2017-04-26 15:18:13 +10:00
Justin Viiret
ba867ebaff ng_calc_components: rework to move graphs
Rather than cloning graphs for output, rework calc components so that it
moves them.
2017-04-26 15:18:13 +10:00
Justin Viiret
5dfae12a62 ng: split NGWrapper into NGHolder, ExpressionInfo
We now use NGHolder for all graph information, while other expression
properties (report, flag information, etc) go in new class
ExpressionInfo.
2017-04-26 15:18:09 +10:00
Matthew Barr
01b91da1cd Use the default allocator for std::vector 2017-04-26 15:17:19 +10:00