Is it ok to nuke fpcmp and llvm-PerfectShuffle utils?

They are not used in the regression test suite anymore, and are not even built in CMake build tree.

From: "Alexey Samsonov" <samsonov@google.com>
To: "LLVM Developers Mailing List" <llvmdev@cs.uiuc.edu>
Sent: Wednesday, April 30, 2014 3:30:12 PM
Subject: [LLVMdev] Is it ok to nuke fpcmp and llvm-PerfectShuffle utils?

They are not used in the regression test suite anymore, and are not
even built in CMake build tree.

You cannot nuke llvm-PerfectShuffle... that is the utility used to generate the lib/Target/ARM64/ARM64PerfectShuffle.h, lib/Target/ARM/ARMPerfectShuffle.h and lib/Target/PowerPC/PPCPerfectShuffle.h files.

-Hal

> From: "Alexey Samsonov" <samsonov@google.com>
> To: "LLVM Developers Mailing List" <llvmdev@cs.uiuc.edu>
> Sent: Wednesday, April 30, 2014 3:30:12 PM
> Subject: [LLVMdev] Is it ok to nuke fpcmp and llvm-PerfectShuffle utils?
>
>
>
> They are not used in the regression test suite anymore, and are not
> even built in CMake build tree.

You cannot nuke llvm-PerfectShuffle... that is the utility used to
generate the lib/Target/ARM64/ARM64PerfectShuffle.h,
lib/Target/ARM/ARMPerfectShuffle.h and
lib/Target/PowerPC/PPCPerfectShuffle.h files.

Ouch, indeed... Is it ok it has no build rules? If yes, we can just break
the dependency between test suite and this utility.

From: "Alexey Samsonov" <samsonov@google.com>
To: "Hal Finkel" <hfinkel@anl.gov>
Cc: "LLVM Developers Mailing List" <llvmdev@cs.uiuc.edu>
Sent: Wednesday, April 30, 2014 3:43:42 PM
Subject: Re: [LLVMdev] Is it ok to nuke fpcmp and llvm-PerfectShuffle utils?

> From: "Alexey Samsonov" < samsonov@google.com >
> To: "LLVM Developers Mailing List" < llvmdev@cs.uiuc.edu >
> Sent: Wednesday, April 30, 2014 3:30:12 PM
> Subject: [LLVMdev] Is it ok to nuke fpcmp and llvm-PerfectShuffle
> utils?
>
>
>
> They are not used in the regression test suite anymore, and are not
> even built in CMake build tree.

You cannot nuke llvm-PerfectShuffle... that is the utility used to
generate the lib/Target/ARM64/ARM64PerfectShuffle.h,
lib/Target/ARM/ARMPerfectShuffle.h and
lib/Target/PowerPC/PPCPerfectShuffle.h files.

Ouch, indeed... Is it ok it has no build rules?

I think that it should have build rules. If nothing else, can you file a bug report on this?

If yes, we can just
break the dependency between test suite and this utility.

I don't understand why the test suite depends on llvm-PerfectShuffle explicitly; I suspect breaking the dependency would be fine.

-Hal

Ouch, indeed... Is it ok it has no build rules?

I think that it should have build rules. If nothing else, can you file a bug report on this?

It is building using configure + make. In good old days the perfect
shuffle tables for PPC were generated through the normal build process
like .td files. However, this was pretty useless - they do not change
and thus perfectshuffle was excluded from the build process.

From: "Anton Korobeynikov" <anton@korobeynikov.info>
To: "Hal Finkel" <hfinkel@anl.gov>
Cc: "Alexey Samsonov" <samsonov@google.com>, "LLVM Developers Mailing List" <llvmdev@cs.uiuc.edu>
Sent: Thursday, May 1, 2014 1:56:04 AM
Subject: Re: [LLVMdev] Is it ok to nuke fpcmp and llvm-PerfectShuffle utils?

>> Ouch, indeed... Is it ok it has no build rules?
>
> I think that it should have build rules. If nothing else, can you
> file a bug report on this?
It is building using configure + make. In good old days the perfect
shuffle tables for PPC were generated through the normal build
process
like .td files. However, this was pretty useless - they do not change
and thus perfectshuffle was excluded from the build process.

Agreed, but even if it is not built by default, we should have build rules for it; and given that more users and developers are moving to cmake-based builds, we should have build rules in cmake too.

-Hal

> From: "Anton Korobeynikov" <anton@korobeynikov.info>
> To: "Hal Finkel" <hfinkel@anl.gov>
> Cc: "Alexey Samsonov" <samsonov@google.com>, "LLVM Developers Mailing
List" <llvmdev@cs.uiuc.edu>
> Sent: Thursday, May 1, 2014 1:56:04 AM
> Subject: Re: [LLVMdev] Is it ok to nuke fpcmp and llvm-PerfectShuffle
utils?
>
> >> Ouch, indeed... Is it ok it has no build rules?
> >
> > I think that it should have build rules. If nothing else, can you
> > file a bug report on this?
> It is building using configure + make. In good old days the perfect
> shuffle tables for PPC were generated through the normal build
> process
> like .td files. However, this was pretty useless - they do not change
> and thus perfectshuffle was excluded from the build process.

Agreed, but even if it is not built by default, we should have build rules
for it; and given that more users and developers are moving to cmake-based
builds, we should have build rules in cmake too.

I've added it to CMake build in r208225.

What about fpcmp binary? Does anyone still use it?

It is still used in the test-suite.

From Makefile.rules:

FPCMP = $(PROJ_OBJ_ROOT)/tools/fpcmp

and from Makefile.programs:

DIFFPROG - The program used to diff the output

DIFFPROG := $(PROGDIR)/DiffOutput.sh “$(FPCMP) $(TOLERANCEOPT)”

LLVM's fpcmp I am talking about is located under utils/fpcmp.

Looks like test-suite has its own version of it in
projects/test-suite/tools/fpcmp.c.