Page MenuHomePhabricator

asb (Alex Bradbury)
Director and Co-founder, lowRISC CIC

Projects

User does not belong to any projects.

User Details

User Since
Aug 6 2013, 5:31 AM (310 w, 5 d)

Recent Activity

Thu, Jul 18

asb committed rGe078967adf4f: [RISCV] Hard float ABI support (authored by asb).
[RISCV] Hard float ABI support
Thu, Jul 18, 11:37 AM
asb committed rL366480: [RISCV] Hard float ABI support.
[RISCV] Hard float ABI support
Thu, Jul 18, 11:33 AM
asb committed rG9b732fe99b69: Revert "[RISCV] Hard float ABI support" r366450 (authored by asb).
Revert "[RISCV] Hard float ABI support" r366450
Thu, Jul 18, 9:14 AM
asb committed rL366454: Revert "[RISCV] Hard float ABI support" r366450.
Revert "[RISCV] Hard float ABI support" r366450
Thu, Jul 18, 9:14 AM
asb committed rGfc3aa2ab485f: [RISCV] Hard float ABI support (authored by asb).
[RISCV] Hard float ABI support
Thu, Jul 18, 8:35 AM
asb committed rL366450: [RISCV] Hard float ABI support.
[RISCV] Hard float ABI support
Thu, Jul 18, 8:33 AM
asb closed D60456: [RISCV] Hard float ABI support.
Thu, Jul 18, 8:33 AM · Restricted Project, Restricted Project
asb requested changes to D58335: [DebugInfo] Generate fixups as emitting DWARF .debug_frame/.eh_frame..

Looking at this in more detail - shouldn't we be making use of the R_RISCV_SET* relocations?

Thu, Jul 18, 4:01 AM · Restricted Project
asb committed rGb8d352a08bc6: [RISCV] Reset NoPHIS MachineFunctionProperty in emitSelectPseudo (authored by asb).
[RISCV] Reset NoPHIS MachineFunctionProperty in emitSelectPseudo
Thu, Jul 18, 12:55 AM
asb committed rL366412: [RISCV] Reset NoPHIS MachineFunctionProperty in emitSelectPseudo.
[RISCV] Reset NoPHIS MachineFunctionProperty in emitSelectPseudo
Thu, Jul 18, 12:52 AM
asb committed rGdad1bebecd87: [RISCV][DebugInfo] Fix dwarf-riscv-relocs.ll test on Windows (authored by asb).
[RISCV][DebugInfo] Fix dwarf-riscv-relocs.ll test on Windows
Thu, Jul 18, 12:27 AM
asb committed rL366410: [RISCV][DebugInfo] Fix dwarf-riscv-relocs.ll test on Windows.
[RISCV][DebugInfo] Fix dwarf-riscv-relocs.ll test on Windows
Thu, Jul 18, 12:26 AM

Wed, Jul 17

