-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor common compiler phases among different backends to drivers.common.compiler.phases package and restructure compiler utilities #304
Commits on Jan 8, 2024
-
Refactor BoundCheckEliminationPhase to common module
Deleted duplicate BoundCheckEliminationPhase code in OpenCL, PTX, and SPIR-V modules, and created a single version in common module. This reduces redundancy and simplifies future maintenance. Updated related import statements in MidTier files accordingly.
Configuration menu - View commit details
-
Copy full SHA for 05a39f6 - Browse repository at this point
Copy the full SHA 05a39f6View commit details -
Add copyright notice to BoundCheckEliminationPhase.java
A copyright notice has been added to the top of the BoundCheckEliminationPhase.java file. This is to establish the rights to the file, which is free software and can be modified under the terms of the GNU General Public License version 2.
Configuration menu - View commit details
-
Copy full SHA for 80bc445 - Browse repository at this point
Copy the full SHA 80bc445View commit details -
Refactor TornadoPartialLoopUnroll to common package
Deleted TornadoPartialLoopUnroll from OpenCL and SPIRV drivers, and created a similar file under common driver. Reduced code duplication by relocating the common implementations into a shared module (drivers common). This improves maintainability and code reuse. Also updated OCLMidTier and SPIRVMidTier to include the common TornadoPartialLoopUnroll.
Configuration menu - View commit details
-
Copy full SHA for 6ccce94 - Browse repository at this point
Copy the full SHA 6ccce94View commit details -
Refactor exception message and node checking in OCLFP64SupportPhase
Simplified throwing of TornadoDeviceFP64NotSupported exception using a string literal to output device name. The refactoring also includes concise rewriting of node checking within the run function - for WriteNode, ReadNode, OCLFPUnaryIntrinsicNode, OCLFPBinaryIntrinsicNode, and SqrtNode classes.
Configuration menu - View commit details
-
Copy full SHA for 88f40c9 - Browse repository at this point
Copy the full SHA 88f40c9View commit details -
Refactor InverseSquareRootPhase code for clarity
Code inside InverseSquareRootPhase.java has been refactored to improve readability and compactness. The conditional logic checking for a ConstantNode and SqrtNode has been streamlined, resulting in cleaner, less cluttered code.
Configuration menu - View commit details
-
Copy full SHA for 8db59ed - Browse repository at this point
Copy the full SHA 8db59edView commit details -
Refactor TornadoPartialLoopUnroll class
Removed unnecessary dependencies and methods in the TornadoPartialLoopUnroll class. The createLoopPolicies method and DefaultLoopPolicies import were deleted as they were surplus to requirements. Simplified the getUpperGraphLimit method by removing the unused 'graph' parameter.
Configuration menu - View commit details
-
Copy full SHA for de1ccaa - Browse repository at this point
Copy the full SHA de1ccaaView commit details -
Refactor PrimitiveSerialiser to use switch expression
The conditional structure within the put method in the PrimitiveSerialiser class was updated to a more efficient switch expression. The switch expression directly correlates buffer types with their appropriate actions, while also handling the default case of null or unsupported type.
Configuration menu - View commit details
-
Copy full SHA for 1e3475d - Browse repository at this point
Copy the full SHA 1e3475dView commit details -
Refactor instance type casting in TornadoFieldAccessFixup
Updated the type casting operations in the 'TornadoFieldAccessFixup.java' file to use Java's improved instance pattern matching for more straightforward and concise code. Now, each instance type check is performed simultaneously with corresponding type cast, enhancing readability and maintainability of the code.
Configuration menu - View commit details
-
Copy full SHA for 55d92c2 - Browse repository at this point
Copy the full SHA 55d92c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15b11a3 - Browse repository at this point
Copy the full SHA 15b11a3View commit details
Commits on Jan 9, 2024
-
Refactor TornadoTaskSpecialisation with Java's pattern matching
In the TornadoTaskSpecialisation class, instance type checks and casts were restructured to use Java's pattern matching for efficiency and cleaner code. This change results to inline assignments, replacing multiple lines of code. Also, switch expressions are used to simplify conditional logic, optimizing code readability and maintainability.
Configuration menu - View commit details
-
Copy full SHA for d73c1bf - Browse repository at this point
Copy the full SHA d73c1bfView commit details -
Refactor TornadoNewArrayDevirtualizationReplacement to common location
The TornadoNewArrayDevirtualizationReplacement.java file was repeatedly used in multiple packages. This change removes the duplicates across tornado-drivers {opencl, ptx, spirv} packages and places a single copy in the drivers-common package. The import statements referencing this file have been appropriately updated in respective packages. This eliminates redundancy and centralizes the crucial code to enhance maintainability.
Configuration menu - View commit details
-
Copy full SHA for 60224db - Browse repository at this point
Copy the full SHA 60224dbView commit details
Commits on Jan 10, 2024
-
Move compiler classes into 'phases' subpackage
All relevant compiler classes have been moved from 'graal.compiler' to 'compiler.phases'. Changes were necessary across several files and driver types, and have been adjusted accordingly. Import statements and package declarations have been updated to reflect the package location changes.
Configuration menu - View commit details
-
Copy full SHA for a79c63b - Browse repository at this point
Copy the full SHA a79c63bView commit details -
Change module to open; add exports in common-exports
Changed module in module-info.java from module to open. This adjustment provides necessary permissions for handling reflections. Additional exports were also added in the common-exports file for the purpose of extension and API visibility.
Configuration menu - View commit details
-
Copy full SHA for 2fb079d - Browse repository at this point
Copy the full SHA 2fb079dView commit details -
Refactor Tornado array replacement and type elimination
The codebase has been refactored, particularly in 'TornadoNewArrayDevirtualizationReplacement' and 'TornadoNativeTypeElimination' class files. The refactoring involves a slight alteration in a conditional check in the type elimination process, providing improved efficiency. A missing newline character was also added at the end of the Array replacement class file.
Configuration menu - View commit details
-
Copy full SHA for 752b897 - Browse repository at this point
Copy the full SHA 752b897View commit details -
Reorder methods in TornadoPanamaPrivateMemory class
The methods 'notApplicableTo' and 'run' in the TornadoPanamaPrivateMemory class have been reordered. This modification does not alter the program's functionality. It was done to bring the code more in line with the agreed codebase structure and improve readability.
Configuration menu - View commit details
-
Copy full SHA for 143caea - Browse repository at this point
Copy the full SHA 143caeaView commit details -
Refactor error handling and string formatting in TornadoSketcher class
The changes update error handling by leveraging Java's instanceof pattern matching and improve string concatenations using string templates for better readability and performance in the TornadoSketcher class. The modifications made have no functional impact on the code, but they enhance code readability and maintainability.
Configuration menu - View commit details
-
Copy full SHA for 6e950ac - Browse repository at this point
Copy the full SHA 6e950acView commit details -
Refactor LoopCanonicalizer and TornadoCodeGenerator classes
Removed an unnecessary variable re-initialization in the LoopCanonicalizer class. Similarly, updated the debug method in the TornadoCodeGenerator class to use TornadoLogger's static debug method, simplifying the code and potentially improving performance.
Configuration menu - View commit details
-
Copy full SHA for 31b9369 - Browse repository at this point
Copy the full SHA 31b9369View commit details -
Refactor object type casting in TornadoTaskSpecialisation
Updated TornadoTaskSpecialisation class for more readable code and potentially improved performance. The changes involve direct casting of object types in the switch-case structure instead of re-casting them again while creating constant nodes. Code readability is enhanced by clarifying variable names.
Configuration menu - View commit details
-
Copy full SHA for ed5554a - Browse repository at this point
Copy the full SHA ed5554aView commit details -
Refactor package path for Tornado drivers
Refactored the package path for various Tornado drivers from "uk.ac.manchester.tornado.drivers.graal" to "uk.ac.manchester.tornado.drivers.providers". This includes updates to file imports across multiple classes. Moreover, syntax and spacing in some files have been altered for consistency.
Configuration menu - View commit details
-
Copy full SHA for 9da764d - Browse repository at this point
Copy the full SHA 9da764dView commit details
Commits on Jan 11, 2024
-
Relocate TornadoFieldAccessFixup and refactor its usage
The TornadoFieldAccessFixup class is moved from the 'tornado-runtime' to the shared 'drivers-common' package. Additionally, import changes were made in associated classes (SPIRVHighTier and OCLHighTier). This relocation enhances code organization and reuse. Also, minor code optimizations were implemented within the TornadoFieldAccessFixup class.
Configuration menu - View commit details
-
Copy full SHA for f3dd890 - Browse repository at this point
Copy the full SHA f3dd890View commit details -
Relocate TornadoShapeAnalysis class to common compiler phases
TornadoShapeAnalysis class has been moved from the `tornado.runtime.graal.phases` package to the `tornado.drivers.common.compiler.phases`. This refactoring improves the code organization by gathering all phases under the same package. Import statements and build configs were updated accordingly.
Configuration menu - View commit details
-
Copy full SHA for 2ba45ad - Browse repository at this point
Copy the full SHA 2ba45adView commit details -
Refactor TornadoOpenCLIntrinsicsReplacements for better readability a…
…nd performance The commit reorganizes import statements and replaces traditional if-else blocks with switch-case statements. This reduces complexity and contributes to overall code clarity. For instance, an instance check is simplified to directly assign a variable -- 'ConstantNode lengthNode' -- in a single line.
Configuration menu - View commit details
-
Copy full SHA for 887410c - Browse repository at this point
Copy the full SHA 887410cView commit details -
Refactor all common compiler phases from runtime to driver.common and…
… update usages Several files have been moved across directories and package structures have been updated in order to improve code organization. Also, multiple import statements in various files have been updated to correspond with the new location of classes and interfaces. Adjustments are made to facilitate future code maintenance and extensibility.
Configuration menu - View commit details
-
Copy full SHA for 9f4c6be - Browse repository at this point
Copy the full SHA 9f4c6beView commit details -
Refactor several compiler phases and update their usages
Removed unnecessary files, relocated some others, and adjusted the package structures to improve code organization. Updated numerous import statements to match up with the new locations of classes and interfaces. These changes will aid future maintenance and extendibility.
Configuration menu - View commit details
-
Copy full SHA for fcb5c0a - Browse repository at this point
Copy the full SHA fcb5c0aView commit details -
Optimize several methods in TornadoApiReplacement
This commit replaces "get" methods with "getFirst" for efficiency in TornadoApiReplacement class. Strides have been replaced only in the loop condition to enhance performance. These changes potentially prevent possible runtime exceptions and ensure the smooth execution of parallelized tasks.
Configuration menu - View commit details
-
Copy full SHA for 3d20bb0 - Browse repository at this point
Copy the full SHA 3d20bb0View commit details -
Refactor code and relocate classes in driver.common package
Removed specific exports in module info and relocated several classes in the Graal module. LoopCanonicalizer and Floatable classes along with LogicalCompareNode interface have been moved to more appropriate directories, improving code organization and hence readability. Corrections have been made to the respective import statements.
Configuration menu - View commit details
-
Copy full SHA for 76fe75b - Browse repository at this point
Copy the full SHA 76fe75bView commit details -
Refactor code for setting dependencies in IntermediateTornadoGraph
This commit refactors the way dependencies are set in IntermediateTornadoGraph. It utilizes the newly introduced pattern matching for instanceof in Java to simplify and clarify the code, particularly in handling DependentReadNode.
Configuration menu - View commit details
-
Copy full SHA for f1d33cb - Browse repository at this point
Copy the full SHA f1d33cbView commit details -
Refactor package name from 'sketch.tier' to 'sketcher'
The 'sketch.tier' package name has been renamed to 'sketcher'.
Configuration menu - View commit details
-
Copy full SHA for 70e9868 - Browse repository at this point
Copy the full SHA 70e9868View commit details -
Address PR comments and refactor switch-case statements to pattern ma…
…tching The code is refactored to replace traditional switch-case statements with the enhanced pattern matching provided in later versions of Java. This change extends across multiple files and functions, providing more concise and readable code. Additionally, the GRAPH_NODES_UPPER_LIMIT value is now a constant, improving the code maintainability.
Configuration menu - View commit details
-
Copy full SHA for af90555 - Browse repository at this point
Copy the full SHA af90555View commit details -
Refactor switch-cases to pattern matching in OCLWriteAtomicNode
Switch-case statements in OCLWriteAtomicNode have been refactored to use pattern matching. This change provides the dual benefits of making the code more readable and concise. Additionally, it addresses PR comments and increases maintainability by defining the GRAPH_NODES_UPPER_LIMIT as a constant value.
Configuration menu - View commit details
-
Copy full SHA for 90277ab - Browse repository at this point
Copy the full SHA 90277abView commit details -
Refactor switch statements in SPIRVFPBinaryIntrinsicNode.java
This commit simplifies the switch statements in the SPIRVFPBinaryIntrinsicNode class.
Configuration menu - View commit details
-
Copy full SHA for 86559de - Browse repository at this point
Copy the full SHA 86559deView commit details -
Refactor switch-case statements to new switch expressions
The code has been refactored to use the new, more concise style of Java switch expressions, improving readability. This refactoring affects the 'doCompute' and 'generate' methods in the SPIRVIntrinsicNode classes. The use of explicit break statements has been phased out, making the code cleaner and easier to understand.
Configuration menu - View commit details
-
Copy full SHA for 27aa7ec - Browse repository at this point
Copy the full SHA 27aa7ecView commit details
Commits on Jan 12, 2024
-
Update copyright years in various files
The copyright years in various files in drivers-common were updated to include 2024. This includes files in the compiler, memalloc, analysis, loops, and guards subdirectories. Always remember to update copyright notices at the start of each new year for accurate documentation.
Configuration menu - View commit details
-
Copy full SHA for 07254d4 - Browse repository at this point
Copy the full SHA 07254d4View commit details -
Update copyright dates in Tornado runtime
The copyright dates in Tornado runtime have been updated across various files. This covers
Configuration menu - View commit details
-
Copy full SHA for c45bfe8 - Browse repository at this point
Copy the full SHA c45bfe8View commit details -
Update copyright year in tornado runtime interfaces
The copyright year has been updated from 2020 and 2021 to 2024 in numerous files within the Tornado runtime. This change ensures that the copyright information accurately reflects the current year.
Configuration menu - View commit details
-
Copy full SHA for d6fcfb7 - Browse repository at this point
Copy the full SHA d6fcfb7View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0ef84a - Browse repository at this point
Copy the full SHA d0ef84aView commit details