Displaying 6 results from an estimated 6 matches for "constantpoolcount".
Did you mean:
constantpoolcounter
2013 Nov 12
2
[LLVMdev] Implementing the ldr pseudo instruction in ARM integrated assembler
...onstantPool {
+ MCSymbol *Label;
+ typedef std::vector<const MCExpr*> EntryVecTy;
Use a SmallVector here?
+ MCSymbol *getLabel() {return Label;}
+ size_t getNumEntries() {return Entries.size();}
+ const MCExpr *getEntry(size_t Num) {return Entries[Num];}
These can be const.
+ int64_t ConstantPoolCounter;
This can be unsigned.
+ case AsmToken::Equal: {
+ const MCSection *Section =
getParser().getStreamer().getCurrentSection().first;
+ assert(Section);
We should probably check here that the mnemonic is actually 'ldr', e.g. see
the AsmToken::Identifier case.
+@ RUN: clang -target a...
2013 Nov 12
0
[LLVMdev] Implementing the ldr pseudo instruction in ARM integrated assembler
...std::vector<const MCExpr*> EntryVecTy;
>
> Use a SmallVector here?
>
> + MCSymbol *getLabel() {return Label;}
> + size_t getNumEntries() {return Entries.size();} const MCExpr
> + *getEntry(size_t Num) {return Entries[Num];}
> These can be const.
>
> + int64_t ConstantPoolCounter;
> This can be unsigned.
>
> + case AsmToken::Equal: {
> + const MCSection *Section =
> getParser().getStreamer().getCurrentSection().first;
> + assert(Section);
> We should probably check here that the mnemonic is actually 'ldr', e.g.
> see the AsmToken::I...
2013 Nov 16
2
[LLVMdev] Implementing the ldr pseudo instruction in ARM integrated assembler
...y;
> >
> > Use a SmallVector here?
> >
> > + MCSymbol *getLabel() {return Label;} size_t getNumEntries()
> > + {return Entries.size();} const MCExpr *getEntry(size_t Num) {return
> > + Entries[Num];}
> > These can be const.
> >
> > + int64_t ConstantPoolCounter;
> > This can be unsigned.
> >
> > + case AsmToken::Equal: {
> > + const MCSection *Section =
> > getParser().getStreamer().getCurrentSection().first;
> > + assert(Section);
> > We should probably check here that the mnemonic is actually 'ldr...
2013 Nov 11
0
[LLVMdev] Implementing the ldr pseudo instruction in ARM integrated assembler
I have attached an initial patch that implements the ldr pseudo. It still
needs some clean up and more tests, but I would like some feedback on the
approach I used and if there are any objections to implementing it this way.
Here is my approach:
Add a finishParse() callback to the target asm parser
This callback is invoked when the parse has finished
successfully. It will be used to write out
2013 Dec 17
0
[LLVMdev] Implementing the ldr pseudo instruction in ARM integrated assembler
...s to be grouped together explicitly by section and then a nested loop over those sections instead. As-is, won’t this potentially cause lots of switching back and forth between sections at the end of assembly?
+ MCSymbol *Label =
+ getContext().GetOrCreateSymbol("$cp." + Twine(ConstantPoolCounter++));
As previously mentioned, this sort of label name isn’t portable. Whether ‘$’ is legal isn’t guaranteed, and there’s no assembler-local label prefix.
+ ConstantPoolMapTy::iterator Cp = ConstantPools.find(Section);
Minor detail in various places in the code. Acronyms should be capitalize...
2013 Nov 01
8
[LLVMdev] Implementing the ldr pseudo instruction in ARM integrated assembler
In an earlier email[1] I proposed adding support for the ldr
pseud-instruction to the ARM integrated assembler. After some discussion the
overall consensus seemed to be that it was worth adding. One concern was
that we needed to have adequate testing. I promised to provide more details
on what the behavior should be and provide some tests before starting the
implementation. The FileCheck-ified