v8/test/cctest/compiler
titzer@chromium.org 90a7f07489 Implement loop variable assignment analysis.
This analysis computes the set of variables that are assigned in each loop. This is useful to avoid creating redundant loop phis when building an SSA graph, which just waste memory and require analysis to get rid of.

This CL implements an AST walk for the analysis and plugs the result into the TurboFan graph builder. I left this analysis under a flag for A/B testing and until sufficient unit tests can be developed.

R=danno@chromium.org, mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/656123005

Cr-Commit-Position: refs/heads/master@{#24957}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 17:30:14 +00:00
..
c-signature.h Add MachineSignature, which is an encapsulation of the machine types for parameters and return values in a graph. 2014-08-28 13:17:38 +00:00
call-tester.h MIPS: Add turbofan support for mips32. 2014-10-02 15:48:48 +00:00
codegen-tester.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
codegen-tester.h [turbofan] reduce allocations outside of pipeline 2014-10-27 12:40:13 +00:00
function-tester.h Move AST node counting to post-pass 2014-10-28 13:24:18 +00:00
graph-builder-tester.cc [turbofan] reduce allocations outside of pipeline 2014-10-27 12:40:13 +00:00
graph-builder-tester.h [turbofan] Reduce memory consumption of graph building 2014-10-27 10:12:40 +00:00
graph-tester.h Make start node a value input to parameter nodes. 2014-08-05 08:47:39 +00:00
instruction-selector-tester.h Add MachineSignature, which is an encapsulation of the machine types for parameters and return values in a graph. 2014-08-28 13:17:38 +00:00
simplified-graph-builder.cc [turbofan] Reduce memory consumption of graph building 2014-10-27 10:12:40 +00:00
simplified-graph-builder.h [turbofan] Reduce memory consumption of graph building 2014-10-27 10:12:40 +00:00
test-basic-block-profiler.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
test-branch-combine.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
test-changes-lowering.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
test-codegen-deopt.cc Move AST node counting to post-pass 2014-10-28 13:24:18 +00:00
test-control-reducer.cc Implement control reducer, which reduces branches and phis together in a single fixpoint. 2014-10-27 08:42:16 +00:00
test-gap-resolver.cc Replace OStream with std::ostream. 2014-09-30 10:29:32 +00:00
test-graph-reducer.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
test-instruction.cc [turbofan] reduce allocations outside of pipeline 2014-10-27 12:40:13 +00:00
test-js-constant-cache.cc Fix bug in NodeCache::GetCachedNodes 2014-10-15 13:07:18 +00:00
test-js-context-specialization.cc Better typing and type verification 2014-10-15 11:38:04 +00:00
test-js-typed-lowering.cc [turbofan] Improve typed lowering for JSToBoolean. 2014-10-28 08:34:15 +00:00
test-linkage.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
test-loop-assignment-analysis.cc Implement loop variable assignment analysis. 2014-10-28 17:30:14 +00:00
test-machine-operator-reducer.cc Better typing and type verification 2014-10-15 11:38:04 +00:00
test-node-algorithm.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
test-node-cache.cc Add JSGraph::GetCachedNodes and NodeCache::GetCachedNodes. These routines are necessary in the dead code elimination phase to trim away uses from unreachable nodes. 2014-10-15 12:29:39 +00:00
test-node.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
test-operator.cc Fix compilation on win64 2014-10-07 16:00:44 +00:00
test-phi-reducer.cc [turbofan] Add MachineType to Phi. 2014-09-05 11:44:31 +00:00
test-pipeline.cc Move AST node counting to post-pass 2014-10-28 13:24:18 +00:00
test-representation-change.cc Better typing and type verification 2014-10-15 11:38:04 +00:00
test-run-deopt.cc Fix non-TF target build after r23107. 2014-08-13 14:47:32 +00:00
test-run-inlining.cc Add inlining for intrinsics. 2014-10-20 07:56:50 +00:00
test-run-intrinsics.cc Add inlining for intrinsics. 2014-10-20 07:56:50 +00:00
test-run-jsbranches.cc Implement graph trimming in ControlReducer. 2014-10-17 11:51:57 +00:00
test-run-jscalls.cc Remove dependency from generic lowering on compilation info for determining strictness and builtins. 2014-08-28 08:39:24 +00:00
test-run-jsexceptions.cc Land the Fan (disabled) 2014-07-30 13:54:45 +00:00
test-run-jsops.cc Land the Fan (disabled) 2014-07-30 13:54:45 +00:00
test-run-machops.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
test-run-properties.cc Fix windows warning. 2014-09-19 10:52:19 +00:00
test-run-stackcheck.cc Implement inlined stack-check guards in TurboFan. 2014-10-01 14:03:02 +00:00
test-run-variables.cc Land the Fan (disabled) 2014-07-30 13:54:45 +00:00
test-schedule.cc Revert "[turbofan] Merge GenericNode with Node." 2014-10-27 22:34:44 +00:00
test-scheduler.cc Make floating merges respected minimum RPO of coupled phis. 2014-10-28 11:38:48 +00:00
test-simplified-lowering.cc [turbofan] Complete support for integer division/modulus in simplified lowering. 2014-10-28 13:56:46 +00:00
test-typer.cc [turbofan] Use range types to type and lower arithmetic ops. 2014-10-23 14:40:43 +00:00
value-helper.h [turbofan] intel lea add multiply matchers 2014-10-01 10:47:14 +00:00