Page MenuHomePhabricator

akhuang (Amy Huang)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 7 2019, 2:10 PM (84 w, 4 d)

Recent Activity

Yesterday

akhuang updated the diff for D88988: [llvm-symbolizer] Add inline stack traces for Windows..

Change findSymbolByAddress call

Mon, Oct 19, 3:40 PM · Restricted Project, Restricted Project
akhuang added a comment to D88988: [llvm-symbolizer] Add inline stack traces for Windows..

on the failing asan tests: I assume the symbolizer is doing the correct thing (since the native and DIA implementations do the same thing), so I think I'll just update the tests to accept the extra line. I was wondering why we don't get this line on Linux, though, so I looked at where the address is in the calloc function in assembly, and it seems to be in a different part of the function on Windows and Linux.

Mon, Oct 19, 3:36 PM · Restricted Project, Restricted Project
akhuang committed rGea693a162786: [NPM] Port module-debuginfo pass to the new pass manager (authored by akhuang).
[NPM] Port module-debuginfo pass to the new pass manager
Mon, Oct 19, 2:32 PM
akhuang closed D89730: [NPM] Port module-debuginfo pass to the new pass manager.
Mon, Oct 19, 2:31 PM · Restricted Project
akhuang updated the diff for D89730: [NPM] Port module-debuginfo pass to the new pass manager.

clean up code

Mon, Oct 19, 2:23 PM · Restricted Project
akhuang requested review of D89730: [NPM] Port module-debuginfo pass to the new pass manager.
Mon, Oct 19, 1:51 PM · Restricted Project

Fri, Oct 16

akhuang added a comment to rG338dd138ea4a: llvm-symbolizer: Ensure non-zero exit when an error is printed.

I noticed that stack traces on Windows aren't getting printed out nicely anymore. Apparently there are often errors in the clang stack traces on windows because it can't find certain PDBs. it looks like in llvm/lib/Support/Signals.cpp we don't try to format the stack trace if the exit code is non-zero.

Is there a reason for llvm-symbolizer to return a non-zero value here, or should we ignore it when printing out the stack traces?

The change was intended to ensure errors don't go accidentally ignored - but there's probably a reasonable justification for silently continuing and doing "best effort" symbolization. Not sure what the best behavior/design is for that - maybe zero exit is suitable except for catastrophic errors (like the object/binary itself doesn't exist or doesn't have the address that's been specified)? I'm open to design ideas here.

Talked about it with a few folks just now - maybe we want to demote nearly everything that's an error to a warning (except for those sort of ones I mentioned above - binary missing, address not in any binary) and provide a fatal-warnings mode if someone wants to crank them back up to errors/non-zero exit?

Fri, Oct 16, 3:53 PM
akhuang added a comment to rG338dd138ea4a: llvm-symbolizer: Ensure non-zero exit when an error is printed.

I noticed that stack traces on Windows aren't getting printed out nicely anymore. Apparently there are often errors in the clang stack traces on windows because it can't find certain PDBs. it looks like in llvm/lib/Support/Signals.cpp we don't try to format the stack trace if the exit code is non-zero.

Fri, Oct 16, 2:43 PM

Wed, Oct 14

akhuang added inline comments to D89072: [CodeView] Emit static data members as S_CONSTANTs..
Wed, Oct 14, 4:04 PM · Restricted Project, Restricted Project
akhuang updated the diff for D89072: [CodeView] Emit static data members as S_CONSTANTs..

address comments

Wed, Oct 14, 4:04 PM · Restricted Project, Restricted Project
akhuang updated the diff for D89286: [DebugInfo] Check for templated static data member when adding constant to record static fields.

update test case and add check for dependent values

Wed, Oct 14, 2:41 PM · Restricted Project
akhuang updated subscribers of D89286: [DebugInfo] Check for templated static data member when adding constant to record static fields.
Wed, Oct 14, 1:05 PM · Restricted Project

Mon, Oct 12

akhuang requested review of D89286: [DebugInfo] Check for templated static data member when adding constant to record static fields.
Mon, Oct 12, 6:50 PM · Restricted Project

Fri, Oct 9

akhuang added a comment to D88988: [llvm-symbolizer] Add inline stack traces for Windows..

Ok, as far as I can tell, all of the asan tests are failing for the same reason-- the symbolizer now outputs an extra line for __sanitizer::BufferedStackTrace::Unwind.

#0 0x7ff6f9fa7e64 in __sanitizer::BufferedStackTrace::Unwind C:\src\llvm-project\compiler-rt\lib\sanitizer_common\sanitizer_stacktrace.h:124
#1 0x7ff6f9fa7e64 in malloc C:\src\llvm-project\compiler-rt\lib\asan\asan_malloc_win.cpp:98
Fri, Oct 9, 11:58 AM · Restricted Project, Restricted Project
akhuang added a comment to D88988: [llvm-symbolizer] Add inline stack traces for Windows..
Fri, Oct 9, 11:41 AM · Restricted Project, Restricted Project
akhuang added a comment to D88988: [llvm-symbolizer] Add inline stack traces for Windows..
  • The test turns a small stack into file+line numbers. Is that sufficient or should there also be one to get function name+offsets?

Doesn't it also have function names? The asan tests will also be providing some test coverage for this.

Fri, Oct 9, 10:51 AM · Restricted Project, Restricted Project
akhuang updated the diff for D88988: [llvm-symbolizer] Add inline stack traces for Windows..

-Add cpp source for the test binaries
-Fixed some of the lint errors (mostly adding consts), but some of the formatting ones conflict with git clang-format.

Fri, Oct 9, 10:26 AM · Restricted Project, Restricted Project

Thu, Oct 8

akhuang updated the diff for D89072: [CodeView] Emit static data members as S_CONSTANTs..

Update clang test for static data members, and make it test the general cases
on the windows target as well.

Thu, Oct 8, 3:59 PM · Restricted Project, Restricted Project
akhuang updated the summary of D89072: [CodeView] Emit static data members as S_CONSTANTs..
Thu, Oct 8, 3:46 PM · Restricted Project, Restricted Project
akhuang added a comment to D89072: [CodeView] Emit static data members as S_CONSTANTs..

I'll probably leave the llvm/CodeView parts of this for @rnk - but for the clang parts, they should have corresponding clang test coverage & I'd be curious to see the test for that to understand what the IR was before/after this change. (& to understand if/how either of those differ from the DWARF IR)

Thu, Oct 8, 2:35 PM · Restricted Project, Restricted Project
akhuang requested review of D89072: [CodeView] Emit static data members as S_CONSTANTs..
Thu, Oct 8, 1:58 PM · Restricted Project, Restricted Project

Wed, Oct 7

akhuang added a comment to D88988: [llvm-symbolizer] Add inline stack traces for Windows..

This change causes about 30 asan tests to fail, so I still have to fix those.

Wed, Oct 7, 11:01 AM · Restricted Project, Restricted Project
akhuang requested review of D88988: [llvm-symbolizer] Add inline stack traces for Windows..
Wed, Oct 7, 10:49 AM · Restricted Project, Restricted Project

Tue, Sep 29

akhuang committed rG5c4fc581d5fe: [DebugInfo] Add types from constructor homing to the retained types list. (authored by akhuang).
[DebugInfo] Add types from constructor homing to the retained types list.
Tue, Sep 29, 5:01 PM
akhuang closed D88522: [DebugInfo] Add types from constructor homing to the retained types list..
Tue, Sep 29, 5:01 PM · Restricted Project
akhuang requested review of D88522: [DebugInfo] Add types from constructor homing to the retained types list..
Tue, Sep 29, 4:23 PM · Restricted Project

Thu, Sep 24

akhuang committed rGc8df781e54a4: [DebugInfo] Fix bug in constructor homing with classes with trivial (authored by akhuang).
[DebugInfo] Fix bug in constructor homing with classes with trivial
Thu, Sep 24, 2:44 PM
akhuang closed D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors..
Thu, Sep 24, 2:44 PM · Restricted Project
akhuang retitled D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors. from [DebugInfo] Fix bug in constructor homing where it would use ctor homing when a class only has copy/move constructors to [DebugInfo] Fix bug in constructor homing for classes with trivial constructors..
Thu, Sep 24, 1:25 PM · Restricted Project
akhuang updated the diff for D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors..

Add to comment for lambdas.

Thu, Sep 24, 1:23 PM · Restricted Project

Wed, Sep 23

akhuang updated the diff for D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors..

Add comments to tests, and add a test for non instantiated trivial ctor and one for lambdas.

Wed, Sep 23, 11:33 AM · Restricted Project

Tue, Sep 22

akhuang updated the diff for D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors..

Update ctor homing check, and add some test cases.

Tue, Sep 22, 3:56 PM · Restricted Project
akhuang added inline comments to D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors..
Tue, Sep 22, 3:12 PM · Restricted Project

Mon, Sep 21

akhuang added a comment to D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors..
In D87808#2282223, @rnk wrote:

@rsmith What's the deal with these anonymous structs/unions? Why do they have copy/move constructors (are those technically called from the enclosing class's copy/move constructors?) but no default constructor to be called from the other ctors of the enclosing class?

Yes, I'm curious: copy and move constructors require an object of this type to already exist in memory. Is there a well-defined way of creating an object of this type in memory when it has no other constructors?

Maybe the issue is that this code is running into the lazy implicit special member declaration optimization. Maybe the class in question has an implicit, trivial, default constructor, but we there is no CXXConstructorDecl present in the ctors list for the loop to find.

Mon, Sep 21, 3:56 PM · Restricted Project

Sep 18 2020

akhuang added a reviewer for D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors.: rnk.
Sep 18 2020, 9:39 AM · Restricted Project

Sep 16 2020

akhuang updated the summary of D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors..
Sep 16 2020, 6:17 PM · Restricted Project
akhuang requested review of D87808: [DebugInfo] Fix bug in constructor homing for classes with trivial constructors..
Sep 16 2020, 6:02 PM · Restricted Project
akhuang added a reverting change for rG4cff1b40dacf: Do not apply calling conventions to MSVC entry points: rGbebfc3b92d5e: Revert "Do not apply calling conventions to MSVC entry points".
Sep 16 2020, 1:53 PM
akhuang committed rGbebfc3b92d5e: Revert "Do not apply calling conventions to MSVC entry points" (authored by akhuang).
Revert "Do not apply calling conventions to MSVC entry points"
Sep 16 2020, 1:53 PM
akhuang added a reverting change for D87701: Do not apply calling conventions to MSVC entry points: rGbebfc3b92d5e: Revert "Do not apply calling conventions to MSVC entry points".
Sep 16 2020, 1:53 PM · Restricted Project
akhuang added a comment to D87701: Do not apply calling conventions to MSVC entry points.

whoops, sorry for weird formatting in the previous comment.

Sep 16 2020, 1:51 PM · Restricted Project
akhuang added a comment to D87701: Do not apply calling conventions to MSVC entry points.

This is causing a link error in the windows chromium build:

Sep 16 2020, 1:48 PM · Restricted Project

Sep 14 2020

akhuang added a comment to D87641: [DebugInfo] Add assert for variable size when creating fragments..

Ah, yeah. I'm not really sure if there could be cases where there is no size. If there are, I guess we shouldn't make any changes here.

Sep 14 2020, 4:34 PM · Restricted Project
akhuang requested review of D87641: [DebugInfo] Add assert for variable size when creating fragments..
Sep 14 2020, 3:30 PM · Restricted Project

Sep 3 2020

