aboutsummaryrefslogtreecommitdiffstats
path: root/qv4isel_llvm.cpp
Commit message (Collapse)AuthorAgeFilesLines
* More compilation fixes.Erik Verbruggen2012-12-181-0/+5
| | | | | Change-Id: I5940e0b1e72c06420ae95ff3adfd78572888c886 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add some debugging infrastructure to the interpreter.Erik Verbruggen2012-11-291-0/+1
| | | | | | | | | This currently mainly intended to be useful in a C++ debugger. The infrastructure makes it a lot easier to access (parent) contexts, find function names, etc. Change-Id: I0493d3a3bd4bf5c3a03379c1a2b545ed76862cd5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Changed the interpreter and compiler backends to move consts.Erik Verbruggen2012-11-141-12/+12
| | | | | | | See https://codereview.qt-project.org/39510 for details. Change-Id: I308364cd7d66ad2fd12e6ab7e185882fe8d1795e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Added more built-ins to the llvm backend and runtime.Erik Verbruggen2012-11-141-8/+37
| | | | | Change-Id: I7c63395bc80ce8d37d04f1102b02220a54050d06 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Added different output types to LLVM backend to ease debugging.Erik Verbruggen2012-11-141-30/+63
| | | | | | | | While in that area of code, also throw in the pass-managers for some extra optimisations during compilation. Change-Id: I1239ab9d21fc50b2e65c2f9d77a03ae593b607bc Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Changed the LLVM backend to also support the LLVM JIT.Erik Verbruggen2012-11-121-86/+154
| | | | | | | This is useful for quick LLVM codegen testing. Change-Id: I45778371375b903e154222c47b15411d08085ae5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix LLVM backend compilation.Erik Verbruggen2012-10-241-1/+3
| | | | | Change-Id: I326cf2531a600fd09b888e9955052b29624ccdbe Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Proper exception handlingLars Knoll2012-10-241-7/+0
| | | | | | | | | | | Implement exceptions using setjmp/longjmp. The advantage is that this removes all exception handling overhead from regular code, the only code that still has a (very small) overhead is the try{} catch() {} statement. Change-Id: I43d6a60dfc9dfd4b7a20d2e99ab0a9315b4d8a2f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* More LLVM code generation. This should complete the expressions.Erik Verbruggen2012-10-221-70/+69
| | | | | Change-Id: Ic920ceb85cab38093b565acd1c14aeddf20d0bb3 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix: implement missing virtual method.Erik Verbruggen2012-10-221-0/+8
| | | | | Change-Id: Iec6a70155ff2343dafa2116fa54740e891539c61 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Added LLVM code generation for in-place operators.Erik Verbruggen2012-10-191-25/+146
| | | | | | | E.g. +=, <<=, etc. Change-Id: Iffd5eac413e3c3714fedbab58415d9dc4ba42fa6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Moved LLVM specific code out of main.cpp.Erik Verbruggen2012-10-181-8/+110
| | | | | Change-Id: I16c79667625d5034acb91cec13c22ed58b74984f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix LLVM code generation to call the right methods.Erik Verbruggen2012-10-181-3/+3
| | | | | Change-Id: Ia63342d2808ca2e3cdd5b19e94054786cc34c495 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add missing license headersSimon Hausmann2012-10-121-0/+40
| | | | | Change-Id: I59d602a0f2c1fefb03994ed32a3d697b176791ff Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix LLVM code generation for unary expressionsRoberto Raggi2012-06-071-4/+4
|
* Generate LLVM code for constructor callsRoberto Raggi2012-06-071-21/+63
|
* Delete propertiesRoberto Raggi2012-06-071-0/+34
|
* Generate LLVM code for the `this-expression'.Roberto Raggi2012-06-061-3/+9
|
* Initial work on exceptions for the AOT compiler.Roberto Raggi2012-06-061-19/+54
|
* Generate code for closures.Roberto Raggi2012-06-061-6/+54
|
* Warn about unimplement assignments.Roberto Raggi2012-06-061-3/+10
|
* Lower IR::Name nodes.Roberto Raggi2012-06-061-6/+46
|
* Generate LLVM code for MoveMemberRoberto Raggi2012-06-061-21/+16
|
* Lower subscriptsRoberto Raggi2012-06-061-2/+38
|
* Lower IR::Call and IR::NewRoberto Raggi2012-06-061-30/+84
|
* Generate LLVM code for member expressionsRoberto Raggi2012-06-061-6/+20
|
* Compile simple IR::New nodesRoberto Raggi2012-06-061-2/+39
|
* Move the Alloca instructions at the beginning of the function.Roberto Raggi2012-06-061-8/+24
|
* Fix the return value of calls.Roberto Raggi2012-06-061-2/+7
|
* Fix code generation for IR::Call nodes.Roberto Raggi2012-06-051-8/+11
|
* Start generating LLVM code for IR::Call nodes.Roberto Raggi2012-06-051-2/+32
|
* LLVM code for unary expressionsRoberto Raggi2012-06-051-2/+25
|
* Generate LLVM code for the binary expressionsRoberto Raggi2012-06-051-3/+54
|
* Generate LLVM code for the conditional jumps.Roberto Raggi2012-06-051-5/+15
|
* Some more work on the LLVM-based AOT compiler.Roberto Raggi2012-06-051-28/+88
|
* Initial work on the LLVM-based AOT compiler.Roberto Raggi2012-05-311-0/+232