Paul C. Anagnostopoulos via llvm-dev
2021-Jan-04 14:52 UTC
[llvm-dev] Question about the build
I was having the opposite problem: Building the native TableGen did not trigger downstream rebuilds. Could you see if the problem is still happening and then post some details here? I know almost nothing about the build process, but I can investigate whether TableGen is unnecessarily rewriting identical output files. At 1/4/2021 03:32 AM, James Henderson wrote:>For what it's worth, I've recently been running into problems related to the NATIVE tablegen build for optimized tablegen usage in debug builds. In my case, it was (and may still be) unnecessarily rebuilding tablegen related files every time, even though nothing has changed, which in turn causes the rest of the build to trigger (as Visual Studio sees things as being out-of-date). I forget the exact details, but can dig them out later if someone is interested in investigating further. I haven't had the time to dig into this properly myself, but it is frequently hurting my productivity.---------------------------------------------------------------- Windfall Paul C. Anagnostopoulos ---------------------------------------------------------- Software 978 369-0839 www.windfall.com ---------------------------------------------------------------- My life has been filled with calamities, some of which actually happened. ---Mark Twain Guga 'mzimba, sala 'nhliziyo
I'm not sure what sort of details exactly you want. I use Visual Studio 2017 to build my LLVM checkout. The LLVM_OPTIMIZED_TABLEGEN setting is enabled, and when I build the Debug build it always complains that a number of the projects that use tablegen are out of date. Specifically, if I turn up the build log verbosity to "Detailed", I get a large number of projects which say something like this: 23>------ Up-To-Date check: Project: utils\TableGen\LLVM-tablegen-host.vcxproj, Configuration: Debug x64 ------ 23>Project is not up-to-date: build input 'c:\llvm\build\native\release\bin\llvm-tblgen' is missing. Subsequently, tablegen runs and emits "Building Options.inc..." and similar lines for all tablegen inputs, rather than doing nothing, resulting in virtually the whole build being run ultimately. Note that c:\llvm\build\native\release\bin\llvm-tblgen.exe exists and the project build to build that executable says there is nothing to update. When investigating this last year, I found that applying a small change to CrossCompile.cmake to add ".exe" to the end of the output_path for the optimized tablegen output was sufficient to fix things, but I don't think that's a realistic long-term solution, as it's not cross-platform. I don't really know enough about cmake or tablegen to have any further clue what to do to fix things. James On Mon, 4 Jan 2021 at 14:54, Paul C. Anagnostopoulos <paul at windfall.com> wrote:> I was having the opposite problem: Building the native TableGen did not > trigger downstream rebuilds. > > Could you see if the problem is still happening and then post some details > here? I know almost nothing about the build process, but I can investigate > whether TableGen is unnecessarily rewriting identical output files. > > At 1/4/2021 03:32 AM, James Henderson wrote: > >For what it's worth, I've recently been running into problems related to > the NATIVE tablegen build for optimized tablegen usage in debug builds. In > my case, it was (and may still be) unnecessarily rebuilding tablegen > related files every time, even though nothing has changed, which in turn > causes the rest of the build to trigger (as Visual Studio sees things as > being out-of-date). I forget the exact details, but can dig them out later > if someone is interested in investigating further. I haven't had the time > to dig into this properly myself, but it is frequently hurting my > productivity. > > > ---------------------------------------------------------------- > Windfall Paul C. Anagnostopoulos > ---------------------------------------------------------- > Software 978 369-0839 > www.windfall.com > ---------------------------------------------------------------- > My life has been filled with calamities, > some of which actually happened. > ---Mark Twain > > Guga 'mzimba, sala 'nhliziyo > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210105/2a1ddec0/attachment.html>