[LLVMdev] n-bit bytes for clang/llvm
Patrik Hägglund H
patrik.h.hagglund at ericsson.com
Wed Mar 11 01:37:08 PDT 2015
> It's definitely doable, but I'd be worried about the maintenance burden.
Yes, that is a problem.
We are currently not allowed to reveal our target (which has 16-bit bytes, and registers with non-power-of-two bit widths) fully, and therefore not able to submit it upstream. One idea we have toyed with is to create a simple "dummy" version of our target, just to be able complement patches with tests. For 16-bit byte support we may also pick some existing simple architecture, such as DCPU-16 or TI C54x. One other idea is just to have the changes on a branch upstream.
/Patrik Hägglund
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Reid Kleckner
Sent: den 10 mars 2015 17:09
To: Tyro Software
Cc: LLVM Developers Mailing List
Subject: Re: [LLVMdev] n-bit bytes for clang/llvm
It's definitely doable, but I'd be worried about the maintenance burden. Beyond contributing the initial patches, I'd want to see a maintenance commitment and relatively comprehensive tests that can be run upstream.
For example, if there were an i24 MVT, how would I test my target independent SDAG change that operates on all integer values? Currently, our answer to that question is "find a backend that uses it and test that". Without such a backend, it's hard for us to promise that this support will continue to work.
On Tue, Mar 10, 2015 at 3:12 AM, Tyro Software <softwaretyro at gmail.com> wrote:
Back in 2009 there was some discussion of the practicality of supporting char sizes greater than 8-bit:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-September/thread.html#6349
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/thread.html#26025
with the consensus seemingly being "quite doable, please get a good patch and submit".
However the current code appears (to my neophyte eyes) to be explicitly 8-bit, e.g. one instance called out in the mail thread remains:
/// isString - This method returns true if this is an array of i8.
bool ConstantDataSequential::isString() const {
return isa<ArrayType>(getType()) && getElementType()->isIntegerTy(8);
}
I didn't find anything related beyond this mail thread such as a discussion of a patch but of course I might be searching too narrowly - perhaps someone here can recall whether it went any further, whether insurmountable barriers do exist, etc?
Thanks for whatever advice & thread necromancy you can offer,
Tyro
_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list