[llvm-dev] incremental build fails to rerun cmake

Fedor Sergeev via llvm-dev llvm-dev at lists.llvm.org
Fri Nov 2 08:53:54 PDT 2018


I'm trying to bisect over some bug and here I spot a problem with 
incremental make.

During bisect I just go and run make (or ninja) for each new bisected 
commit, hoping
that it will incrementally build it just right.
Usually it does properly rerun cmake as needed, however today it failed 
on a particular point
(3a8afbd8a1a from git mirror, r345463 in svn):

] git log -1 HEAD --oneline
3a8afbd8a1a (HEAD) AMD BdVer2 (Piledriver) Initial Scheduler model
] (cd ../builds/linux-release && ninja)
.... builds ok
] git checkout HEAD^
Previous HEAD position was 3a8afbd8a1a... AMD BdVer2 (Piledriver) 
Initial Scheduler model
HEAD is now at 69daf48aab5... [NFC][X86] Baseline tests for AMD BdVer2 
(Piledriver) Scheduler model
] (cd ../builds/linux-release && ninja)
ninja: error: 
'~/work/llvm-upstream/llvm/lib/Target/X86/X86ScheduleBdVer2.td', needed 
by 'lib/Target/X86/X86GenRegisterInfo.inc.tmp', missing and no known 
rule to make it
]

Naturally, X86ScheduleBdVer2.td was introduced in that change, now it is 
gone and make is unable to
figure out that it needs to re-cmake.

I can solve this problem with manually running rebuild_cache target.
However usually it works automagically...

I'm not familiar with this part of cmake magic so could anybody 
enlighten me and, perhaps,
see how this can be fixed?

thanks,
   Fedor.




More information about the llvm-dev mailing list