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