[LLVMdev] MC-JIT
Eli Friedman
eli.friedman at gmail.com
Tue Jul 20 14:09:34 PDT 2010
On Tue, Jul 20, 2010 at 1:36 PM, Olivier Meurant
<meurant.olivier at gmail.com> wrote:
>> Seems reasonable, but I haven't looked at the code yet. I would
>> suggest trying to split your work up into separate patches which
>> implement incremental pieces of functionality, then submitting them to
>> llvm-commits for review. That is much easier for us to deal with than
>> large monolithic patches out of tree.
>
> Ok. Sorry for the too big patch. Attached is the first patch adding
> only 2 hooks on TargetMachine and on MCAssembler. Style should be LLVM
> compliant. Apply it with "patch -p0".
+ // Make sure the code model is set.
+ setCodeModelForStatic();
For the JIT, this should be setCodeModelForJIT; it makes a difference
on, for example, x86-64. I'd also suggest changing the name of the
method appropriately.
- llvm::OwningPtr<MCObjectWriter> Writer(getBackend().createObjectWriter(OS));
- if (!Writer)
- report_fatal_error("unable to create object writer!");
+ MCObjectWriter *Writer = Writer_;
+ if (Writer == 0) {
+ Writer = getBackend().createObjectWriter(OS);
+ if (!Writer)
+ report_fatal_error("unable to create object writer!");
+ }
It would be cleaner if you kept around the OwningPtr, but only
assigned to it in the case where the writer take ownership; that way,
you wouldn't have to mess with explicitly deleting the writer. Also,
the surrounding code uses two spaces for indentation, not four.
I think it looks fine otherwise.
-Eli
More information about the llvm-dev
mailing list