ruiu (Rui Ueyama)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 18 2013, 12:16 AM (213 w, 5 d)

Recent Activity

Yesterday

ruiu added inline comments to D33259: Don't defer to the GCC driver for linking arm-baremetal.
Mon, May 22, 2:02 PM

Sun, May 21

ruiu committed rL303527: Revert r303304: Re-submit r303225: Garbage collect dllimported symbols..
Revert r303304: Re-submit r303225: Garbage collect dllimported symbols.
Sun, May 21, 11:08 PM

Fri, May 19

ruiu added inline comments to D33373: [lld] Infer relocation model from module flags in relocatable LTO link.
Fri, May 19, 5:54 PM
ruiu added inline comments to D33180: Add functionality to cvtres to parse all entries in res file..
Fri, May 19, 2:19 PM
ruiu added inline comments to D33180: Add functionality to cvtres to parse all entries in res file..
Fri, May 19, 11:35 AM
ruiu added a comment to D32991: [ELF] Initial migration of AVR target.

Please verify that the following program spins inside function foo.

Fri, May 19, 11:06 AM

Thu, May 18

ruiu committed rL303378: Set IMAGE_DLL_CHARACTERISTICS_NO_BIND..
Set IMAGE_DLL_CHARACTERISTICS_NO_BIND.
Thu, May 18, 1:40 PM
ruiu closed D33336: Set IMAGE_DLL_CHARACTERISTICS_NO_BIND. by committing rL303378: Set IMAGE_DLL_CHARACTERISTICS_NO_BIND..
Thu, May 18, 1:40 PM
ruiu accepted D32689: DEF: migrate def parser from LLD to LLVM.

LGTM. It seems we are the only people who are interested in this patch. Please go ahead and submit. Thank you for doing this!

Thu, May 18, 1:38 PM
ruiu committed rL303377: Revert r303375 "LLVM_FALLTHROUGH instead of fall-through comment.".
Revert r303375 "LLVM_FALLTHROUGH instead of fall-through comment."
Thu, May 18, 1:31 PM
ruiu updated the diff for D33336: Set IMAGE_DLL_CHARACTERISTICS_NO_BIND..
  • Fix test.
Thu, May 18, 1:22 PM
ruiu created D33336: Set IMAGE_DLL_CHARACTERISTICS_NO_BIND..
Thu, May 18, 1:19 PM
ruiu committed rL303374: Merge IAT and ILT..
Merge IAT and ILT.
Thu, May 18, 1:12 PM
ruiu closed D33326: Merge IAT and ILT. by committing rL303374: Merge IAT and ILT..
Thu, May 18, 1:12 PM
ruiu updated the diff for D33326: Merge IAT and ILT..
  • Updated as per pcc's comments.
Thu, May 18, 12:41 PM
ruiu accepted D33327: Use linker script commands in writeMapFile.

LGTM

Thu, May 18, 12:13 PM
ruiu accepted D33330: COFF: Replace DLLNames maps with vectors..

LGTM

Thu, May 18, 12:01 PM
ruiu added a comment to D33330: COFF: Replace DLLNames maps with vectors..

You want to rebase first as I changed the types of the variables in this file as I used make<>.

Thu, May 18, 11:47 AM
ruiu added inline comments to D33327: Use linker script commands in writeMapFile.
Thu, May 18, 11:03 AM
ruiu created D33326: Merge IAT and ILT..
Thu, May 18, 10:49 AM
ruiu committed rL303357: Use make<> everywhere in COFF to make it consistent with ELF..
Use make<> everywhere in COFF to make it consistent with ELF.
Thu, May 18, 10:17 AM
ruiu added a comment to D32991: [ELF] Initial migration of AVR target.

Did you try to run this code on a simulator?

Thu, May 18, 8:28 AM

Wed, May 17

ruiu accepted D33153: Alternative way to detemplate GotSection.

Nice! I like this.

Wed, May 17, 10:32 PM
ruiu accepted D33237: [GSoC] Shell autocompletion for clang.

LGTM, but you want to wait until next week for Vassil.