akhuang committed rGaaf1a96408b1: [DebugInfo] Add size to class declarations in debug info. (authored by akhuang).
[DebugInfo] Add size to class declarations in debug info.
Sep 3 2020, 3:43 PM
akhuang closed D87062: [DebugInfo] Add size to class declarations in debug info..
Sep 3 2020, 3:43 PM · debug-info, Restricted Project, Restricted Project
akhuang added inline comments to D87062: [DebugInfo] Add size to class declarations in debug info..
Sep 3 2020, 3:41 PM · debug-info, Restricted Project, Restricted Project
akhuang updated the diff for D87062: [DebugInfo] Add size to class declarations in debug info..

rebase

Sep 3 2020, 11:04 AM · debug-info, Restricted Project, Restricted Project
akhuang updated the summary of D87062: [DebugInfo] Add size to class declarations in debug info..
Sep 3 2020, 11:03 AM · debug-info, Restricted Project, Restricted Project
akhuang committed rG5fe33f7399d8: [DebugInfo] Make DWARF ignore sizes on forward declared class types. (authored by akhuang).
[DebugInfo] Make DWARF ignore sizes on forward declared class types.
Sep 3 2020, 11:02 AM
akhuang closed D87070: [DebugInfo] Make DWARF ignore sizes on forward declared class types..
Sep 3 2020, 11:02 AM · Restricted Project
akhuang updated the diff for D87070: [DebugInfo] Make DWARF ignore sizes on forward declared class types..

update test

Sep 3 2020, 11:01 AM · Restricted Project
akhuang added inline comments to D87070: [DebugInfo] Make DWARF ignore sizes on forward declared class types..
Sep 3 2020, 11:00 AM · Restricted Project

Sep 2 2020

akhuang requested review of D87070: [DebugInfo] Make DWARF ignore sizes on forward declared class types..
Sep 2 2020, 8:46 PM · Restricted Project
akhuang updated the diff for D87062: [DebugInfo] Add size to class declarations in debug info..

remove assert; edit test case

Sep 2 2020, 4:58 PM · debug-info, Restricted Project, Restricted Project
akhuang added inline comments to D87062: [DebugInfo] Add size to class declarations in debug info..
Sep 2 2020, 4:52 PM · debug-info, Restricted Project, Restricted Project
akhuang added a project to D87062: [DebugInfo] Add size to class declarations in debug info.: debug-info.
Sep 2 2020, 3:43 PM · debug-info, Restricted Project, Restricted Project
akhuang requested review of D87062: [DebugInfo] Add size to class declarations in debug info..
Sep 2 2020, 3:42 PM · debug-info, Restricted Project, Restricted Project

Sep 1 2020

akhuang closed D86491: [DebugInfo] Move constructor homing case in shouldOmitDefinition..

ah sorry, this was relanded in b1009ee84fc0242bcebd07889306bf39d9b7170f.

Sep 1 2020, 8:25 AM · Restricted Project

Aug 25 2020

akhuang added a reverting change for rG05777ab94106: Temporarily Revert "[DebugInfo] Move constructor homing case in…: rGb1009ee84fc0: Reland "[DebugInfo] Move constructor homing case in shouldOmitDefinition.".
Aug 25 2020, 12:37 PM
akhuang committed rGb1009ee84fc0: Reland "[DebugInfo] Move constructor homing case in shouldOmitDefinition." (authored by akhuang).
Reland "[DebugInfo] Move constructor homing case in shouldOmitDefinition."
Aug 25 2020, 12:37 PM
akhuang updated the diff for D86491: [DebugInfo] Move constructor homing case in shouldOmitDefinition..

Fix errors.

Aug 25 2020, 12:30 PM · Restricted Project
akhuang reopened D86491: [DebugInfo] Move constructor homing case in shouldOmitDefinition..

just reopening to update the diff.

Aug 25 2020, 12:20 PM · Restricted Project
akhuang added a comment to D86491: [DebugInfo] Move constructor homing case in shouldOmitDefinition..

Note that Harbormaster actually reported the check-clang-codegencxx issues B69369..

Aug 25 2020, 10:53 AM · Restricted Project

Aug 24 2020

akhuang committed rG589ce5f7050d: [DebugInfo] Move constructor homing case in shouldOmitDefinition. (authored by akhuang).
[DebugInfo] Move constructor homing case in shouldOmitDefinition.
Aug 24 2020, 8:18 PM
akhuang closed D86491: [DebugInfo] Move constructor homing case in shouldOmitDefinition..
Aug 24 2020, 8:18 PM · Restricted Project
akhuang added a comment to D86491: [DebugInfo] Move constructor homing case in shouldOmitDefinition..

unfortunately not any thorough testing :) I just happened to notice it the last time I looked at this code

Aug 24 2020, 5:29 PM · Restricted Project
akhuang requested review of D86491: [DebugInfo] Move constructor homing case in shouldOmitDefinition..
Aug 24 2020, 3:19 PM · Restricted Project

Aug 21 2020

akhuang committed rG5e3fd471acb7: [Cloning] Fix to cloning DISubprograms. (authored by akhuang).
[Cloning] Fix to cloning DISubprograms.
Aug 21 2020, 11:55 AM
akhuang closed D86185: [Cloning] Fix to cloning DISubprograms..
Aug 21 2020, 11:55 AM · debug-info, Restricted Project
akhuang updated the diff for D86185: [Cloning] Fix to cloning DISubprograms..

Simplify test and add comments.

Aug 21 2020, 10:55 AM · debug-info, Restricted Project
akhuang added inline comments to D86185: [Cloning] Fix to cloning DISubprograms..
Aug 21 2020, 10:55 AM · debug-info, Restricted Project

Aug 20 2020

akhuang added inline comments to D86185: [Cloning] Fix to cloning DISubprograms..
Aug 20 2020, 6:55 PM · debug-info, Restricted Project
akhuang added inline comments to D86185: [Cloning] Fix to cloning DISubprograms..
Aug 20 2020, 5:51 PM · debug-info, Restricted Project
akhuang updated the diff for D86185: [Cloning] Fix to cloning DISubprograms..

Add unit test and comment.

Aug 20 2020, 4:20 PM · debug-info, Restricted Project

Aug 19 2020

akhuang added a comment to D85572: [globalopt] Change so that emitting fragments doesn't use the type size of DIVariables.

I think that makes sense.

Aug 19 2020, 9:03 AM · Restricted Project

Aug 18 2020

akhuang requested review of D86185: [Cloning] Fix to cloning DISubprograms..
Aug 18 2020, 6:06 PM · debug-info, Restricted Project

Aug 17 2020

akhuang committed rG51c152ca2a93: Revert "Make compiler-rt/asan tests run with llvm-lit." (authored by akhuang).
Revert "Make compiler-rt/asan tests run with llvm-lit."
Aug 17 2020, 10:01 AM
akhuang added a reverting change for rG7f84f62ef07a: Make compiler-rt/asan tests run with llvm-lit.: rG51c152ca2a93: Revert "Make compiler-rt/asan tests run with llvm-lit.".
Aug 17 2020, 10:01 AM
akhuang added a reverting change for D83821: Make compiler-rt/asan tests run with llvm-lit.: rG51c152ca2a93: Revert "Make compiler-rt/asan tests run with llvm-lit.".
Aug 17 2020, 10:01 AM · Restricted Project
akhuang committed rG7f84f62ef07a: Make compiler-rt/asan tests run with llvm-lit. (authored by akhuang).
Make compiler-rt/asan tests run with llvm-lit.
Aug 17 2020, 9:25 AM
akhuang closed D83821: Make compiler-rt/asan tests run with llvm-lit..
Aug 17 2020, 9:24 AM · Restricted Project

Aug 14 2020

akhuang added a comment to D83667: [ARM] Fix IT block generation after Thumb2SizeReduce with -Oz.
Aug 14 2020, 10:03 AM · Restricted Project
akhuang added a comment to D83667: [ARM] Fix IT block generation after Thumb2SizeReduce with -Oz.

