V4 IR: change datastructures for dominator calculations.

Replace hashes from basic-block to basic-block with vectors that
associate basic-block index to basic-block index.

Change-Id: I834ea3d825e4d2b02c075b1b0f080f5a65f41317
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
V4: re-enable test cases disabled for QTBUG-34047

Task-number: QTBUG-34047

Change-Id: Idcce254f3594e1f7021705704dbe6a2330aa7e65
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
V4 IR: do not add unconditional jumps to work lists

Both type inference and the optimization pass do not do anything with
unconditional jumps. So, instead of adding them to the worklist and
later on removing them again, it’s faster to never add them in the first
place.

Change-Id: Ib81d43e9ea6df2b1a70e9dd1e9b9c29cb6d345d2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
V4: remove class field in DominatorTree that was used only once.

Calculation of all the children of nodes in the dominator tree is now
calculated as a local variable right before computing the dominator
frontier. The effect is that they are not retained after their only use.

Change-Id: I83c962c691b78cb767708eb04cf30d3b7a760deb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix lookups of enums in singletons

This is a regression against 5.2.0 (which didn't have this bug), due to
optimizations introduced in the stable branch after the release. The code path
for optimizing access to the members of C++ based singletons through the
regular meta-object properties would end up excluding access to enums when the
lookup happens at run-time. The run-time getter for the singleton itself would
return a wrapped QObject instead of a QQmlTypeWrapper, and only the latter
includes enums.

As QML based singletons (composite singletons) cannot declare enums, we can
continue to do fast lookups on these, but otherwise have to fall back to the
slower code path.

Task-number: QTBUG-35721

Change-Id: Icc66bdaf3572622cdb718f82b706e3204afa0167
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Fix property access to QQmlPropertyMap objects when addressed via id

Property access to id objects is optimized at compile time, but we cannot do
that for QQmlPropertyMap instances (or generally fully dynamic types).

This issue was a regression against Qt 5.1

Task-number: QTBUG-35906
Change-Id: I759a1a899f6a3a1f6466282f455b289ad7451086
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
QtQuick.Dialogs FileDialog: default mode is ExistingFile

Previously did not sync the mode with the state of the selectExisting
property on construction.

Task-number: QTBUG-35877
Change-Id: Ifb630fb51c463025ec2f6a1932714f354552c234
Reviewed-by: Liang Qi <liang.qi@digia.com>