Wed, May 17, 9:46 PM
ruiu accepted D33302: Don't output a PDB unless /DEBUG is specified.

LGTM

Wed, May 17, 5:42 PM
ruiu accepted D33267: [lld] Write the correct age and machine type to the PDB..

LGTM

Wed, May 17, 4:38 PM
ruiu accepted D33302: Don't output a PDB unless /DEBUG is specified.

Thank you for verifying! LGTM.

Wed, May 17, 4:08 PM
ruiu added a comment to D33302: Don't output a PDB unless /DEBUG is specified.

Is this behavior the same as the MSVC linker? If it doesn't make sense to pass the /pdb option without /debug, we might want to emit an error (or warning) in the driver.

Wed, May 17, 4:03 PM
ruiu committed rL303304: Re-submit r303225: Garbage collect dllimported symbols..
Re-submit r303225: Garbage collect dllimported symbols.
Wed, May 17, 2:49 PM
ruiu added a comment to D33237: [GSoC] Shell autocompletion for clang.

If you are adding code to handle dynamic arguments, then yes, we probably need to define what is the first incremental step towards the goal after discussing how to handle dynamic arguments. But this patch seems somewhat orthogonal to that, no? This doesn't do anything about dynamic arguments and makes sense without a follow-up patch. It adds only 12 lines of code to OptTable.cpp, so "completely revising" it shouldn't be a big deal at all. So I believe this is something we usually submit incrementally.

Wed, May 17, 12:43 PM
ruiu added a comment to D33237: [GSoC] Shell autocompletion for clang.

Why do you want to not submit this alone but wait for another patch? In-tree incremental development is a normal thing, and the feature this patch provides is already useful without any further changes, so I don't see a reason to wait.

Wed, May 17, 10:57 AM
ruiu added a comment to D33237: [GSoC] Shell autocompletion for clang.

I'm fine with these nits. (Am I supposed to sign off?)

Wed, May 17, 10:37 AM
ruiu added a comment to D32991: [ELF] Initial migration of AVR target.

As to builtin functions for AVR that GCC has but Clang doesn't, you might want to add that to Clang, but that is not directly related to LLD. So I'll defer that question to someone more familiar with Clang. If you need to use GCC to generate object files to test LLD, just use GCC.

Wed, May 17, 10:32 AM

Tue, May 16

ruiu committed rL303226: Fix Windows buildbots..
Fix Windows buildbots.
Tue, May 16, 6:19 PM
ruiu added a comment to D33264: Garbage collect dllimported symbols..

I've submitted this change by mistake, but I got OK from Peter verbally.

Tue, May 16, 5:56 PM
ruiu added inline comments to D33264: Garbage collect dllimported symbols..
Tue, May 16, 5:50 PM
ruiu committed rL303225: Garbage collect dllimported symbols..
Garbage collect dllimported symbols.
Tue, May 16, 5:49 PM
ruiu closed D33264: Garbage collect dllimported symbols. by committing rL303225: Garbage collect dllimported symbols..
Tue, May 16, 5:49 PM
ruiu added a comment to D33264: Garbage collect dllimported symbols..

That should theoretically work, but I can imagine that that will be more complicated than this. Chunks for dllimported symbols are created not when they are read from file but when writer needs them, so at the time when MarkLive runs, chunks for dllimported symbols don't exist.

Tue, May 16, 4:42 PM
ruiu created D33264: Garbage collect dllimported symbols..
Tue, May 16, 4:22 PM
ruiu added a comment to D33251: [lld][ELF]Add option to make .dynamic read only.

On second thought, it isn't good to discuss new linker command line option in a code review thread, as most people do not read every review threads. Please start a thread in llvm-dev to propose a new option with an explanation why you want it.

Tue, May 16, 12:53 PM · lld
ruiu added a comment to D33251: [lld][ELF]Add option to make .dynamic read only.

I have a couple of questions.

Tue, May 16, 12:48 PM · lld
ruiu added a comment to D33122: [ELF] - Use multithreading to build .gdb_index.

I think I'm not convinced. Using multi-threading when you are optimizing it for single-thread is distracting and increases deviation when you measure its performance. Please keep it as your local patch if you need it.

Tue, May 16, 11:17 AM
ruiu accepted D33234: [ELF] - Detemplate Thunk creation..

LGTM

Tue, May 16, 10:57 AM
ruiu added a comment to D32991: [ELF] Initial migration of AVR target.

Did you try to run a program generated with this patch on an actual AVR (or a simulator)? Did it work?

Tue, May 16, 10:49 AM
ruiu added inline comments to D33145: Clear output section from linker script command when it's removed..
Tue, May 16, 10:38 AM
ruiu added inline comments to D33237: [GSoC] Shell autocompletion for clang.
Tue, May 16, 9:54 AM

Mon, May 15

ruiu committed rL303135: Merge a test YAML file and a test file..
Merge a test YAML file and a test file.
Mon, May 15, 6:29 PM
ruiu added a comment to D33180: Add functionality to cvtres to parse all entries in res file..

I'd recommend renaming ResFile WindowsRes or WindowsResource everywhere, as I don't think Res or ResFile sound very familiar even for those who have an experience of Windows development, and for those who don't know about it, Res has no evidence about what that is.

Mon, May 15, 4:47 PM
ruiu committed rL303124: Fix git command line in the Getting Started guide..
Fix git command line in the Getting Started guide.
Mon, May 15, 3:45 PM
ruiu accepted D33124: [ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections..

Okay, it is not at least as concerning as I first thought. LGTM.

Mon, May 15, 3:10 PM
ruiu accepted D33187: [ELF] - Use llvm::to_integer() instead of StringRef::getAsInteger()..

LGTM

Mon, May 15, 12:55 PM
ruiu added a comment to D32689: DEF: migrate def parser from LLD to LLVM.

LGTM, but I wonder if someone else wants to see this patch. This is code that I wrote, and Martell is moving it to LLVM, so it's great if we can get 3rd party's review.

Mon, May 15, 12:42 PM
ruiu accepted D33176: ELF: --gdb-index: Change findSection to return an InputSection..

LGTM. Let's land this first to fix the crash bug.

Mon, May 15, 10:55 AM
ruiu added a comment to D29892: ar: add llvm-dlltool support.

Fix all formatting errors before uploading any new patch, please.

Mon, May 15, 10:49 AM
ruiu accepted D33130: Disable threads in a few tests.

LGTM with a comment describing threads are disabled for this test because it's too slow otherwise.

Mon, May 15, 10:41 AM
ruiu added a comment to D33183: [ELF] - Simplify readAddressArea() implementation..

This looks better, but how does it work? grep -w -r DWARFAddress . shows nothing in my LLVM repository.

Mon, May 15, 10:28 AM
ruiu added a comment to D33176: ELF: --gdb-index: Change findSection to return an InputSection..

How did you create that object file? At least you want to leave a comment in the test about how you created it.

Mon, May 15, 10:24 AM

Fri, May 12

ruiu added a comment to D33122: [ELF] - Use multithreading to build .gdb_index.

And at the same time I would really want to ask you to land this patch too, because it is usefull for comparsion purposes and does not interfere with idea to optimize single threaded solution, but raises whole
target perfomance on a new level and gives some point we can reference to.

Fri, May 12, 12:55 PM
ruiu added a comment to D33122: [ELF] - Use multithreading to build .gdb_index.

This looks mostly fine, but I wouldn't submit this patch at the moment, as I think the code to generate .gdb_index is not optimize enough for single-thread yet. Our general strategy is to focus on single-thread performance and then use multi-threads as a final shot. I believe this strategy is working well, because (a) using multi-threads may hide real problems if used too early that are obvious when run with only one thread (which would result in making the linker a so-so performance), and (b) thinking about multi-threading is distracting when optimizing code.

Fri, May 12, 11:23 AM
ruiu added a comment to D33124: [ELF] - Detemplate GnuHashTableSection and SymbolTableSection sections..

I'm not in favor of this change. I don't want to introduce a new class in general unless it is worthwhile. It seems this patch introduced a new class hierarchy too casually.

Fri, May 12, 11:07 AM
ruiu added a comment to D33130: Disable threads in a few tests.

Did you know why that test takes that much time with threading?

Fri, May 12, 11:04 AM

Thu, May 11

ruiu accepted D33112: Optimize orphan plament in a general way.

LGTM

Thu, May 11, 5:38 PM
ruiu added inline comments to D29892: ar: add llvm-dlltool support.
Thu, May 11, 3:17 PM
ruiu added inline comments to D32991: [ELF] Initial migration of AVR target.
Thu, May 11, 2:48 PM
ruiu added a comment to D32689: DEF: migrate def parser from LLD to LLVM.

This looks overall good, a few minor nits.

Thu, May 11, 2:40 PM
ruiu accepted D33036: [Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available..

LGTM

Thu, May 11, 11:37 AM
ruiu accepted D33100: [ELF} - Don't allow R_X86_64_TPOFF32 dynamic relocation when linking PIC.

LGTM

Thu, May 11, 11:35 AM

Wed, May 10

ruiu added a comment to D32991: [ELF] Initial migration of AVR target.

The new ELF linker is completely different from the old one, and the new one is by far simpler than before. It should be much much easier to add a new architecture to the linker. So, in many cases it doesn't make sense or irrelevant to try to find a mapping from the old linker infrastructure to the new one to figure out what to do. Most boilerplates are no longer needed, and you can't find any correlation between old and new code in many situations. Rather, you want to read Target.cpp of the new LLD to understand how each target is handled and mimic other architectures.

Wed, May 10, 11:08 PM
ruiu accepted D33024: [Support] Move LLD parallel algorithms to LLVM..

I'm happy as long as you remove unnecessary llvm:: specifier. LGTM.

Wed, May 10, 4:33 PM
ruiu added inline comments to D33024: [Support] Move LLD parallel algorithms to LLVM..
Wed, May 10, 3:09 PM
ruiu committed rL302719: Remove unused #include..
Remove unused #include.
Wed, May 10, 1:16 PM
ruiu committed rL302718: Rename parallelFor -> parallelForEachN..
Rename parallelFor -> parallelForEachN.
Wed, May 10, 1:15 PM
ruiu added inline comments to D33036: [Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available..
Wed, May 10, 11:51 AM
ruiu added a comment to D33041: [ELF] - Set DF_STATIC_TLS flag for x86_64 target..

Can you verify that you actually cannot dlopen() an .so file if the file has the DF_STATIC_TLS flag? I want to make sure that glibc actually uses the flag.

Wed, May 10, 10:40 AM
ruiu abandoned D33052: Fix variable names..
Wed, May 10, 10:32 AM
ruiu added a comment to D33046: [ELF] - Set DF_TEXTREL flag properly..

If the Linux kernel was the only reason you wanted -z text, and the Linux kernel doesn't actually use that flag, I'd support removing -z text flag entirely.

Wed, May 10, 10:27 AM
ruiu created D33052: Fix variable names..
Wed, May 10, 10:22 AM
ruiu committed rL302694: [ELF] Improve error message for incompatible section types.
[ELF] Improve error message for incompatible section types
Wed, May 10, 10:11 AM
ruiu closed D32488: [ELF] Improve error message for incompatible section types by committing rL302694: [ELF] Improve error message for incompatible section types.
Wed, May 10, 10:11 AM · lld
ruiu accepted D32793: [ELF] - Don't segfault when assigning non-calculatable absolute symbol value..

LGTM

Wed, May 10, 7:16 AM
ruiu accepted D32907: [ELF] - Fix warnings when LLD compiled using gcc 7.1.0.

LGTM

Wed, May 10, 7:08 AM

Tue, May 9

ruiu added a comment to D32991: [ELF] Initial migration of AVR target.

Thanks Dylan for explaining. From your explanation, I think supporting AVR is fairly easy. I'd think we probably need ~100 lines of code.

Tue, May 9, 5:03 PM
ruiu accepted D33019: [ELF] Define __ehdr_start unconditionally even when using linker script.

LGTM

Tue, May 9, 4:11 PM · lld
ruiu accepted D33016: [Parallel] Add support for parallel execution policies to match C++ Parallelism TS.

LGTM with inlining.

Tue, May 9, 3:50 PM
ruiu added a comment to D33016: [Parallel] Add support for parallel execution policies to match C++ Parallelism TS.

I think I prefer inlining them as sequential_sort and sequential_for_each_n are in the end just sort and for_each.

Tue, May 9, 3:38 PM
ruiu added inline comments to D33016: [Parallel] Add support for parallel execution policies to match C++ Parallelism TS.
Tue, May 9, 2:17 PM
ruiu added a comment to D32887: [ELF] Emit __ehdr_start when there is a segment containing program headers.

These possible compatibility issues could be real concerns, but I think we should go with a simple way which is to define ehdr_start unconditionally. When we need to strike a balance among simplicity, efficiency and compatibility, we sometimes chose simplicity or efficiency over the 100% precise compatibility, and it seems to be working surprisingly well. It feels __ehdr_start is in the same category. We can add more code later if it really needs more complexity.

Tue, May 9, 1:08 PM
ruiu added a comment to D33014: Fix the Endianness bug by adding the little endian UTF marker..

Do you mean the bot is still red? If I broke something I'd first try to roll it back if the error is not just a simple mistake but needs another round of code review.

Tue, May 9, 12:32 PM
ruiu added a comment to D33014: Fix the Endianness bug by adding the little endian UTF marker..

Adding a byte order mark doesn't seems like a good way to fix the issue. Why don't you add a flag indicating whether it is BE or LE to convertUTF16ToUTF8String?

Tue, May 9, 12:06 PM
ruiu added a comment to D32887: [ELF] Emit __ehdr_start when there is a segment containing program headers.

Right, but we already violated the assumption for symbols such as __bss_start as it is always defined even if .bss does not exist.

Tue, May 9, 12:02 PM
ruiu committed rL302564: Add memory ORIGIN and LENGTH expression support.
Add memory ORIGIN and LENGTH expression support
Tue, May 9, 11:38 AM
ruiu closed D32934: [LLD] Add memory ORIGIN and LENGTH expression support by committing rL302564: Add memory ORIGIN and LENGTH expression support.
Tue, May 9, 11:38 AM · lld
ruiu added inline comments to D32689: DEF: migrate def parser from LLD to LLVM.
Tue, May 9, 11:32 AM
ruiu added a comment to D32887: [ELF] Emit __ehdr_start when there is a segment containing program headers.

I'm reluctant to introduce a new concept of SymbolReference just for ehdr_start symbol which is frankly speaking not that important. You needed these new concepts for defining ehdr_start only when an ELF header is memory-allocated, right? Is there any problem if you always define that symbol and leave it zero if an ELF header is not in an allocated segment?

Tue, May 9, 11:16 AM
ruiu added a comment to D32991: [ELF] Initial migration of AVR target.

They were more like questions than review comments. I assumed you know much more than I about AVR, and I wanted to know more about AVR to see where AVR support would eventually go. What is your eventual goal for AVR support?

Tue, May 9, 12:40 AM
ruiu added a comment to D32991: [ELF] Initial migration of AVR target.

As I understand it, people do not usually run Unix-ish OS on AVR. You want to use it for baremetal programming. So, even though input files are ELF, output files are headerless binary. Naturally you don't use dynamic linking, which means most ELF features, such as PLT/GOT, are not used for AVR. Is this my understanding correct?

Tue, May 9, 12:14 AM

Mon, May 8

ruiu added a comment to D32991: [ELF] Initial migration of AVR target.

Hi Leslie,

Mon, May 8, 11:34 PM

Sun, May 7

ruiu abandoned D32951: [DO NOT SUBMIT] Add an -isystem path only to non-builtin include paths..
Sun, May 7, 12:18 AM
ruiu updated the diff for D32951: [DO NOT SUBMIT] Add an -isystem path only to non-builtin include paths..
  • address review comments (demo)
Sun, May 7, 12:10 AM