contrib/beignet.git
11 years agoFixed build by adding LLVM library directory
bsegovia [Mon, 13 Aug 2012 14:52:52 +0000 (14:52 +0000)]
Fixed build by adding LLVM library directory
Removed unnecessary dependencies to LLVM for libcl.so

11 years agoBuild tests
Keith Packard [Fri, 10 Aug 2012 01:14:26 +0000 (18:14 -0700)]
Build tests

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoFix build order between backend and cl library
Keith Packard [Fri, 10 Aug 2012 00:50:07 +0000 (17:50 -0700)]
Fix build order between backend and cl library

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoBuild .so and .so.0 versions of libgbe
Keith Packard [Fri, 10 Aug 2012 00:41:36 +0000 (17:41 -0700)]
Build .so and .so.0 versions of libgbe

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoBuild backend before main library
Keith Packard [Thu, 12 Jul 2012 18:08:03 +0000 (11:08 -0700)]
Build backend before main library

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoCreate make-based build infrastructure
Keith Packard [Thu, 12 Jul 2012 17:50:28 +0000 (10:50 -0700)]
Create make-based build infrastructure

It's simple, but it works on linux at least.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoCreate make-based build infrastructure
Keith Packard [Thu, 12 Jul 2012 16:58:30 +0000 (09:58 -0700)]
Create make-based build infrastructure

Fairly simplistic, but does the job for Linux at least.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoRemoved unused file
Benjamin Segovia [Sun, 1 Jul 2012 20:44:41 +0000 (20:44 +0000)]
Removed unused file

11 years agoRemoved a test that does not pass yet
Benjamin Segovia [Sun, 1 Jul 2012 20:42:01 +0000 (20:42 +0000)]
Removed a test that does not pass yet

11 years agoCleaned up SLM code
Benjamin Segovia [Sun, 1 Jul 2012 19:50:16 +0000 (19:50 +0000)]
Cleaned up SLM code

Conflicts:
utests/CMakeLists.txt

11 years agoAdded missing file
Benjamin Segovia [Sun, 1 Jul 2012 19:25:48 +0000 (19:25 +0000)]
Added missing file

11 years agoUsed a hash map to handle OCL instrinsic functions
Benjamin Segovia [Sun, 1 Jul 2012 19:20:36 +0000 (19:20 +0000)]
Used a hash map to handle OCL instrinsic functions

11 years agoStarted to support __local and __constant
Benjamin Segovia [Mon, 25 Jun 2012 01:30:11 +0000 (01:30 +0000)]
Started to support __local and __constant

11 years agoStarted to play with __local and __constant declarations
Benjamin Segovia [Mon, 25 Jun 2012 01:29:35 +0000 (01:29 +0000)]
Started to play with __local and __constant declarations

11 years agoRemoved unused file
Benjamin Segovia [Tue, 19 Jun 2012 23:59:18 +0000 (23:59 +0000)]
Removed unused file

11 years agoUpdated and compiled README
Benjamin Segovia [Tue, 19 Jun 2012 21:53:26 +0000 (21:53 +0000)]
Updated and compiled README

11 years agoRecompiled the documentation
Benjamin Segovia [Tue, 19 Jun 2012 21:52:52 +0000 (21:52 +0000)]
Recompiled the documentation

11 years agoUpdated compiled README
Benjamin Segovia [Tue, 19 Jun 2012 21:50:14 +0000 (21:50 +0000)]
Updated compiled README

11 years agoMade errors explicit while loading kernels
Benjamin Segovia [Tue, 19 Jun 2012 21:43:02 +0000 (21:43 +0000)]
Made errors explicit while loading kernels

11 years agoFixed a typo in Release
Benjamin Segovia [Tue, 19 Jun 2012 21:36:09 +0000 (21:36 +0000)]
Fixed a typo in Release

11 years agoFix unitialized value in instruction selection
Benjamin Segovia [Tue, 19 Jun 2012 21:17:34 +0000 (21:17 +0000)]
Fix unitialized value in instruction selection

11 years agoFixed uninitialized values reported by valgrind
Benjamin Segovia [Tue, 19 Jun 2012 21:16:49 +0000 (21:16 +0000)]
Fixed uninitialized values reported by valgrind

11 years agoProperly added use of the custom allocators everywhere
Benjamin Segovia [Tue, 19 Jun 2012 20:43:20 +0000 (20:43 +0000)]
Properly added use of the custom allocators everywhere

11 years agoAdded more information in the README Checked memory leaks
Benjamin Segovia [Tue, 19 Jun 2012 20:39:39 +0000 (20:39 +0000)]
Added more information in the README Checked memory leaks

11 years agoAdded missing file while using the blob (TM)
Benjamin Segovia [Tue, 19 Jun 2012 19:56:21 +0000 (19:56 +0000)]
Added missing file while using the blob (TM)

11 years agoSpell-checked the documentation Added a TODO entry for uniform analysis and uniform...
Benjamin Segovia [Tue, 19 Jun 2012 00:21:29 +0000 (00:21 +0000)]
Spell-checked the documentation Added a TODO entry for uniform analysis and uniform loads and samples

11 years agoAdded more info on general plumbering to do
Benjamin Segovia [Mon, 18 Jun 2012 04:05:34 +0000 (04:05 +0000)]
Added more info on general plumbering to do

11 years agoAdded support for disassembling Gen ISA (instead of just using Fulsim...). It is...
Benjamin Segovia [Mon, 18 Jun 2012 03:54:26 +0000 (03:54 +0000)]
Added support for disassembling Gen ISA (instead of just using Fulsim...). It is quick and dirty since I copied files directly from Mesa (and therefore, I duplicated Gen structures and defines)

Added more stuff in the documentation.

11 years agoAdded more documentation
Benjamin Segovia [Sun, 17 Jun 2012 21:40:13 +0000 (21:40 +0000)]
Added more documentation

11 years agoStarted to clean up the headers
Benjamin Segovia [Thu, 14 Jun 2012 22:13:10 +0000 (22:13 +0000)]
Started to clean up the headers

11 years agoAdded missing files in the documentation
Benjamin Segovia [Wed, 13 Jun 2012 22:39:37 +0000 (22:39 +0000)]
Added missing files in the documentation