asb committed rG44deaf7e54ef: [DWARF][RISCV] Add support for RISC-V relocations needed for debug info (authored by asb).
[DWARF][RISCV] Add support for RISC-V relocations needed for debug info
Wed, Jul 17, 10:28 PM
asb committed rL366402: [DWARF][RISCV] Add support for RISC-V relocations needed for debug info.
[DWARF][RISCV] Add support for RISC-V relocations needed for debug info
Wed, Jul 17, 10:27 PM
asb closed D62062: [DWARF][RISCV] Add support for RISC-V relocations needed for debug info.
Wed, Jul 17, 10:27 PM · Restricted Project
asb committed rG4e8d07fd7db2: [RISCV] Re-land r366331 d RISCV to LLVM_ALL_TARGETS (authored by asb).
[RISCV] Re-land r366331 d RISCV to LLVM_ALL_TARGETS
Wed, Jul 17, 9:10 PM
asb committed rL366399: [RISCV] Re-land r366331 d RISCV to LLVM_ALL_TARGETS.
[RISCV] Re-land r366331 d RISCV to LLVM_ALL_TARGETS
Wed, Jul 17, 9:10 PM
asb committed rG8aba95d64cf3: [RISCV] Avoid signed integer overflow UB in RISCVMatInt::generateInstSeq (authored by asb).
[RISCV] Avoid signed integer overflow UB in RISCVMatInt::generateInstSeq
Wed, Jul 17, 9:04 PM
asb committed rL366398: [RISCV] Avoid signed integer overflow UB in RISCVMatInt::generateInstSeq.
[RISCV] Avoid signed integer overflow UB in RISCVMatInt::generateInstSeq
Wed, Jul 17, 9:04 PM
asb committed rGad73a436dc3b: [RISCV] Don't acccess an invalidated iterator in RISCVInstrInfo::removeBranch (authored by asb).
[RISCV] Don't acccess an invalidated iterator in RISCVInstrInfo::removeBranch
Wed, Jul 17, 8:25 PM
asb committed rL366397: [RISCV] Don't acccess an invalidated iterator in RISCVInstrInfo::removeBranch.
[RISCV] Don't acccess an invalidated iterator in RISCVInstrInfo::removeBranch
Wed, Jul 17, 8:23 PM
asb committed rG544315b41970: [RISCV] Revert r366331 as it exposed some sanitizer failures (authored by asb).
[RISCV] Revert r366331 as it exposed some sanitizer failures
Wed, Jul 17, 9:16 AM
asb committed rL366343: [RISCV] Revert r366331 as it exposed some sanitizer failures.
[RISCV] Revert r366331 as it exposed some sanitizer failures
Wed, Jul 17, 9:15 AM
asb committed rG80de11ed0216: [RISCV] Add RISCV to LLVM_ALL_TARGETS so it s built by default (authored by asb).
[RISCV] Add RISCV to LLVM_ALL_TARGETS so it s built by default
Wed, Jul 17, 7:33 AM
asb committed rL366331: [RISCV] Add RISCV to LLVM_ALL_TARGETS so it s built by default.
[RISCV] Add RISCV to LLVM_ALL_TARGETS so it s built by default
Wed, Jul 17, 7:32 AM
asb committed rGc74fded05ff3: [RISCV][NFC] Remove outdated TODO from test/CodeGen/RISCV/dwarf-eh.ll (authored by asb).
[RISCV][NFC] Remove outdated TODO from test/CodeGen/RISCV/dwarf-eh.ll
Wed, Jul 17, 7:05 AM
asb committed rL366330: [RISCV][NFC] Remove outdated TODO from test/CodeGen/RISCV/dwarf-eh.ll.
[RISCV][NFC] Remove outdated TODO from test/CodeGen/RISCV/dwarf-eh.ll
Wed, Jul 17, 7:04 AM
asb committed rGab009a602e96: [AsmPrinter] Make the encoding of call sites in .gcc_except_table configurable… (authored by asb).
[AsmPrinter] Make the encoding of call sites in .gcc_except_table configurable…
Wed, Jul 17, 7:01 AM
asb committed rL366329: [AsmPrinter] Make the encoding of call sites in .gcc_except_table configurable….
[AsmPrinter] Make the encoding of call sites in .gcc_except_table configurable…
Wed, Jul 17, 7:01 AM
asb closed D63415: [AsmPrinter] Make the encoding of call sites in .gcc_except_table configurable.
Wed, Jul 17, 7:01 AM · Restricted Project
asb accepted D63415: [AsmPrinter] Make the encoding of call sites in .gcc_except_table configurable.

LGTM, thanks. I've spent quite a bit of time comparing output vs gcc so I'm pretty confident here now. I committed a slightly different test strategy in the DWARF encoding work I just committed, so will adjust this patch to build on that.

Wed, Jul 17, 7:01 AM · Restricted Project
asb committed rGb94c233d0673: [RISCV] Set correct encodings for DWARF exception handling (authored by asb).
[RISCV] Set correct encodings for DWARF exception handling
Wed, Jul 17, 6:55 AM
asb committed rL366327: [RISCV] Set correct encodings for DWARF exception handling.
[RISCV] Set correct encodings for DWARF exception handling
Wed, Jul 17, 6:55 AM
asb committed rGaa55124eca68: [RISCV][NFC] Add tests that capture current encodings for DWARF EH (authored by asb).
[RISCV][NFC] Add tests that capture current encodings for DWARF EH
Wed, Jul 17, 6:50 AM
asb committed rL366326: [RISCV][NFC] Add tests that capture current encodings for DWARF EH.
[RISCV][NFC] Add tests that capture current encodings for DWARF EH
Wed, Jul 17, 6:48 AM

Tue, Jul 16

asb added a comment to D63409: [RISCV] Specify various encodings for DWARF exception handling.
In D63409#1587117, @asb wrote:

Hi Ed, this is really hard to review without any documentation in the psABI or otherwise. Can you confirm that you've verified this matches gcc/gas? Are you planning to submit document to riscv-elf-psabi-doc to reflect this?

I've opened a pull request on the psABI docs (https://github.com/riscv/riscv-elf-psabi-doc/pull/110). I'm not entirely sure the details here are relevant to the ABI though. As far as I'm aware provided the individual CIE and FDEs are well-formed it shouldn't matter if the encodings differ from those specified in other CIE and FDEs.

On another note, after taking a look at the GCC code for this I'm not convinced the non-PIC values for the encodings match. GCC appears to just encode everything as pc-relative sdata4, whereas the above encodes things as absolute when PIC is not specified.

Tue, Jul 16, 5:02 AM · Restricted Project
asb added a comment to D63409: [RISCV] Specify various encodings for DWARF exception handling.

Hi Ed, this is really hard to review without any documentation in the psABI or otherwise. Can you confirm that you've verified this matches gcc/gas? Are you planning to submit document to riscv-elf-psabi-doc to reflect this?

Tue, Jul 16, 1:54 AM · Restricted Project
asb accepted D63404: [RISCV] Don't force absolute FK_Data_X fixups to relocs.

Thanks for the clarification Ed. This looks good to me - thanks!

Tue, Jul 16, 1:38 AM · Restricted Project
asb added a comment to D55277: [RISCV] Match GNU tools canonical JALR and add aliases.
In D55277#1586961, @asb wrote:
In D55277#1586958, @asb wrote:

Sorry about that, patch incoming.

I got one coming too. Should I wait for yours or just land this one?

Oh great, please land yours then. Mind is written blind as lld doesn't seem to be building after I add it to LLVM_ENABLE_PROJECTS. Will have to wipe my build dir and wait a while.

Would you be able to do a post commit look over: https://github.com/llvm/llvm-project/commit/3e10905c49ffda36d7a90e24be1ab30832fa4afc

??

Thanks

PL

Tue, Jul 16, 12:14 AM · Restricted Project

Mon, Jul 15

asb added a comment to D55277: [RISCV] Match GNU tools canonical JALR and add aliases.
In D55277#1586958, @asb wrote:

Sorry about that, patch incoming.

I got one coming too. Should I wait for yours or just land this one?

Mon, Jul 15, 11:00 PM · Restricted Project
asb added a comment to D55277: [RISCV] Match GNU tools canonical JALR and add aliases.
Mon, Jul 15, 10:47 PM · Restricted Project
asb accepted D61584: [DebugInfo] Some fields do not need relocations even relax is enabled..

LGTM, thanks! Some minor rebasing is needed for relax-debug-frame.ll. Please go ahead and commit.

Mon, Jul 15, 10:16 PM · Restricted Project
asb accepted D58335: [DebugInfo] Generate fixups as emitting DWARF .debug_frame/.eh_frame..

LGTM (two minor comments in-line). Pleas go ahead and commit - thanks!

Mon, Jul 15, 10:10 PM · Restricted Project
asb committed rG1ffceaa54361: [RISCV] Match GNU tools canonical JALR and add aliases (authored by asb).
[RISCV] Match GNU tools canonical JALR and add aliases
Mon, Jul 15, 9:57 PM
asb committed rL366179: [RISCV] Match GNU tools canonical JALR and add aliases.
[RISCV] Match GNU tools canonical JALR and add aliases
Mon, Jul 15, 9:56 PM
asb closed D55277: [RISCV] Match GNU tools canonical JALR and add aliases.
Mon, Jul 15, 9:56 PM · Restricted Project
asb committed rGbb479ca31195: [RISCV] Avoid overflow when determining number of nops for code align (authored by asb).
[RISCV] Avoid overflow when determining number of nops for code align
Mon, Jul 15, 9:42 PM
asb committed rL366176: [RISCV] Avoid overflow when determining number of nops for code align.
[RISCV] Avoid overflow when determining number of nops for code align
Mon, Jul 15, 9:40 PM
asb closed D63274: [RISCV] Avoid overflow when determining number of nops for code align.
Mon, Jul 15, 9:40 PM · Restricted Project
asb committed rGe9ad0cf6cf79: [RISCV] Fix a potential issue in shouldInsertFixupForCodeAlign() (authored by asb).
[RISCV] Fix a potential issue in shouldInsertFixupForCodeAlign()
Mon, Jul 15, 9:39 PM
asb committed rL366175: [RISCV] Fix a potential issue in shouldInsertFixupForCodeAlign().
[RISCV] Fix a potential issue in shouldInsertFixupForCodeAlign()
Mon, Jul 15, 9:39 PM
asb closed D63285: [RISCV] Fix a potential issue in shouldInsertFixupForCodeAlign().
Mon, Jul 15, 9:39 PM · Restricted Project
asb committed rGef8577ef9871: [RISCV][NFC] Split PseudoCALL pattern out from instruction (authored by asb).
[RISCV][NFC] Split PseudoCALL pattern out from instruction
Mon, Jul 15, 8:57 PM
asb committed rL366174: [RISCV][NFC] Split PseudoCALL pattern out from instruction.
[RISCV][NFC] Split PseudoCALL pattern out from instruction
Mon, Jul 15, 8:56 PM
asb closed D64012: [RISCV][NFC] Split PseudoCALL pattern out from instruction.
Mon, Jul 15, 8:56 PM · Restricted Project
asb committed rGa3c7b27419a5: [RISCV][NFC] Fix HasStedExtA -> HasStdExtA typo in comment (authored by asb).
[RISCV][NFC] Fix HasStedExtA -> HasStdExtA typo in comment
Mon, Jul 15, 8:55 PM
asb committed rL366173: [RISCV][NFC] Fix HasStedExtA -> HasStdExtA typo in comment.
[RISCV][NFC] Fix HasStedExtA -> HasStdExtA typo in comment
Mon, Jul 15, 8:53 PM
asb closed D64011: [RISCV][NFC] Fix HasStedExtA -> HasStdExtA typo in comment.
Mon, Jul 15, 8:53 PM · Restricted Project
asb committed rG4ac0b9be2305: [RISCV] Make RISCVELFObjectWriter::getRelocType check IsPCRel (authored by asb).
[RISCV] Make RISCVELFObjectWriter::getRelocType check IsPCRel
Mon, Jul 15, 8:51 PM
asb committed rL366172: [RISCV] Make RISCVELFObjectWriter::getRelocType check IsPCRel.
[RISCV] Make RISCVELFObjectWriter::getRelocType check IsPCRel
Mon, Jul 15, 8:47 PM
asb added a comment to D64715: [WIP][RISCV] Use RISCV_32_PCREL reloc for FDE initial location.

Thanks Ed. I came to the same conclusion re the need for emitting R_RISCV_32_PCREL when debuggin some issues over the weekend. I had a different fix though - I'll try to compare vs this and get back to you later today.

Mon, Jul 15, 4:53 AM · Restricted Project

Tue, Jul 9

asb accepted D64425: [RISCV] Fix ICE in isDesirableToCommuteWithShift.

LGTM, thanks!

Tue, Jul 9, 9:19 AM · Restricted Project
asb committed rGe0831dac0c3c: [RISCV] Fix RISCVTTIImpl::getIntImmCost for immediates where getMinSignedBits()… (authored by asb).
[RISCV] Fix RISCVTTIImpl::getIntImmCost for immediates where getMinSignedBits()…
Tue, Jul 9, 3:57 AM
asb committed rL365462: [RISCV] Fix RISCVTTIImpl::getIntImmCost for immediates where getMinSignedBits()….
[RISCV] Fix RISCVTTIImpl::getIntImmCost for immediates where getMinSignedBits()…
Tue, Jul 9, 3:56 AM
asb closed D64390: [RISCV] Fix RISCVTTIImpl::getIntImmCost for immediates where getMinSignedBits() > 64.
Tue, Jul 9, 3:56 AM · Restricted Project
asb created D64390: [RISCV] Fix RISCVTTIImpl::getIntImmCost for immediates where getMinSignedBits() > 64.
Tue, Jul 9, 12:34 AM · Restricted Project

Mon, Jul 8

asb added a comment to D60456: [RISCV] Hard float ABI support.

Thanks for the careful review John, I really appreciate it!

Mon, Jul 8, 12:42 PM · Restricted Project, Restricted Project
asb added inline comments to D60456: [RISCV] Hard float ABI support.
Mon, Jul 8, 12:33 PM · Restricted Project, Restricted Project
asb updated the diff for D60456: [RISCV] Hard float ABI support.

Tweaked a code comment.

Mon, Jul 8, 12:33 PM · Restricted Project, Restricted Project
asb added a comment to D63404: [RISCV] Don't force absolute FK_Data_X fixups to relocs.

Hi Ed, I'm struggling a bit to follow the test case you're adding here. You're checking for the absence of R_RISCV_{32,64} but the relocations produced by these expressions are surely going to be R_RISCV_{ADD,SUB}{32,64}?

Mon, Jul 8, 8:35 AM · Restricted Project
asb committed rGce674579ffba: [RISCV][NFC] Make use of Triple::isRISCV (authored by asb).
[RISCV][NFC] Make use of Triple::isRISCV
Mon, Jul 8, 8:08 AM
asb committed rL365329: [RISCV][NFC] Make use of Triple::isRISCV.
[RISCV][NFC] Make use of Triple::isRISCV
Mon, Jul 8, 8:07 AM
asb added a comment to D54215: [Triple] Add test for if triple is RISC-V.

Thanks, added a test and applied.

Mon, Jul 8, 7:58 AM · Restricted Project
asb committed rGc5f552d70596: [Triple] Add isRISCV function (authored by asb).
[Triple] Add isRISCV function
Mon, Jul 8, 7:53 AM
asb committed rL365327: [Triple] Add isRISCV function.
[Triple] Add isRISCV function
Mon, Jul 8, 7:53 AM
asb closed D54215: [Triple] Add test for if triple is RISC-V.
Mon, Jul 8, 7:53 AM · Restricted Project
asb updated the diff for D60456: [RISCV] Hard float ABI support.

Updated to address comment typo picked up by @rogfer01 (thanks!).

Mon, Jul 8, 6:59 AM · Restricted Project, Restricted Project
asb added inline comments to D60456: [RISCV] Hard float ABI support.
Mon, Jul 8, 6:56 AM · Restricted Project, Restricted Project
asb committed rG77d4a8f9f7c9: [RISCV] Specify registers used for exception handling (authored by asb).
[RISCV] Specify registers used for exception handling
Mon, Jul 8, 2:39 AM
asb committed rL365305: [RISCV] Specify registers used for exception handling.
[RISCV] Specify registers used for exception handling
Mon, Jul 8, 2:38 AM
asb closed D63417: [RISCV] Specify registers used for exception handling.
Mon, Jul 8, 2:38 AM · Restricted Project, Restricted Project
asb committed rG0b9addb8c0cc: [RISCV] Specify registers used in DWARF exception handling (authored by asb).
[RISCV] Specify registers used in DWARF exception handling
Mon, Jul 8, 2:18 AM
asb committed rL365301: [RISCV] Specify registers used in DWARF exception handling.
[RISCV] Specify registers used in DWARF exception handling
Mon, Jul 8, 2:17 AM
asb closed D63411: [RISCV] Specify registers used in DWARF exception handling.
Mon, Jul 8, 2:17 AM · Restricted Project
asb committed rG1606a864647c: [UpdateTestChecks] Skip over .Lfunc_begin for RISC-V (authored by asb).
[UpdateTestChecks] Skip over .Lfunc_begin for RISC-V
Mon, Jul 8, 1:38 AM
asb committed rL365297: [UpdateTestChecks] Skip over .Lfunc_begin for RISC-V.
[UpdateTestChecks] Skip over .Lfunc_begin for RISC-V
Mon, Jul 8, 1:34 AM

Sun, Jul 7

asb added a comment to D57332: [RISCV] Allow parsing of bare symbols with offsets.

This patch seems good, but needs rebasing. Thanks!

Sun, Jul 7, 10:24 PM · Restricted Project
asb committed rGe1e036a33bd3: [RISCV] Support z and i operand modifiers (authored by asb).
[RISCV] Support z and i operand modifiers
Sun, Jul 7, 10:04 PM
asb committed rL365291: [RISCV] Support z and i operand modifiers.
[RISCV] Support z and i operand modifiers
Sun, Jul 7, 10:00 PM
asb closed D57792: [RISCV] Support z and i operand modifiers.
Sun, Jul 7, 10:00 PM · Restricted Project
asb accepted D63497: Add support for openSUSE RISC-V triple.

LGTM, thanks!

Sun, Jul 7, 9:31 PM · Restricted Project, Restricted Project
asb added inline comments to D60456: [RISCV] Hard float ABI support.
Sun, Jul 7, 9:07 PM · Restricted Project, Restricted Project
asb updated the diff for D60456: [RISCV] Hard float ABI support.

Address all review comments from @rjmccall. Bitfield handling matches observed behaviour of GCC and I have an active PR to properly document this in the RISC-V psabi. Tests are updated to check this behaviour.

Sun, Jul 7, 8:50 PM · Restricted Project, Restricted Project

Fri, Jul 5

asb requested changes to D62686: [RISCV] Add support for save/restore of callee-saved registers via libcalls.

Hi Lewis, did you evaluate implementing the machine outliner as a more general approach for getting code size savings in this sort of way?

Fri, Jul 5, 3:39 AM · Restricted Project
asb accepted D64125: [RISCV] Support @llvm.readcyclecounter() Intrinsic.

LGTM, thanks!

Fri, Jul 5, 1:49 AM · Restricted Project
asb added inline comments to D61907: [RISCV] Leave pcrel_hi/pcrel_lo fixup pairs unresolved.
Fri, Jul 5, 1:32 AM · Restricted Project
asb accepted D64139: [RISCV][NFC] Replace hard-coded CSR duplication with symbolic references.

This is a really nice cleanup, thanks!

Fri, Jul 5, 1:27 AM · Restricted Project
asb accepted D55277: [RISCV] Match GNU tools canonical JALR and add aliases.

Thanks James, this looks good to me (needs a rebase and trivial changes for rv32e-valid.s before landing).

Fri, Jul 5, 1:24 AM · Restricted Project

Wed, Jul 3

asb added inline comments to D64125: [RISCV] Support @llvm.readcyclecounter() Intrinsic.
Wed, Jul 3, 10:42 PM · Restricted Project
asb accepted D63411: [RISCV] Specify registers used in DWARF exception handling.

I think you might as well add RV32 and RV64 CHECK prefixes and put the test through update_llc_test_checks.py to ensure the generated code is sane, but with that change this is good to land. Thanks!

Wed, Jul 3, 6:18 AM · Restricted Project