<div dir="ltr">Why does the order matter? Does that mean there is some information loss in <span style="font-family:arial,sans-serif;font-size:13px">RoundTripNativePass?</span></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Fri, Nov 1, 2013 at 1:46 PM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Yes, reverse the way the passes are called.<br>
<br>
#ifdef FIXME<br>
  pm.add(std::unique_ptr<Pass>(<u></u>new RoundTripNativePass(context)))<u></u>;<br>
  pm.add(std::unique_ptr<Pass>(<u></u>new RoundTripYAMLPass(context)));<br>
#endif<br>
<br>
to<br>
<br>
#ifdef FIXME<br>
  pm.add(std::unique_ptr<Pass>(<u></u>new RoundTripYAMLPass(context)));<br>
  pm.add(std::unique_ptr<Pass>(<u></u>new RoundTripNativePass(context)))<u></u>;<br>
#endif<br>
<br>
Thanks<br>
<br>
Shankar Easwaran<div><div class="h5"><br>
<br>
On 11/1/2013 3:19 PM, Rui Ueyama wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
I replaced #ifdef FIXME with #ifndef NDEBUG in Driver.cpp and remove all<br>
calls of pm.add() from each flavor's LinkerContext classes. All tests but<br>
only one succeeded. The log of the failing test is this. Do you have any<br>
idea what was going on?<br>
<br>
Exit Code: 1<br>
<br>
Command Output (stderr):<br>
--<br>
Name    :<br>
/usr/local/google/home/ruiu/<u></u>src/llvm/tools/lld/test/elf/<u></u>Inputs/foo.o.x86-64<br>
Type    : ELF File<br>
Ordinal : 0<br>
Attributes :<br>
   - wholeArchive : false<br>
   - asNeeded : false<br>
   contextPath : None<br>
Undefined Symbol: command line option -entry : _start<br>
symbol(s) not found<br>
/usr/local/google/home/ruiu/<u></u>src/llvm/tools/lld/test/elf/<u></u>roundtrip.test:10:7:<br>
error: expected string not found in input<br>
CHECK:path:{{.*}}.native<br>
       ^<br>
<stdin>:1:1: note: scanning from here<br>
---<br>
^<br>
<stdin>:2:1: note: possible intended match here<br>
path: ''<br>
^<br>
<br>
--<br>
<br>
********************<br>
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..<br>
Testing Time: 0.63s<br>
********************<br>
Failing Tests (1):<br>
     lld :: elf/roundtrip.test<br>
<br>
<br>
<br>
--<br>
<br>
<br>
<br>
On Fri, Nov 1, 2013 at 1:12 PM, Shankar Easwaran <<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>><u></u>wrote:<br>
<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Thanks for working and enabling this.<br>
<br>
<br>
On 11/1/2013 2:52 PM, Rui Ueyama wrote:<br>
<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Author: ruiu<br>
Date: Fri Nov  1 14:52:37 2013<br>
New Revision: 193881<br>
<br></div></div>
URL: <a href="http://llvm.org/viewvc/llvm-**project?rev=193881&view=rev" target="_blank">http://llvm.org/viewvc/llvm-**<u></u>project?rev=193881&view=rev</a><<a href="http://llvm.org/viewvc/llvm-project?rev=193881&view=rev" target="_blank">ht<u></u>tp://llvm.org/viewvc/llvm-<u></u>project?rev=193881&view=rev</a>><div class="im">

<br>
Log:<br>
[PECOFF] Enable RoundTrip{YAML,Native}Pass.<br>
<br>
Modified:<br></div>
      lld/trunk/lib/ReaderWriter/**<u></u>PECOFF/PECOFFLinkingContext.**<u></u>cpp<br>
<br>
Modified: lld/trunk/lib/ReaderWriter/**<u></u>PECOFF/PECOFFLinkingContext.**<u></u>cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-**project/lld/trunk/lib/**" target="_blank">http://llvm.org/viewvc/llvm-**<u></u>project/lld/trunk/lib/**</a><br>
ReaderWriter/PECOFF/**<u></u>PECOFFLinkingContext.cpp?rev=*<u></u>*<br>
193881&r1=193880&r2=193881&**<u></u>view=diff<<a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp?rev=193881&r1=193880&r2=193881&view=diff" target="_blank">http://llvm.org/<u></u>viewvc/llvm-project/lld/trunk/<u></u>lib/ReaderWriter/PECOFF/<u></u>PECOFFLinkingContext.cpp?rev=<u></u>193881&r1=193880&r2=193881&<u></u>view=diff</a>><br>


==============================<u></u>**============================<u></u>==**<br>
==================<br>
--- lld/trunk/lib/ReaderWriter/**<u></u>PECOFF/PECOFFLinkingContext.**<u></u>cpp<br>
(original)<br>
+++ lld/trunk/lib/ReaderWriter/**<u></u>PECOFF/PECOFFLinkingContext.**<u></u>cpp Fri<div class="im"><br>
Nov  1 14:52:37 2013<br>
@@ -12,15 +12,17 @@<br>
   #include "IdataPass.h"<br>
   #include "LinkerGeneratedSymbolFile.h"<br>
   -#include "llvm/ADT/SmallString.h"<br>
-#include "llvm/Support/Allocator.h"<br>
-#include "llvm/Support/Path.h"<br>
   #include "lld/Core/PassManager.h"<br>
   #include "lld/Passes/LayoutPass.h"<br></div>
+#include "lld/Passes/**<u></u>RoundTripNativePass.h"<br>
+#include "lld/Passes/RoundTripYAMLPass.<u></u>**h"<br>
   #include "lld/ReaderWriter/**<u></u>PECOFFLinkingContext.h"<div class="im"><br>
   #include "lld/ReaderWriter/Reader.h"<br>
   #include "lld/ReaderWriter/Simple.h"<br>
   #include "lld/ReaderWriter/Writer.h"<br>
+#include "llvm/ADT/SmallString.h"<br>
+#include "llvm/Support/Allocator.h"<br>
+#include "llvm/Support/Path.h"<br>
     #include <bitset><br>
   #include <set><br></div>
@@ -208,5 +210,9 @@ void PECOFFLinkingContext::**<u></u>addPasses(Pas<br>
     pm.add(std::unique_ptr<Pass>(*<u></u>*new pecoff::GroupedSectionsPass())<u></u>**);<br>
     pm.add(std::unique_ptr<Pass>(*<u></u>*new pecoff::IdataPass(*this)));<br>
     pm.add(std::unique_ptr<Pass>(*<u></u>*new LayoutPass()));<br>
+#ifndef NDEBUG<br>
+  pm.add(std::unique_ptr<Pass>(*<u></u>*new RoundTripYAMLPass(*this)));<br>
+  pm.add(std::unique_ptr<Pass>(*<u></u>*new RoundTripNativePass(*this)));<div class="im"><br>
+#endif<br>
   }<br>
   } // end namespace lld<br>
<br>
<br></div>
______________________________<u></u>**_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/**mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/**<u></u>mailman/listinfo/llvm-commits</a><<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank"><u></u>http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a>><br>


<br>
<br>
<br>
</blockquote><div class="im">
--<br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted<br>
by the Linux Foundation<br>
<br>
<br>
</div></blockquote></blockquote><div class="HOEnZb"><div class="h5">
<br>
<br>
-- <br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation<br>
<br>
</div></div></blockquote></div><br></div>