Some issues, like failures using the do-while command, were caused by the assembler being unable to assign registers consistently for a single temporary variable. For example, in the do-while case, the "iterate" Temporary object was not being assigned to the same register between it's initial declaration and it's usage inside the loop condition later on, causing the do-while to behave weirdly. Other instances where multiple Temporary objects ended up being used simultaneously of where a single object was references in multiple parts of the code could have failed because of this. The fix is simply to assign Temporary objects a unique ID. Change-Id: Ie48c596b4c6570853702cab71497b3e00a40c2a0 Reviewed-on: https://swiftshader-review.googlesource.com/4015Tested-by:Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| preprocessor | Loading commit data... | |
| AnalyzeCallDepth.cpp | Loading commit data... | |
| AnalyzeCallDepth.h | Loading commit data... | |
| Android.mk | Loading commit data... | |
| BaseTypes.h | Loading commit data... | |
| Common.h | Loading commit data... | |
| Compiler.cpp | Loading commit data... | |
| Compiler.h | Loading commit data... | |
| Compiler.vcxproj | Loading commit data... | |
| Compiler.vcxproj.filters | Loading commit data... | |
| ConstantUnion.h | Loading commit data... | |
| Diagnostics.cpp | Loading commit data... | |
| Diagnostics.h | Loading commit data... | |
| DirectiveHandler.cpp | Loading commit data... | |
| DirectiveHandler.h | Loading commit data... | |
| ExtensionBehavior.h | Loading commit data... | |
| InfoSink.cpp | Loading commit data... | |
| InfoSink.h | Loading commit data... | |
| Initialize.cpp | Loading commit data... | |
| Initialize.h | Loading commit data... | |
| InitializeGlobals.h | Loading commit data... | |
| InitializeParseContext.cpp | Loading commit data... | |
| InitializeParseContext.h | Loading commit data... | |
| IntermTraverse.cpp | Loading commit data... | |
| Intermediate.cpp | Loading commit data... | |
| MMap.h | Loading commit data... | |
| OutputASM.cpp | Loading commit data... | |
| OutputASM.h | Loading commit data... | |
| ParseHelper.cpp | Loading commit data... | |
| ParseHelper.h | Loading commit data... | |
| PoolAlloc.cpp | Loading commit data... | |
| PoolAlloc.h | Loading commit data... | |
| Pragma.h | Loading commit data... | |
| SymbolTable.cpp | Loading commit data... | |
| SymbolTable.h | Loading commit data... | |
| TranslatorASM.cpp | Loading commit data... | |
| TranslatorASM.h | Loading commit data... | |
| Types.h | Loading commit data... | |
| ValidateGlobalInitializer.cpp | Loading commit data... | |
| ValidateGlobalInitializer.h | Loading commit data... | |
| ValidateLimitations.cpp | Loading commit data... | |
| ValidateLimitations.h | Loading commit data... | |
| ValidateSwitch.cpp | Loading commit data... | |
| ValidateSwitch.h | Loading commit data... | |
| debug.cpp | Loading commit data... | |
| debug.h | Loading commit data... | |
| generate_parser.sh | Loading commit data... | |
| glslang.h | Loading commit data... | |
| glslang.l | Loading commit data... | |
| glslang.y | Loading commit data... | |
| glslang_lex.cpp | Loading commit data... | |
| glslang_tab.cpp | Loading commit data... | |
| glslang_tab.h | Loading commit data... | |
| intermOut.cpp | Loading commit data... | |
| intermediate.h | Loading commit data... | |
| localintermediate.h | Loading commit data... | |
| osinclude.h | Loading commit data... | |
| ossource_posix.cpp | Loading commit data... | |
| ossource_win.cpp | Loading commit data... | |
| parseConst.cpp | Loading commit data... | |
| util.cpp | Loading commit data... | |
| util.h | Loading commit data... |