qtdeclarative/tests/auto/qml/qmlcppcodegen/data
Ulf Hermann 5e4a1738b0 QmlCompiler: Fix register propagation in basic blocks pass
a, We were recording too many jump origins and targets. That messed up
   the basic blocks ordering logic.
b, In the presence of backward jumps, we need to revisit earlier basic
   blocks if additional writes are discovered. Otherwise the type
   adjustment will optimize "dead" type conversions out.

Pick-to: 6.4
Fixes: QTBUG-104665
Change-Id: I7219f85625761817ae4f63582d80d247a85df73b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-07-05 19:50:15 +02:00
..
Cycle QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
ProgressBar Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
ambiguous1 QmlCompiler: Improve ambiguous type detection 2022-04-01 20:58:49 +02:00
ambiguous2 QmlCompiler: Improve ambiguous type detection 2022-04-01 20:58:49 +02:00
imports QmlCompiler: Improve ambiguous type detection 2022-04-01 20:58:49 +02:00
shared Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
AccessModelMethodsFromOutside.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
BadType.qml QmlCompiler: Add test case for descriptive name of invalid type 2022-04-28 22:50:25 +00:00
BaseMember.qml
BindingExpression.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
CMakeLists.txt QmlCompiler: Fix register propagation in basic blocks pass 2022-07-05 19:50:15 +02:00
Cycle1.qml QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
Cycle2.qml QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
Cycle3.qml QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
Dummy.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
Enums.qml
Foozle.qml QmlCompiler: Don't try to get attached objects for non-QObject* 2021-12-17 12:43:14 +01:00
Loopy.qml QQmlJSAotContext: flushPendingBinding() before capturing a property 2021-12-10 10:06:28 +01:00
OkType.qml QmlCompiler: Add test case for descriptive name of invalid type 2022-04-28 22:50:25 +00:00
Panel.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
RootWithoutId.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
SelectionRectangle.qml
Test.qml QmlCompiler: Check builtin type aliases after list resolution 2022-06-15 09:43:01 +02:00
TestCase.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
WindowDerived.qml QmlCompiler: Fix a number of warts regarding type lookup 2022-03-23 12:29:26 +01:00
aliasLookup.qml
ambiguous.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
anchorsFill.qml
array.qml
asCast.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
attachedBaseEnum.qml
bindToValueType.qml
birthdayparty.cpp Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
birthdayparty.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
blockComments.qml QmlCompiler: Do not generate block comments into C++ code 2022-02-18 12:13:47 +01:00
boundComponents.qml qmlcompiler: Evaluate pragma ComponentBehavior 2022-05-24 15:44:16 +02:00
callContextPropertyLookupResult.qml
childobject.qml
colorAsVariant.qml
colorString.qml
componentReturnType.qml
compositeTypeMethod.qml
compositesingleton.qml
construct.qml
contextParam.qml
conversionDecrement.qml QmlCompiler: Add missing parentheses to in-place arithmetic operations 2022-06-28 01:52:43 +02:00
conversions.qml
conversions2.qml QmlCompiler: Don't store void and nullptr 2022-02-12 20:03:12 +01:00
cppbaseclass.h QmlCompiler: Check builtin type aliases after list resolution 2022-06-15 09:43:01 +02:00
curlygrouped.qml
cycleHead.qml QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
deadShoeSize.qml
deadStoreLoop.qml QmlCompiler: Avoid infinite loop in dead store elimination 2022-02-18 16:48:50 +01:00
dialog.qml
dynamicmeta.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
dynamicscene.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
enumInvalid.qml
enumScope.qml
enumsInOtherObject.qml
enumsUser.qml
equalsUndefined.qml
excessiveParameters.qml
extendedTypes.qml
failures.qml QmlCompiler: Reject conversions via QJSValue 2022-06-15 09:43:01 +02:00
fallbacklookups.qml QML: Handle dynamic meta objects in AOT lookups 2022-03-03 18:44:38 +01:00
fileDialog.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
fromBoolValue.qml QmlCompiler: Analyze type conversions before reads in basic blocks 2022-04-06 17:12:50 +02:00
funcWithParams.qml
functionLookup.qml QmlCompiler: Do not crash on attempts to lookup a function in the scope 2022-02-18 12:13:47 +01:00
functionReturningVoid.qml QmlCompiler: Fix return type calculation 2021-12-06 19:35:50 +01:00
functionTakingVar.qml QML: Take care of QVariant when converting function arguments 2022-02-23 12:09:42 +01:00
globals.qml
idAccess.qml
immediateQuit.qml
importsFromImportPath.qml
infinities.qml QmlCompiler: Correctly encode inf/nan/-0 into C++ 2022-02-18 12:13:47 +01:00
intEnumCompare.qml
intOverflow.qml
interactive.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
interceptor.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
invisible.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
invisibleBase.qml QmlCompiler: Handle ID lookups of incomplete types correctly 2022-01-22 09:59:09 +01:00
invisibleListElementType.qml QmlCompiler: Don't crash when trying to resolve null list types 2022-06-02 10:07:40 +02:00
invisibleTypes.qml QmlCompile: Double-check types before generating lookups 2022-04-25 08:44:43 +02:00
isnan.qml QmlCompiler: Correctly label arguments and return types of JS functions 2022-02-25 14:08:22 +01:00
javaScriptArgument.qml QmlCompiler: Fix miscompilation if arguments are overwritten 2022-06-23 09:35:57 +02:00
jsMathObject.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
jsimport.qml
jsmoduleimport.qml
layouts.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
library.js
listIndices.qml QmlCompiler: Detect non-integral values when accessing QQmlListProperty 2022-05-19 22:30:23 +02:00
listlength.qml
math.qml
methods.qml
modulePrefix.qml
moveRegVoid.qml QmlCompiler: On MoveReg, check if we need to move at all 2022-03-01 08:51:52 +01:00
noBindingLoop.qml QQmlJSAotContext: flushPendingBinding() before capturing a property 2021-12-10 10:06:28 +01:00
noQQmlData.qml
nonNotifyable.qml
noscope.qml
notEqualsInt.qml QmlCompiler: Place code for CmpNeInt in parentheses 2022-02-04 15:55:00 +01:00
nullAccess.qml
objectInVar.qml QmlCompiler: Perform QVariant conversion in JavaScript semantics 2022-02-18 12:13:47 +01:00
objectwithmethod.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
outOfBounds.qml QmlCompiler: Implement LoadElement for value type lists 2022-05-24 15:44:16 +02:00
overriddenMember.qml
ownProperty.qml
page.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
parentProp.qml
person.cpp Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
person.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
popContextAfterRet.qml QmlCompiler: Handle context push/pop in dead code 2022-01-18 12:51:38 +01:00
prefixedMetaType.qml QmlCompiler: Respect qualified property types 2022-04-06 05:02:34 +02:00
pressAndHoldButton.qml
propertyChanges.qml
registerPropagation.qml QmlCompiler: Fix register propagation in basic blocks pass 2022-07-05 19:50:15 +02:00
registerelimination.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
revisions.qml QmlCompiler: Respect revisions 2022-01-21 01:23:58 +01:00
scopeVsObject.qml
script.js
script.mjs
shifts.qml
signal.qml
signalHandler.qml
specificParent.qml
state.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
stringArg.qml QmlCompiler: Inline String.arg() into generated code 2022-06-24 22:17:17 +02:00
stringLength.qml
testlogger.js Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
text.qml
theme.cpp Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
theme.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
themerbad.qml qmlcachegen: Don't generate bad code if we cannot resolve a return type 2021-12-10 02:42:47 +01:00
themergood.qml QmlCompiler: Split type name by last "::" rather than first 2021-12-10 02:42:47 +01:00
throwObjectName.qml QmlCompiler: Properly annotate ThrowException instruction 2022-06-23 09:35:56 +02:00
timelinetheme.cpp Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
timelinetheme.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
toString.qml QmlCompiler: Reject conversions via QJSValue 2022-06-15 09:43:01 +02:00
translation.qml QmlCompiler: Inline translation methods 2022-06-24 14:47:58 +02:00
typePropertyClash.qml QmlCompiler: Don't retrieve metaobjects for value and sequence types 2022-06-10 14:41:49 +02:00
typedArray.qml QmlCompiler: Add support for LoadElement on strings 2022-05-24 15:44:16 +02:00
undefinedResets.qml
unknownAttached.qml QmlCompiler: Don't try to get attached objects for non-QObject* 2021-12-17 12:43:14 +01:00
unknownParameter.qml
unstoredUndefined.qml QmlCompiler: Don't generate invalid code for storing undefined 2022-06-29 13:26:07 +02:00
unusedAttached.qml
urlString.qml
valueTypeLists.qml QmlCompiler: Add support for LoadElement on strings 2022-05-24 15:44:16 +02:00
valueTypeProperty.qml
variantlist.qml Re-allow retrieval of list properties in QQmlJSCodeGenerator 2022-01-15 14:22:42 +01:00
voidfunction.qml