Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
1759c61
resolve merge conflict
NikitaGorbov Feb 24, 2022
bfd9a01
try to make a new pass: edit passes.h
NikitaGorbov Oct 20, 2021
1d9d69d
add pragma 'removefirstprivate'
NikitaGorbov Oct 29, 2021
1a63251
remove-firstprivate pass
NikitaGorbov Nov 11, 2021
6e9f702
remove unused code
NikitaGorbov Nov 11, 2021
945641d
add array initialization
NikitaGorbov Nov 25, 2021
34fb122
improvements
NikitaGorbov Dec 3, 2021
338cdb3
multidimensional array initialization and improvements
NikitaGorbov Dec 9, 2021
c50822d
add auto size determination for arrays
NikitaGorbov Dec 17, 2021
7386e89
add pointers initialization
NikitaGorbov Dec 22, 2021
522e71c
removefirstprivate: wrong counter initialization fix
NikitaGorbov Dec 23, 2021
1114bfe
fix incorrect dimension determination in some cases
NikitaGorbov Feb 24, 2022
1c44b9f
Rename pass, change pass syntax, add some improvements
NikitaGorbov Mar 16, 2022
906f162
better formating
NikitaGorbov Mar 16, 2022
5d8c0c4
rename variables, change some var declarations
NikitaGorbov Mar 18, 2022
05e69bf
remove some vars, change some types
NikitaGorbov Mar 22, 2022
24b8cae
add checks and warnings
NikitaGorbov Mar 25, 2022
67e4ca4
add error_not_var, fix wrong conditions for warning printing, change …
NikitaGorbov Mar 31, 2022
090c25d
clear redundant code
NikitaGorbov Mar 31, 2022
a543fc0
fix warning messages
NikitaGorbov Apr 8, 2022
43c9f2f
exit if incorrect pragma parameter found
NikitaGorbov Apr 13, 2022
19f6aea
add error flag
NikitaGorbov Apr 13, 2022
8d89107
change initialization order
NikitaGorbov Apr 28, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions include/tsar/Support/DiagnosticKinds.td
Original file line number Diff line number Diff line change
Expand Up @@ -217,5 +217,10 @@ def warn_reverse_increment_complex: Warning<"complex increment expression preven
def warn_reverse_condition_complex: Warning<"complex conditional expression prevents loop reversal">;
def warn_reverse_initialization_complex: Warning<"complex initialization expression prevents loop reversal">;

def warn_unknown_dimensions : Warning<"Unknown array dimensions. Specify them manually">;
def warn_dimensions_do_not_match : Warning<"Array dimensions do not match">;
def warn_too_many_dimensions : Warning<"Too many dimensions given">;
def error_not_var : Error<"Given DeclRefExpr is not a variable">;

// Fortran-specific diagnostics.
def warn_fortran_no_execution_part: Warning<"unable to locate execution-part statmenets">;
3 changes: 3 additions & 0 deletions include/tsar/Support/Directives.td
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,9 @@ def AssertNoMacro : Clause<"nomacro", Assert>;
def RegionName : Clause<"name", Region,
[LParen, PPIdentifier, ZeroOrMore<[Comma, PPIdentifier]>, RParen]>;

def Initialize : Clause<"initialize", Transform,
[LParen, Identifier, Equal, OneOf<[Identifier, NumericConstant]>, ZeroOrMore<[LSquare, NumericConstant, RSquare]>, ZeroOrMore<[Comma, Identifier, Equal, OneOf<[Identifier, NumericConstant]>, ZeroOrMore<[LSquare, NumericConstant, RSquare]>]>, RParen]>;

def ReplaceMetadata : Clause<"replace", Metadata,
[LParen,
Identifier, LParen,
Expand Down
9 changes: 8 additions & 1 deletion include/tsar/Transform/Clang/Passes.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ llvm::ModulePass * createClangRenameLocalPass();
/// Initializes a pass to perform source-level object renaming.
void initializeClangRenameLocalPassPass(PassRegistry &Registry);

/// Creates a pass to perform initialization.
FunctionPass * createClangInitialize();

/// Initializes a pass to perform initialization.
void initializeClangInitializePass(PassRegistry &Registry);


/// Creates a pass to perform elimination of dead declarations.
FunctionPass * createClangDeadDeclsElimination();

Expand Down Expand Up @@ -115,4 +122,4 @@ void initializeClangLoopReversePass(PassRegistry &Registry);
/// Create a pass to reverse loop.
ModulePass *createClangLoopReverse();
}
#endif//TSAR_CLANG_TRANSFORM_PASSES_H
#endif//TSAR_CLANG_TRANSFORM_PASSES_H
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нужно убрать изменения строк, которые не были затронуты (символы завершения строки).

2 changes: 1 addition & 1 deletion lib/Transform/Clang/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ set(TRANSFORM_SOURCES Passes.cpp ExprPropagation.cpp Inline.cpp RenameLocal.cpp
DeadDeclsElimination.cpp Format.cpp OpenMPAutoPar.cpp DVMHWriter.cpp
SharedMemoryAutoPar.cpp DVMHDirecitves.cpp DVMHSMAutoPar.cpp
DVMHDataTransferIPO.cpp StructureReplacement.cpp LoopInterchange.cpp
LoopReversal.cpp)
LoopReversal.cpp Initialize.cpp)

if(MSVC_IDE)
file(GLOB_RECURSE TRANSFORM_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
Expand Down
Loading