11 years agoAdded more stuff in the documentation (mostly on how the branching code is handled...
Benjamin Segovia [Wed, 13 Jun 2012 22:38:31 +0000 (22:38 +0000)]
Added more stuff in the documentation (mostly on how the branching code is handled in the compiler)

11 years agoImplemented the description of the flat address space implementation
Benjamin Segovia [Wed, 13 Jun 2012 19:37:19 +0000 (19:37 +0000)]
Implemented the description of the flat address space implementation

11 years agoAdded first documentation on flat address space Compiled markdown files
Benjamin Segovia [Wed, 13 Jun 2012 00:48:39 +0000 (00:48 +0000)]
Added first documentation on flat address space Compiled markdown files

11 years agoFixed README
Benjamin Segovia [Tue, 12 Jun 2012 21:51:44 +0000 (21:51 +0000)]
Fixed README

11 years agoAdded the markdown extension to the README file
Benjamin Segovia [Tue, 12 Jun 2012 21:50:53 +0000 (21:50 +0000)]
Added the markdown extension to the README file

11 years agoAdded the markdown extension to the README file
Benjamin Segovia [Tue, 12 Jun 2012 21:50:33 +0000 (21:50 +0000)]
Added the markdown extension to the README file

11 years agoFixed a exception safety issue in the LLVM to GenIR translation Added a markdown...
Benjamin Segovia [Tue, 12 Jun 2012 21:50:06 +0000 (21:50 +0000)]
Fixed a exception safety issue in the LLVM to GenIR translation Added a markdown readme file

11 years agoImproved markdown syntax for README
Benjamin Segovia [Tue, 12 Jun 2012 21:41:37 +0000 (21:41 +0000)]
Improved markdown syntax for README

11 years agoCleaned up the code to enable the blob compilation path
Benjamin Segovia [Tue, 12 Jun 2012 18:34:25 +0000 (18:34 +0000)]
Cleaned up the code to enable the blob compilation path

11 years agoCleaned up the code from previous unused dependencies Upate the README
Benjamin Segovia [Tue, 12 Jun 2012 18:33:23 +0000 (18:33 +0000)]
Cleaned up the code from previous unused dependencies Upate the README

11 years agos/gen_eu.*/gen_encoder.*/g
Benjamin Segovia [Tue, 12 Jun 2012 04:23:33 +0000 (04:23 +0000)]
s/gen_eu.*/gen_encoder.*/g

11 years agos/GenEmitter/GenEncoder/g
Benjamin Segovia [Tue, 12 Jun 2012 04:19:36 +0000 (04:19 +0000)]
s/GenEmitter/GenEncoder/g

11 years agoRemoved unused crap for the final encoding step
Benjamin Segovia [Tue, 12 Jun 2012 04:00:28 +0000 (04:00 +0000)]
Removed unused crap for the final encoding step

11 years agoRemoved even more kludge from previous register allocation
Benjamin Segovia [Tue, 12 Jun 2012 03:47:09 +0000 (03:47 +0000)]
Removed even more kludge from previous register allocation

11 years agoRemoved kludge from pre instruction selection era
Benjamin Segovia [Tue, 12 Jun 2012 03:38:25 +0000 (03:38 +0000)]
Removed kludge from pre instruction selection era

11 years agoRemoved kludge from previous register allocator
Benjamin Segovia [Tue, 12 Jun 2012 03:33:32 +0000 (03:33 +0000)]
Removed kludge from previous register allocator

11 years agoFirst working implementation of linear scan register allocator Spilling is still...
Benjamin Segovia [Tue, 12 Jun 2012 03:27:19 +0000 (03:27 +0000)]
First working implementation of linear scan register allocator Spilling is still TODO

11 years agoImplemented the first phase of the linear scan allocator
Benjamin Segovia [Tue, 12 Jun 2012 00:08:00 +0000 (00:08 +0000)]
Implemented the first phase of the linear scan allocator

11 years agoPlayed around for register allocation
Benjamin Segovia [Mon, 11 Jun 2012 19:47:53 +0000 (19:47 +0000)]
Played around for register allocation

11 years agoUsed first bits the register file memory allocator in the Gen register allocator
Benjamin Segovia [Mon, 11 Jun 2012 19:33:50 +0000 (19:33 +0000)]
Used first bits the register file memory allocator in the Gen register allocator

11 years agoImplemented the CURBE allocation with the register file allocator
Benjamin Segovia [Mon, 11 Jun 2012 17:17:41 +0000 (17:17 +0000)]
Implemented the CURBE allocation with the register file allocator

11 years agoStarted to implement proper allocation of curbe entries
Benjamin Segovia [Mon, 11 Jun 2012 16:34:02 +0000 (16:34 +0000)]
Started to implement proper allocation of curbe entries

11 years agoFixed the comment for block coalescing
Benjamin Segovia [Wed, 6 Jun 2012 21:41:07 +0000 (21:41 +0000)]
Fixed the comment for block coalescing

11 years agoStarted to implement the generic memory allocator used to register allocate the programs
Benjamin Segovia [Wed, 6 Jun 2012 21:37:39 +0000 (21:37 +0000)]
Started to implement the generic memory allocator used to register allocate the programs

11 years agoRemoved this selection tile crap. It was just a bad idea. Instead use a selection...
Benjamin Segovia [Wed, 6 Jun 2012 20:05:13 +0000 (20:05 +0000)]
Removed this selection tile crap. It was just a bad idea. Instead use a selection block that basically keeps track of the way basic blocks are encoding while performing the instruction selection

11 years agoFixed scalar register encoding for untyped reads and writes
Benjamin Segovia [Wed, 6 Jun 2012 19:29:41 +0000 (19:29 +0000)]
Fixed scalar register encoding for untyped reads and writes

11 years agoPlayed around for the new back end boilerplate
Benjamin Segovia [Tue, 5 Jun 2012 21:44:59 +0000 (21:44 +0000)]
Played around for the new back end boilerplate

11 years agoFixed various bug in the new boilerplate (selection / allocation / encoding)
Benjamin Segovia [Tue, 5 Jun 2012 21:44:25 +0000 (21:44 +0000)]
Fixed various bug in the new boilerplate (selection / allocation / encoding)

11 years agoSimplify the new emission code
Benjamin Segovia [Tue, 5 Jun 2012 00:21:19 +0000 (00:21 +0000)]
Simplify the new emission code

11 years agoFinished first implementation of the boiler plate code to separate instruction select...
Benjamin Segovia [Tue, 5 Jun 2012 00:07:51 +0000 (00:07 +0000)]
Finished first implementation of the boiler plate code to separate instruction selection from the rest (final encoding and register allocation). Neither debugged nor activated.

11 years agoAdded most of the boiler plate for the instruction selection and vector allocation...
Benjamin Segovia [Tue, 29 May 2012 02:53:18 +0000 (02:53 +0000)]
Added most of the boiler plate for the instruction selection and vector allocation (i.e. the registers that need to be contiguous are allocated together in vectors)

11 years agoPrepare the work for proper register allocation (i.e. after instruction selection)
Benjamin Segovia [Sun, 27 May 2012 22:45:30 +0000 (22:45 +0000)]
Prepare the work for proper register allocation (i.e. after instruction selection)

11 years agoMove the register allocation in a dedicated class
Benjamin Segovia [Sun, 27 May 2012 19:44:45 +0000 (19:44 +0000)]
Move the register allocation in a dedicated class

11 years agoImplemented first methods of the gen selection engine
Benjamin Segovia [Sun, 27 May 2012 16:58:49 +0000 (16:58 +0000)]
Implemented first methods of the gen selection engine

11 years agoFixed compilation
Benjamin Segovia [Tue, 22 May 2012 18:32:23 +0000 (18:32 +0000)]
Fixed compilation

11 years agoStarted to segment the final code generation into: - instruction selection phase...
Benjamin Segovia [Tue, 22 May 2012 18:30:53 +0000 (18:30 +0000)]
Started to segment the final code generation into: - instruction selection phase - register allocation - mov insertion - instruction scheduling - instrucition encoding

Started with the instruction selection engine

11 years agoNow booleans are encoded with 1 short instead of a vector of shorts.
Benjamin Segovia [Mon, 21 May 2012 17:41:37 +0000 (17:41 +0000)]
Now booleans are encoded with 1 short instead of a vector of shorts.

11 years agoFixed typo in the curbe load for SimContext
Benjamin Segovia [Mon, 21 May 2012 16:33:44 +0000 (16:33 +0000)]
Fixed typo in the curbe load for SimContext

11 years agoFixed compilation with gcc 4.7
Benjamin Segovia [Mon, 21 May 2012 14:52:57 +0000 (14:52 +0000)]
Fixed compilation with gcc 4.7

11 years agoAdded support for bool to int conversion (that uses a select)
Benjamin Segovia [Mon, 21 May 2012 04:00:06 +0000 (04:00 +0000)]
Added support for bool to int conversion (that uses a select)

11 years agoFixed a type in a range-based for loop
Benjamin Segovia [Mon, 21 May 2012 03:31:57 +0000 (03:31 +0000)]
Fixed a type in a range-based for loop

11 years agoMade a systematic of range-based for loops when it is possible
Benjamin Segovia [Mon, 21 May 2012 03:20:34 +0000 (03:20 +0000)]
Made a systematic of range-based for loops when it is possible

11 years agoReplace some C cast by C++ const_cast to make things a bit more pure and clearer...
Benjamin Segovia [Mon, 21 May 2012 02:38:53 +0000 (02:38 +0000)]
Replace some C cast by C++ const_cast to make things a bit more pure and clearer...

11 years agos/getInput/getArg/g (just to make things consistent with the previous related renaming)
Benjamin Segovia [Mon, 21 May 2012 02:32:27 +0000 (02:32 +0000)]
s/getInput/getArg/g (just to make things consistent with the previous related renaming)

11 years agoRemoved unused file
Benjamin Segovia [Mon, 21 May 2012 02:19:24 +0000 (02:19 +0000)]
Removed unused file

11 years agoAdded first support for structure kernel arguments (anything bigger than 4 bytes...
Benjamin Segovia [Mon, 21 May 2012 02:18:01 +0000 (02:18 +0000)]
Added first support for structure kernel arguments (anything bigger than 4 bytes). They work on c++ simulator and regular Gen backend

11 years agoAdded missing tests and kernels for structure arguments
Benjamin Segovia [Mon, 21 May 2012 02:15:58 +0000 (02:15 +0000)]
Added missing tests and kernels for structure arguments

11 years agoAdded first support for structure arguments (bigger than 4 bytes for 32 bit Gen)...
Benjamin Segovia [Mon, 21 May 2012 02:15:11 +0000 (02:15 +0000)]
Added first support for structure arguments (bigger than 4 bytes for 32 bit Gen) They work for both c++ simulator and Gen back-ends

11 years agoStarted constant_push handling Started to revamp the custom allocators
Benjamin Segovia [Sun, 20 May 2012 19:57:32 +0000 (19:57 +0000)]
Started constant_push handling Started to revamp the custom allocators

11 years agos/input/arg/g
Benjamin Segovia [Sun, 20 May 2012 17:44:17 +0000 (17:44 +0000)]
s/input/arg/g

11 years agos/FunctionInput/FunctionArgument/g
Benjamin Segovia [Sun, 20 May 2012 17:39:17 +0000 (17:39 +0000)]
s/FunctionInput/FunctionArgument/g

11 years agoProperly identified the three cases for the function argument
Benjamin Segovia [Sat, 19 May 2012 00:28:25 +0000 (00:28 +0000)]
Properly identified the three cases for the function argument

11 years agoFixed a bug in masked gathe for the simulator
Benjamin Segovia [Fri, 18 May 2012 23:50:31 +0000 (23:50 +0000)]
Fixed a bug in masked gathe for the simulator

11 years agoStarted to handle structure arguments
Benjamin Segovia [Thu, 17 May 2012 18:06:43 +0000 (18:06 +0000)]
Started to handle structure arguments

11 years agoAdded some first support for function arguments that are just values (int, short...
Benjamin Segovia [Thu, 17 May 2012 17:44:39 +0000 (17:44 +0000)]
Added some first support for function arguments that are just values (int, short, char and of course pointers)

11 years agoAdded more tests for function arguments
Benjamin Segovia [Thu, 17 May 2012 17:41:49 +0000 (17:41 +0000)]
Added more tests for function arguments

11 years agoAdded one more test for the arrays
Benjamin Segovia [Thu, 17 May 2012 15:31:32 +0000 (15:31 +0000)]
Added one more test for the arrays

11 years agoAdded proper support for stack in Gen backend
Benjamin Segovia [Thu, 17 May 2012 14:29:07 +0000 (14:29 +0000)]
Added proper support for stack in Gen backend

11 years agoAdded missing lowering files
Benjamin Segovia [Wed, 16 May 2012 19:23:45 +0000 (19:23 +0000)]
Added missing lowering files

11 years agoAdded first support for stack Only c++ simulator can handle it right now
Benjamin Segovia [Wed, 16 May 2012 19:23:13 +0000 (19:23 +0000)]
Added first support for stack Only c++ simulator can handle it right now

11 years agoAdded first test for stack handling
Benjamin Segovia [Wed, 16 May 2012 19:22:05 +0000 (19:22 +0000)]
Added first test for stack handling

11 years agoAdded support for lowering of return instruction
Benjamin Segovia [Mon, 14 May 2012 18:24:59 +0000 (18:24 +0000)]
Added support for lowering of return instruction

11 years agoAdded tests for return instruction lowering
Benjamin Segovia [Mon, 14 May 2012 18:24:39 +0000 (18:24 +0000)]
Added tests for return instruction lowering

11 years agoMade mandelbrot pass in the C++ simulator Made (actually) all tests pass in the C...
Benjamin Segovia [Mon, 14 May 2012 02:37:38 +0000 (02:37 +0000)]
Made mandelbrot pass in the C++ simulator Made (actually) all tests pass in the C++ simulator

11 years agoAdded support for byte registers in the simulator Added byte scatters / gathers in...
Benjamin Segovia [Mon, 14 May 2012 02:36:38 +0000 (02:36 +0000)]
Added support for byte registers in the simulator Added byte scatters / gathers in the simulator Added conversion instructions in the simulator

11 years agoAdded support for loads and stores of uint2/3/4
Benjamin Segovia [Sun, 13 May 2012 17:58:26 +0000 (17:58 +0000)]
Added support for loads and stores of uint2/3/4

11 years agoAdded tests for uint2/3/4 loads / stores and unaligned versions of them
Benjamin Segovia [Sun, 13 May 2012 17:57:02 +0000 (17:57 +0000)]
Added tests for uint2/3/4 loads / stores and unaligned versions of them

11 years agoMade Mandelbrot work on Fulsim (SIMD8 only right now)
Benjamin Segovia [Fri, 11 May 2012 19:35:31 +0000 (19:35 +0000)]
Made Mandelbrot work on Fulsim (SIMD8 only right now)

11 years agoFixed FP division
Benjamin Segovia [Fri, 11 May 2012 19:34:44 +0000 (19:34 +0000)]
Fixed FP division