Closed Bug 575396 Opened 14 years ago Closed 14 years ago

treehydra: fix template and enum handling of dehydra_convert, add gimple_num_args, banish USING_DECLs

Categories

(Developer Infrastructure :: Source Code Analysis, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ehren.m, Unassigned)

References

Details

Attachments

(1 file, 1 obsolete file)

Attached patch patch (obsolete) — Splinter Review
4.5 switched to using CONST_DECL for some (all?) enum fields (this is already handled in dehydra_types.c). The other fixes are for issues encountered when running the analysis suite. Note that the USING_DECL fix is to prevent these trees from being seen by process_tree_decl.
Attachment #454631 - Flags: review?(tglek)
Comment on attachment 454631 [details] [diff] [review]
patch

>+// Test enum handling of dehydra_convert
>+function process_tree(fn) {
>+  let cfg = function_decl_cfg(fn);
>+  for (let bb in cfg_bb_iterator(cfg)) {
>+    for (let isn in bb_isn_iterator(bb)) {
>+      if (isn.tree_code() != GIMPLE_ASSIGN)
>+        continue;
>+      let lhs = gimple_op(isn, 0);
>+      let t = TREE_TYPE(lhs);
>+      t = dehydra_convert(t);
>+      new EnumTestCase(t).run(r);
>+    }
>+  }
>+}

There should be a cfg->isn iterator to skip these nested loops in every friggin script. If there isn't one already please add a cfg_isn_iterator
Attachment #454631 - Flags: review?(tglek) → review+
Attached patch patch v2Splinter Review
added cfg_isn_iterator, changed test case to use it, carrying over r+.
Attachment #454631 - Attachment is obsolete: true
Attachment #454652 - Flags: review+
Blocks: 437502
http://hg.mozilla.org/rewriting-and-analysis/dehydra/rev/88b314bba36b
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Product: Core → Firefox Build System
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: