Page MenuHomePhabricator

bob.wilson (Bob Wilson)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 20 2014, 9:18 PM (479 w, 4 d)

Recent Activity

Dec 12 2019

GitHub <noreply@github.com> committed rGe9e528e696c7: Merge pull request #303 from compnerd/diagnostics-count (authored by bob.wilson).
Merge pull request #303 from compnerd/diagnostics-count
Dec 12 2019, 1:31 PM
bob.wilson committed rGfd46ec82ca82: Update reference to tok::angle_string_literal (authored by bob.wilson).
Update reference to tok::angle_string_literal
Dec 12 2019, 1:15 PM
GitHub <noreply@github.com> committed rGd563f8065dbd: Merge pull request #282 from bob-wilson/clang-r356530 (authored by bob.wilson).
Merge pull request #282 from bob-wilson/clang-r356530
Dec 12 2019, 1:15 PM
GitHub <noreply@github.com> committed rG98140eb92a47: Merge pull request #258 from davezarzycki/fix_cmake_deps (authored by bob.wilson).
Merge pull request #258 from davezarzycki/fix_cmake_deps
Dec 12 2019, 1:02 PM
bob.wilson committed rGa7f21453a1ed: Fix incorrect merge conflict in 41ae04dbab1b (authored by bob.wilson).
Fix incorrect merge conflict in 41ae04dbab1b
Dec 12 2019, 12:23 PM
GitHub <noreply@github.com> committed rG90bafc6c9115: Merge pull request #130 from bob-wilson/comment-for-sr9483 (authored by bob.wilson).
Merge pull request #130 from bob-wilson/comment-for-sr9483
Dec 12 2019, 12:22 PM
bob.wilson committed rG9d6170127436: Add a comment for the code related to SR-9483. (authored by bob.wilson).
Add a comment for the code related to SR-9483.
Dec 12 2019, 12:22 PM
GitHub <noreply@github.com> committed rGd1167e8cfe0e: Merge pull request #241 from bob-wilson/reapply-fix-for-r347417 (authored by bob.wilson).
Merge pull request #241 from bob-wilson/reapply-fix-for-r347417
Dec 12 2019, 12:14 PM
bob.wilson committed rGf29a8fd30357: Edit: adjust for SVN r347417 (authored by compnerd).
Edit: adjust for SVN r347417
Dec 12 2019, 12:13 PM
GitHub <noreply@github.com> committed rG89ab5ce8451b: Merge pull request #240 from bob-wilson/revert-fix-for-r347417 (authored by bob.wilson).
Merge pull request #240 from bob-wilson/revert-fix-for-r347417
Dec 12 2019, 12:12 PM
bob.wilson committed rGaa3c9e482db0: Revert "Edit: adjust for SVN r347417" (authored by bob.wilson).
Revert "Edit: adjust for SVN r347417"
Dec 12 2019, 12:12 PM
bob.wilson committed rG45715792b537: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by bob.wilson).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Dec 12 2019, 12:10 PM
GitHub <noreply@github.com> committed rG5890afb2c392: Merge pull request #238 from compnerd/r347417 (authored by bob.wilson).
Merge pull request #238 from compnerd/r347417
Dec 12 2019, 12:09 PM
GitHub <noreply@github.com> committed rG57f30e6227fb: Merge pull request #124 from bob-wilson/revert-r347004 (authored by bob.wilson).
Merge pull request #124 from bob-wilson/revert-r347004
Dec 12 2019, 12:02 PM
bob.wilson committed rG774d24cbdadf: Revert "Re-apply r346985: [ADT] Drop llvm::Optional clang-specific optimization… (authored by bob.wilson).
Revert "Re-apply r346985: [ADT] Drop llvm::Optional clang-specific optimization…
Dec 12 2019, 12:02 PM
GitHub <noreply@github.com> committed rG778ae35b9c1a: Merge pull request #218 from compnerd/r345637 (authored by bob.wilson).
Merge pull request #218 from compnerd/r345637
Dec 12 2019, 11:50 AM

Oct 29 2019

GitHub <noreply@github.com> committed rGab1b4adabc4d: Merge pull request #200 from bob-wilson/fix-bad-merge (authored by bob.wilson).
Merge pull request #200 from bob-wilson/fix-bad-merge
Oct 29 2019, 4:34 PM
bob.wilson committed rGf7f52122da3c: Fix a bad merge conflict resolution (authored by bob.wilson).
Fix a bad merge conflict resolution
Oct 29 2019, 4:34 PM
bob.wilson committed rGd93a4e894531: [upstream-with-swift] Increase DIAG_SIZE_FRONTEND to 101 (authored by bob.wilson).
[upstream-with-swift] Increase DIAG_SIZE_FRONTEND to 101
Oct 29 2019, 4:30 PM
GitHub <noreply@github.com> committed rG9bd69cd43a6c: Merge pull request #197 from bob-wilson/frontend-diag-size (authored by bob.wilson).
Merge pull request #197 from bob-wilson/frontend-diag-size
Oct 29 2019, 4:30 PM
GitHub <noreply@github.com> committed rGeed302e3784a: Merge pull request #102 from bob-wilson/llvm-rdar41029268 (authored by bob.wilson).
Merge pull request #102 from bob-wilson/llvm-rdar41029268
Oct 29 2019, 4:29 PM
bob.wilson committed rG638778fbc8be: Revert "[upstream-with-swift] Temporary workaround for LLVM r334283" (authored by bob.wilson).
Revert "[upstream-with-swift] Temporary workaround for LLVM r334283"
Oct 29 2019, 4:29 PM
GitHub <noreply@github.com> committed rG5935e15f1376: Merge pull request #196 from bob-wilson/rdar40779573 (authored by bob.wilson).
Merge pull request #196 from bob-wilson/rdar40779573
Oct 29 2019, 4:28 PM
bob.wilson committed rG12e0322fdceb: [upstream-with-swift] Fix bad merge in 4bee7c556e (authored by bob.wilson).
[upstream-with-swift] Fix bad merge in 4bee7c556e
Oct 29 2019, 4:28 PM
GitHub <noreply@github.com> committed rG599b426ff058: Merge pull request #100 from bob-wilson/llvm-r334283-workaround (authored by bob.wilson).
Merge pull request #100 from bob-wilson/llvm-r334283-workaround
Oct 29 2019, 4:27 PM
bob.wilson committed rGef3db22752a7: [upstream-with-swift] Temporary workaround for LLVM r334283 (authored by bob.wilson).
[upstream-with-swift] Temporary workaround for LLVM r334283
Oct 29 2019, 4:27 PM
GitHub <noreply@github.com> committed rG3c76bc644fca: Merge pull request #193 from bob-wilson/clang-r332757 (authored by bob.wilson).
Merge pull request #193 from bob-wilson/clang-r332757
Oct 29 2019, 4:20 PM
bob.wilson committed rG36c5d76e262e: [APINotes] Update endian stream interface to match Clang r332757 (authored by bob.wilson).
[APINotes] Update endian stream interface to match Clang r332757
Oct 29 2019, 4:19 PM
GitHub <noreply@github.com> committed rGa66c4e2b255a: Merge pull request #192 from bob-wilson/clang-r332598 (authored by bob.wilson).
Merge pull request #192 from bob-wilson/clang-r332598
Oct 29 2019, 4:19 PM
bob.wilson committed rG7527e772f8e4: Adjust for Clang r332598: VersionTuple always uses dots now (authored by bob.wilson).
Adjust for Clang r332598: VersionTuple always uses dots now
Oct 29 2019, 4:19 PM
GitHub <noreply@github.com> committed rG551b51bbb2e3: Merge pull request #186 from compnerd/331155 (authored by bob.wilson).
Merge pull request #186 from compnerd/331155
Oct 29 2019, 4:14 PM
GitHub <noreply@github.com> committed rGa1640f226cea: Merge pull request #167 from asowani/upstream-with-swift (authored by bob.wilson).
Merge pull request #167 from asowani/upstream-with-swift
Oct 29 2019, 4:01 PM
GitHub <noreply@github.com> committed rGe406c72db6a1: Merge pull request #169 from bob-wilson/fix-for-r327573 (authored by bob.wilson).
Merge pull request #169 from bob-wilson/fix-for-r327573
Oct 29 2019, 3:58 PM
bob.wilson committed rG34eb397421c7: Include missing header to fix the build after Clang r327573 (authored by bob.wilson).
Include missing header to fix the build after Clang r327573
Oct 29 2019, 3:58 PM
GitHub <noreply@github.com> committed rG83c5b65d1f2d: Merge pull request #166 from bob-wilson/next-RawComment (authored by bob.wilson).
Merge pull request #166 from bob-wilson/next-RawComment
Oct 29 2019, 3:53 PM
bob.wilson committed rG79d9a2985ef7: master-next: Update RawComment initializer to match Clang r326512. (authored by bob.wilson).
master-next: Update RawComment initializer to match Clang r326512.
Oct 29 2019, 3:53 PM
GitHub <noreply@github.com> committed rG80787d808fac: Merge pull request #165 from compnerd/hash (authored by bob.wilson).
Merge pull request #165 from compnerd/hash
Oct 29 2019, 3:51 PM
bob.wilson committed rGbf38d7342fa8: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by bob.wilson).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Oct 29 2019, 3:36 PM
bob.wilson committed rGa85a1b8eb8d3: Remove Swift-specific changes for SSA updater phi iteration. (authored by bob.wilson).
Remove Swift-specific changes for SSA updater phi iteration.
Oct 29 2019, 3:36 PM
bob.wilson committed rG17ba4be35f17: Update c-index-test to match LLVM r321411 (authored by bob.wilson).
Update c-index-test to match LLVM r321411
Oct 29 2019, 3:35 PM
bob.wilson committed rG64587f96c459: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by bob.wilson).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Oct 29 2019, 3:33 PM
bob.wilson committed rGb34d55e5a76d: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by bob.wilson).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Oct 29 2019, 3:33 PM
GitHub <noreply@github.com> committed rG7bb763569ce9: Merge pull request #67 from bob-wilson/revert-workaround (authored by bob.wilson).
Merge pull request #67 from bob-wilson/revert-workaround
Oct 29 2019, 3:17 PM
bob.wilson committed rGeade542f1a1e: Revert "master-next: Temporary workaround for llvm r315852." (authored by bob.wilson).
Revert "master-next: Temporary workaround for llvm r315852."
Oct 29 2019, 3:17 PM
GitHub <noreply@github.com> committed rG4a4d60da95f6: Merge pull request #66 from bob-wilson/funccomp-workaround (authored by bob.wilson).
Merge pull request #66 from bob-wilson/funccomp-workaround
Oct 29 2019, 3:17 PM
bob.wilson committed rG54c94d609b8d: master-next: Temporary workaround for llvm r315852. (authored by bob.wilson).
master-next: Temporary workaround for llvm r315852.
Oct 29 2019, 3:17 PM
bob.wilson committed rGaf5cf9fa165d: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by bob.wilson).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Oct 29 2019, 3:12 PM
bob.wilson committed rGd965fa061808: Update IndexerQueries.cpp according to changes made in r306878. (authored by bob.wilson).
Update IndexerQueries.cpp according to changes made in r306878.
Oct 29 2019, 2:56 PM
GitHub <noreply@github.com> committed rG8c40b9fa2098: Merge pull request #93 from jrose-apple/ModuleMacro-master-next (authored by bob.wilson).
Merge pull request #93 from jrose-apple/ModuleMacro-master-next
Oct 29 2019, 2:56 PM
bob.wilson committed rGc51d996fbcd8: NFC: Fix whitespace to use spaces instead of tabs. (authored by bob.wilson).
NFC: Fix whitespace to use spaces instead of tabs.
Oct 29 2019, 2:50 PM
bob.wilson committed rG35bd78f32f4e: Temporary hack to allow making progress on master-next build failures. (authored by bob.wilson).
Temporary hack to allow making progress on master-next build failures.
Oct 29 2019, 2:50 PM
bob.wilson committed rG0361eaf9e53e: Restore changes dropped in bad merge (b76dafda5a) (authored by bob.wilson).
Restore changes dropped in bad merge (b76dafda5a)
Oct 29 2019, 2:50 PM
bob.wilson committed rG6486012b7d48: [Modules] Include error diagnostics to the module hash (authored by bruno).
[Modules] Include error diagnostics to the module hash
Oct 29 2019, 2:50 PM
bob.wilson committed rGe9c940d506c3: Fix merge problem from clang r288295. (authored by bob.wilson).
Fix merge problem from clang r288295.
Oct 29 2019, 2:08 PM
bob.wilson committed rG9c2e10a6a775: Revert "ObjectiveC Generics: Start using ObjCTypeParamType." (authored by manmanren).
Revert "ObjectiveC Generics: Start using ObjCTypeParamType."
Oct 29 2019, 1:56 PM
bob.wilson committed rGd6ef652c64f4: Allow iOS and tvOS version numbers with 2-digit major version numbers. (authored by bob.wilson).
Allow iOS and tvOS version numbers with 2-digit major version numbers.
Oct 29 2019, 1:27 PM
bob.wilson committed rG5d5108b9e086: Fix a build failure after merge from llvm.org. (authored by bob.wilson).
Fix a build failure after merge from llvm.org.
Oct 29 2019, 1:24 PM
bob.wilson committed rG33e7e500fa39: Clean up some whitespace and comments for the new logging builtins patch. (authored by bob.wilson).
Clean up some whitespace and comments for the new logging builtins patch.
Oct 29 2019, 1:24 PM
bob.wilson committed rG5e9ad90ce7e9: Add support for __builtin_os_log_format[_buffer_size] (authored by bob.wilson).
Add support for __builtin_os_log_format[_buffer_size]
Oct 29 2019, 1:24 PM
bob.wilson committed rGc1d421807196: Remove LoopInfoBase::getBlockMap(). (authored by bob.wilson).
Remove LoopInfoBase::getBlockMap().
Oct 29 2019, 1:10 PM
bob.wilson committed rG638b0ac101d3: Remove some leftover changes related to the Swift calling convention. (authored by bob.wilson).
Remove some leftover changes related to the Swift calling convention.
Oct 29 2019, 1:09 PM
bob.wilson committed rG056db1178a9a: Merge remote-tracking branch 'mirror/master' into upstream-with-swift (authored by bob.wilson).
Merge remote-tracking branch 'mirror/master' into upstream-with-swift
Oct 29 2019, 1:00 PM

Mar 7 2019

bob.wilson added a comment to D58216: Support attribute used in member funcs of class templates II.

OK, that doesn't sound like it will be a problem

Mar 7 2019, 9:21 AM · Restricted Project

Jan 28 2019

bob.wilson added a comment to rL351772: [LangRef] Clarify semantics of volatile operations..

There's a typo in the first new paragraph: "adresses"

Jan 28 2019, 1:31 PM

Dec 7 2018

bob.wilson accepted D55442: Update the Swift version numbers reported by objdump.

LGTM, too.

Dec 7 2018, 10:13 AM

May 25 2018

bob.wilson closed D46550: Support Swift calling convention for PPC64 targets.

Committed in Clang r333316

May 25 2018, 2:30 PM

May 7 2018

bob.wilson added a comment to D46550: Support Swift calling convention for PPC64 targets.

Previous review (for the swift-llvm GitHub repo): https://github.com/apple/swift-clang/pull/167

May 7 2018, 2:40 PM
bob.wilson created D46550: Support Swift calling convention for PPC64 targets.
May 7 2018, 2:37 PM

Mar 21 2018

bob.wilson added a comment to D44753: [Preprocessor] Rename __is_{target -> host}_* function-like builtin macros.

Sorry that I missed your earlier comment about this. The confusion could only arise in the context of a tool (like a compiler) that is being used for cross-compilation. That is a small fraction of the audience for Clang, and we should design this in a way that makes the most sense for the majority of users. If there's a naming scheme that is better for both, then we should do that, but I don't think this is it.

