Displaying 20 results from an estimated 36 matches for "getinstructions".
Did you mean:
getinstruction
2018 Apr 03
0
Problems using LLVM as a disassembler.
Hi,
I have been trying to use LLVM as a disassembler, thus providing a
small part of my decompiler that I am working on.
It currently decompiles from X86_64 binary.o -> LLVM IR.
It works with a small set of test programs so far, so cannot currently
handle large binary programs yet.
The problem is with the LLVM "getInstruction()" method.
It used to have a PC (program counter)
2011 Oct 13
0
[LLVMdev] llvm-objdump related patch
On Wed, Oct 12, 2011 at 3:17 AM, Songmao <smtian at ingenic.cn> wrote:
> Michael,
> I have rework the patch according to your suggestion. And I have read
> binutil/objdump source code and found that it has a logic that if there's no
> symtab, it will use dynsym, which is missing in llvm-objdump.
>
> Songmao
>
@@ -747,12 +747,28 @@ error_code
2007 Jan 13
1
[LLVMdev] Value* as used by the non-JITted interpreter
Hi all,
I've now got my LLVM-based model checker more or less working, but I'm
seeing something a bit strange happening.
As you may remember, I started with the lli code and extended it
considerably. I have retained something that looks vaguely like the
original ExecutionContext stack, though I now have one stack per thread,
and the whole data structure is implemented with custom
2011 Oct 12
2
[LLVMdev] llvm-objdump related patch
Michael,
I have rework the patch according to your suggestion. And I have
read binutil/objdump source code and found that it has a logic that if
there's no symtab, it will use dynsym, which is missing in llvm-objdump.
Songmao
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fix-the-address-calculation-for-llvm-objdump.patch
Type: text/x-patch
2014 Nov 03
2
[LLVMdev] Mips's MicroMips ??
Hello Daniel,
At the moment we are preparing the patch for disassembling microMIPS 16 bit instructions and it will be on Phabricator tomorrow or on Wednesday.
Functionality is implemented in MipsDisassembler::getInstruction where first two bytes are read and decodeInstruction is called with DecoderTableMicroMips16 and only if it fails we read 4 bytes and call decodeInstruction with
2012 Jan 05
1
[LLVMdev] Non-Chain Chains
Following up on my call schedule posting from yesterday, I am now trying
to add edges from the call to the instruction before it.
This seemed easiest to do in SelectionDAGBuilder but it is troublesome.
A couple of questions:
- How do I get the previous instruction that was translated?
prior(CS.getInstruction()) in visitCall returns something invalid.
When I try to call getValue on the
2012 Apr 01
1
[LLVMdev] Create Instruction
Hi!
I've have Instruction in my code:
...
%call6 = call i32 %9(%class.A* %call3, i32 2)
...
And I want to get something like this:
...
%11 = icmp eq i32 (%class.D*, i32)* %10, @_ZThn4_N1D1xEi
br i1 %11, label %12, label %14
; <label>:12 ; preds = %7
%13 = bitcast %class.A* %call3 to %class.D*
%call64 = call i32
2012 May 04
0
[LLVMdev] Getting Metadata
Hi.
I have strange case:
This is a code for getting metadata from callsite:
....
CallSite CS(cast<Value>(I->first));
SmallVector<std::pair<unsigned int, MDNode*> , 4> MD;
CS.getInstruction()->getAllMetadata(MD);
CS.getInstruction()->dump();
for (SmallVector<std::pair<unsigned int, MDNode*> , 4>::iterator md = MD.begin(); md!=MD.end(); md++)
2011 Dec 19
2
[LLVMdev] Disassembly arbitrary machine-code byte arrays
Hi,
My apologies if this appears to be a very trivial question -- I have
tried to solve this on my own and I am stuck. Any assistance that
could be provided would be immensely appreciated.
What is the absolute bare minimum that I need to do to disassemble an
array of, say, ARM machine code bytes? Or an array of Thumb machine
code bytes? For example, I might have an array of unsigned chars --
how
2012 Jan 03
1
[LLVMdev] AliasAnalysis and memory dependency
i am sorry,
i get this error:
opt: /home/llvm/src/include/llvm/Support/CallSite.h:87: ValTy*
llvm::CallSiteBase<FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy,
IterTy>::getCalledValue() const [with FunTy = const llvm::Function, ValTy =
const llvm::Value, UserTy = const llvm::User, InstrTy = const
llvm::Instruction, CallTy = const llvm::CallInst, InvokeTy = const
llvm::InvokeInst, IterTy =
2011 Aug 12
1
[LLVMdev] New ARM disassembler - unpredictable instructions
Hi James,
On Aug 12, 2011, at 1:02 AM, James Molloy wrote:
> I’ve got a load of examples for this, but I’ll pick one.
>
> echo '0xB0 0x00 0x00 0x00' |/work/llvm-cmake2/build/bin/llvm-mc -arch arm --disassemble –
> strheq r0, [r0], -r0
>
> This instruction encoding is marked UNPREDICTABLE. The question is: does a disassembly of it have value? One use case put
2012 Dec 18
2
[LLVMdev] Issue with instruction decoding / disassembly
I'm currently trying to get llvm-mc --disassemble working for the XCore backend. Up until recently there was no instruction encoding / decoding information on any of the XCore instructions so Im incrementally adding this information at the same time as adding tests for the disassembler. However I've run into a problem and I'm not sure of the best way to solve it. With some of the
2013 Dec 16
3
[LLVMdev] [RFC] Iterrative compilation framework for Clang/LLVM
This is a first step towards to full iterative compilation framework for
Clang/LLVM. The attached patch is work in progress and the idea of sending
it to the list earlier rather than later is to open up a discussion on
iterative compilation in Clang/LLVM. All comments are welcome, especially
those related to integration of the framework into Clang/LLVM.
Current compilers have pipeline structure
2013 Dec 18
4
[LLVMdev] [RFC] Iterrative compilation framework for Clang/LLVM
Hal,
Thank you for finding interest in our work!
Please find my answers inlined below.
>
> ________________________________________
> From: Hal Finkel [hfinkel at anl.gov]
> Sent: Monday, December 16, 2013 4:26 PM
> To: Radovan Obradovic
> Cc: llvmdev at cs.uiuc.edu; chandlerc; Andrew Trick
> Subject: Re: [LLVMdev] [RFC] Iterrative compilation framework for Clang/LLVM
>
2011 Dec 19
0
[LLVMdev] Disassembly arbitrary machine-code byte arrays
Hi Aiden,
The easiest thing I can do is to point you to the source of the "llvm-mc" tool, which does exactly what you ask in its "-disassemble" mode. The code is rather small, so it should be easy to work out.
tools/llvm-mc
Cheers,
James
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Aidan Steele
Sent:
2012 Dec 18
0
[LLVMdev] Issue with instruction decoding / disassembly
Owen,
As I recall, we had some similar issues with custom decoders needing to cooperate on ARM. Do you remember the details?
-Jim
On Dec 18, 2012, at 2:37 AM, Richard Osborne <richard at xmos.com> wrote:
> I'm currently trying to get llvm-mc --disassemble working for the XCore backend. Up until recently there was no instruction encoding / decoding information on any of the XCore
2013 Dec 17
0
[LLVMdev] [RFC] Iterrative compilation framework for Clang/LLVM
Radovan,
Thanks for posting this! I would really like to have this kind of functionality available. There are a lot of things to think through here; comments inline...
----- Original Message -----
> From: "Radovan Obradovic" <Radovan.Obradovic at imgtec.com>
> To: llvmdev at cs.uiuc.edu
> Sent: Monday, December 16, 2013 11:31:21 AM
> Subject: [LLVMdev] [RFC]
2013 Dec 19
0
[LLVMdev] [RFC] Iterrative compilation framework for Clang/LLVM
Hi Radovan,
I am also interested in the iterative compilation in LLVM, and had
implemented a simple iterative compilation driver.
I guess you do not need to embedded the pointer
to ModuleDecisionTreeProxies into the core classes of llvm, i.e. the
PassManager class and the Function class.
Instead, you could:
1. Implement a special pass manager that runs a set of passes iteratively.
Implementing
2011 Dec 19
3
[LLVMdev] Disassembly arbitrary machine-code byte arrays
Hi Aiden,
The 'C' based interface you could use in is llvm/include/llvm-c/Disassembler.h, which in there is:
/**
* Disassemble a single instruction using the disassembler context specified in
* the parameter DC. The bytes of the instruction are specified in the
* parameter Bytes, and contains at least BytesSize number of bytes. The
* instruction is at the address specified by the
2012 Jan 03
0
[LLVMdev] AliasAnalysis and memory dependency
Hi neda 8664,
> I want to find memory dependency between CallInst instruction and other. So i
> used the following code:
>
>
>
> / AliasAnalysis &AA=getAnalysis<AliasAnalysis>();/
>
> /*if* (isa< StoreInst >(inst1)){ /
>
> // // /*if* (isa<CallInst>(inst2)) / /{/
>
> / CallInst *call_inst2= dyn_cast<CallInst>(inst2); /