Oh no, I'll upload the file here since I'm not sure how to make the bug visible again: https://reviews.llvm.org/F12619177

Aug 14 2020, 10:02 AM · Restricted Project

Aug 13 2020

akhuang committed rGae6523cd62a4: [DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing… (authored by akhuang).
[DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing…
Aug 13 2020, 3:50 PM
akhuang closed D85799: [DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing only if limited debug info is already on..
Aug 13 2020, 3:49 PM · Restricted Project
akhuang added a comment to D83667: [ARM] Fix IT block generation after Thumb2SizeReduce with -Oz.

Ok, I think the actual object file diff comes from this file: https://github.com/chromium/chromium/blob/master/sandbox/linux/syscall_broker/broker_command.cc
I checked that the test fails if I only build this object file with this change.

Aug 13 2020, 3:45 PM · Restricted Project
akhuang added a comment to D83667: [ARM] Fix IT block generation after Thumb2SizeReduce with -Oz.

Actually, I've looked into it more and I think that isn't the correct object file. I'm bisecting to figure out which object file change causes the test failure. Sorry about that!

Aug 13 2020, 3:00 PM · Restricted Project
akhuang added a comment to D83667: [ARM] Fix IT block generation after Thumb2SizeReduce with -Oz.

Sorry, I was hoping the object file diff would be clearer. If it could be reverted in the meantime, that would be helpful. I'm not sure if I'll be able to make an actual reproducer, but I'll at least try to narrow down the object file change.

Aug 13 2020, 2:09 PM · Restricted Project
akhuang added a comment to D83667: [ARM] Fix IT block generation after Thumb2SizeReduce with -Oz.

I haven't been able to make a simple reproducer, but I attached a reproducer for compiling the object file here: https://crbug.com/1114852.

Aug 13 2020, 11:00 AM · Restricted Project

Aug 12 2020

akhuang updated the diff for D85799: [DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing only if limited debug info is already on..

Add more extensive check that -fuse-ctor-homing only does something when -debug-info-kind=limited

Aug 12 2020, 5:06 PM · Restricted Project
akhuang added a comment to D85799: [DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing only if limited debug info is already on..

If possible, could you test the negative cases too? That -fuse-ctor-homing doesn't override -debug-info-kind=line-tables-only or no -debug-info-kind at all?

Aug 12 2020, 4:43 PM · Restricted Project
akhuang added a comment to D85799: [DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing only if limited debug info is already on..

Yep, just added a line to the existing ctor homing test case.

Aug 12 2020, 4:03 PM · Restricted Project
akhuang updated the diff for D85799: [DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing only if limited debug info is already on..

Add test case.

Aug 12 2020, 4:03 PM · Restricted Project
akhuang added a comment to D83667: [ARM] Fix IT block generation after Thumb2SizeReduce with -Oz.

This is causing test failures / crashes in several chromium android tests (https://crbug.com/1114852). I'm not really familiar with this code, but it seems like after this change, there are some lines missing in the assembly.

Aug 12 2020, 3:48 PM · Restricted Project

Aug 11 2020

akhuang requested review of D85799: [DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing only if limited debug info is already on..
Aug 11 2020, 5:39 PM · Restricted Project
akhuang added inline comments to D85572: [globalopt] Change so that emitting fragments doesn't use the type size of DIVariables.
Aug 11 2020, 3:45 PM · Restricted Project
akhuang committed rG54b6cca0f284: [globalopt] Change so that emitting fragments doesn't use the type size of… (authored by akhuang).
[globalopt] Change so that emitting fragments doesn't use the type size of…
Aug 11 2020, 2:52 PM
akhuang closed D85572: [globalopt] Change so that emitting fragments doesn't use the type size of DIVariables.
Aug 11 2020, 2:51 PM · Restricted Project

Aug 10 2020

akhuang added inline comments to D85572: [globalopt] Change so that emitting fragments doesn't use the type size of DIVariables.
Aug 10 2020, 5:23 PM · Restricted Project