Mar 21 2018, 1:31 PM

Jan 3 2018

bob.wilson added a comment to D41672: support phi ranges for machine-level IR.

Unfortunately that unit test doesn't work. I didn't notice the problem but the sanitizer bot exposed it. The existing bogus target in MachineInstrTest.cpp is only good enough to create instructions but not sufficient to insert them into basic blocks. The addNodeToList ilist callback dereferences the pointer to the MachineRegisterInfo. Adding MachineRegisterInfo would also require TargetRegisterInfo, and even a minimal implementation of that would be quite complicated. If anyone has a good idea of an alternative, please let me know. In the meantime, I have removed the unit test in r321784.

Jan 3 2018, 9:10 PM
bob.wilson closed D41672: support phi ranges for machine-level IR.

OK. Committed with Davide's suggested changes in r321783.

Jan 3 2018, 6:59 PM

Jan 2 2018

bob.wilson abandoned D19080: allow SSAUpdater to be used for Swift.

Chandler came up with a much better solution for phi iterators in r303964.
I have proposed a similar change for machine-level IR in https://reviews.llvm.org/D41672
Abandoning this one.

Jan 2 2018, 11:18 AM
bob.wilson created D41672: support phi ranges for machine-level IR.
Jan 2 2018, 11:16 AM
bob.wilson closed D36563: Add a getName accessor for ModuleMacros.
Jan 2 2018, 11:04 AM

Dec 19 2017

bob.wilson accepted D41425: [darwin][driver] Warn about mismatching -<os>-version-min rather than superfluous -<os>-version-min compiler option.

Eventually it would be nice to also warn about redundant -m*-version-min options, but for now I agree that it would be best to start with warning only when the options are different.

Dec 19 2017, 6:06 PM

Dec 15 2017

bob.wilson accepted D40998: [driver][darwin] Take the OS version specified in "-target" as the target OS instead of inferring it from SDK / environment.

LGTM

Dec 15 2017, 9:46 PM
bob.wilson accepted D41076: [driver][darwin] Set the 'simulator' environment when it's specified in '-target'.

LGTM

Dec 15 2017, 8:50 PM
bob.wilson added a comment to D41087: [Preprocessor] Implement __is_target_{arch|vendor|os|environment} function-like builtin macros.

Thanks! LGTM

Dec 15 2017, 4:30 PM

Dec 14 2017

bob.wilson added a comment to D41087: [Preprocessor] Implement __is_target_{arch|vendor|os|environment} function-like builtin macros.

I'm concerned here about the check for the names as written vs. the canonical names. @compnerd pointed out one specific case with armv7, and I see that you've got special handling for "darwin", but I think there are more. What about "arm64" vs. the canonical "aarch64"? Look through the triple parsing code in Triple.cpp and I'm pretty sure you'll find more. I had been thinking about using the canonical names. However, that's not ideal either because the canonical names intentionally exclude suffixes that some users may want to distinguish (e.g., armv7 vs armv7k).

Dec 14 2017, 11:04 PM

Dec 9 2017

bob.wilson requested changes to D40998: [driver][darwin] Take the OS version specified in "-target" as the target OS instead of inferring it from SDK / environment.
Dec 9 2017, 9:26 PM

Dec 4 2017

bob.wilson accepted D40682: [driver] Set the 'simulator' environment for Darwin when -m<os>simulator-version-min is used.
Dec 4 2017, 6:04 PM

Nov 30 2017

bob.wilson added inline comments to D40682: [driver] Set the 'simulator' environment for Darwin when -m<os>simulator-version-min is used.
Nov 30 2017, 9:14 PM
bob.wilson requested changes to D40682: [driver] Set the 'simulator' environment for Darwin when -m<os>simulator-version-min is used.
Nov 30 2017, 5:06 PM

Oct 31 2017

bob.wilson added a comment to D39446: [PGO] Detect more structural changes with the stable hash.

I'm excited to see some progress on this, but since there is overhead to adding a new hashing scheme, I think we should do more before introducing a new scheme. One of the problems with the previous scheme is that is did not take into account nesting. Distinguishing an if-statement from an if-else statement is good but we also need to distinguish what code is inside the then-block, else-block, and the code afterward. As it stands, I believe the following are all hashed the same, even with this patch:

Oct 31 2017, 9:47 AM

Oct 23 2017

bob.wilson closed D39143: Add a new Simulator entry for the target triple environment.

Thanks, Eric!
r316380

Oct 23 2017, 2:53 PM

Oct 20 2017

bob.wilson created D39143: Add a new Simulator entry for the target triple environment.
Oct 20 2017, 1:51 PM

Aug 10 2017

bob.wilson added a comment to D36563: Add a getName accessor for ModuleMacros.

Committed in r310622

Aug 10 2017, 9:44 AM

Aug 9 2017

bob.wilson created D36563: Add a getName accessor for ModuleMacros.
Aug 9 2017, 5:21 PM

Jun 30 2017

bob.wilson accepted D34529: [Driver] Check that the iOS deployment target is iOS 10 or earlier if the target is 32-bit.

LGTM

Jun 30 2017, 4:45 PM
bob.wilson added inline comments to D34529: [Driver] Check that the iOS deployment target is iOS 10 or earlier if the target is 32-bit.
Jun 30 2017, 1:09 PM

Jun 29 2017

bob.wilson added a comment to D34529: [Driver] Check that the iOS deployment target is iOS 10 or earlier if the target is 32-bit.

The proposed error message does not provide any information about why the version is invalid. That could be confusing. Your comment in the code is more clear: "iOS 10 is the maximum deployment target for 32-bit targets". Can you say something like that in the error message?

Jun 29 2017, 10:25 PM

Mar 6 2017

bob.wilson closed D30578: remove Cmake option for LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING.

All the more reason to clean this up now!
r297109

Mar 6 2017, 5:03 PM

Mar 3 2017

bob.wilson created D30578: remove Cmake option for LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING.
Mar 3 2017, 8:32 AM

Feb 14 2017

bob.wilson closed D29919: allow migrating away from cmake option for LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING.

Committed in r295090

Feb 14 2017, 11:18 AM

Feb 13 2017

bob.wilson created D29919: allow migrating away from cmake option for LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING.
Feb 13 2017, 5:39 PM

Jan 30 2017

bob.wilson added a comment to D28934: Write a new SSAUpdater.

It's great to see some new work in this area. It has been years since I rewrote the SSAUpdater and I've always been worried about the performance. It seems fast enough for the common cases but the worst-case behavior is terrible. Anyway, it has been a long time since I looked at this, but I remember concluding that it was hard to really fix it right without changing the API. The basic part of the Braun et al. approach looks very similar to what we had prior to my rewrite (r100047 through r101612). Unfortunately it has been a long time and I'm having trouble remembering the details of the problem we ran into. The gist of it was that SSA construction is different than SSA updating because the latter needs to determine if the necessary phis are already present. We ran into cases where the SSA updater was unable to determine that a loop already had a suitable phi, so it would add a new one, creating phi cycles that grew by one every time the SSA updater was invoked on the code (which can be a large number of times). Perhaps this only came up with irreducible control flow or something, but basically you've got to get minimal SSA all the time to avoid this situation.

Jan 30 2017, 4:03 PM

Jan 5 2017

bob.wilson closed D28265: disable sigaltstack on Apple platforms.

Committed in r291206, with an expanded comment.
I also reverted my previous change to use _Unwind_Backtrace (r291207).

Jan 5 2017, 6:38 PM

Jan 4 2017

bob.wilson added a comment to D28265: disable sigaltstack on Apple platforms.

Yes, of course you are right that this is not ideal. It's not about avoiding crashes though -- the issue is that the backtraces we dump out after an assertion failure are useless since they stop at the signal handler.

Jan 4 2017, 10:21 AM

Jan 3 2017

bob.wilson retitled D28265: disable sigaltstack on Apple platforms from to disable sigaltstack on Apple platforms.
Jan 3 2017, 4:45 PM

Dec 5 2016

bob.wilson added a comment to D27432: Introduces cmake option `LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING`.

This looks good to me. I tried it out and it works as expected.

Dec 5 2016, 4:47 PM