Skip to content

Comments

Integrate command-line parsing with fmv-afmv collision detection#27

Open
mfunkel wants to merge 10 commits intoSeneca-CDOT:2024-S-detect-FMV-AFMV-clashfrom
mfunkel:2024-S-detect-FMV-AFMV-clash
Open

Integrate command-line parsing with fmv-afmv collision detection#27
mfunkel wants to merge 10 commits intoSeneca-CDOT:2024-S-detect-FMV-AFMV-clashfrom
mfunkel:2024-S-detect-FMV-AFMV-clash

Conversation

@mfunkel
Copy link

@mfunkel mfunkel commented Jun 19, 2024

What has been done?

  • updated the collision detection and error production to integrate with the branch handling command-line parsing
  • updated gcc/opts.cc to remove any references to afmv_cnt and afmv_targets variables, as those were causing issues when building
    • note: the variables are inaccessible across compilation units, and simply not using them would blow up the build with the warning about variables being set but unused - hence the removal
  • updated gcc/multiple-target.cc to use command-line macro from "2024-S-command-line-parsing" branch
    • note: the name for this macro is misleading as it suggests the value is boolean when it actually would be a string (the name chosen by the command-line parsing branch developer is flag_fafmv which is poorly chosen and should be updated before making a submission to gcc)
    • the location of the command-line option within the larger context of the rest of the common.opt file is also oddly chosen, and should be moved to a more appropriate spot before making a submission to gcc
    • ideally, the variable afmv_cnt should be used to check for collision, but since that branch produces errors, we had to work around it by simply going off of the command-line macro instead

Usage

  • build/install this version of gcc, and use it to compile a program that uses FMV on at least one function (i.e., __attribute__((target_clones("default","sve","sha2"))) )
  • ensure that the afmv command-line option is set when compiling, ex. -fafmv="sve"
    • note: the command-line parsing branch currently only validates for simd, neon, sve, and sve2
  • should notice the collision error being thrown with info regarding the problem and how to fix it

Pulse6 and others added 10 commits June 14, 2024 23:07
added fafmv Parse
pick up AFMV options, process the version list to validate the architectural feature specification
add header file for extern var
added the use of global variables
default count set to 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants