Benjamin Segovia [Sun, 1 Jul 2012 19:25:48 +0000 (19:25 +0000)]
Added missing file
Benjamin Segovia [Sun, 1 Jul 2012 19:20:36 +0000 (19:20 +0000)]
Used a hash map to handle OCL instrinsic functions
Benjamin Segovia [Mon, 25 Jun 2012 01:30:11 +0000 (01:30 +0000)]
Started to support __local and __constant
Benjamin Segovia [Mon, 25 Jun 2012 01:29:35 +0000 (01:29 +0000)]
Started to play with __local and __constant declarations
Benjamin Segovia [Tue, 19 Jun 2012 23:59:18 +0000 (23:59 +0000)]
Removed unused file
Benjamin Segovia [Tue, 19 Jun 2012 21:53:26 +0000 (21:53 +0000)]
Updated and compiled README
Benjamin Segovia [Tue, 19 Jun 2012 21:52:52 +0000 (21:52 +0000)]
Recompiled the documentation
Benjamin Segovia [Tue, 19 Jun 2012 21:50:14 +0000 (21:50 +0000)]
Updated compiled README
Benjamin Segovia [Tue, 19 Jun 2012 21:43:02 +0000 (21:43 +0000)]
Made errors explicit while loading kernels
Benjamin Segovia [Tue, 19 Jun 2012 21:36:09 +0000 (21:36 +0000)]
Fixed a typo in Release
Benjamin Segovia [Tue, 19 Jun 2012 21:17:34 +0000 (21:17 +0000)]
Fix unitialized value in instruction selection
Benjamin Segovia [Tue, 19 Jun 2012 21:16:49 +0000 (21:16 +0000)]
Fixed uninitialized values reported by valgrind
Benjamin Segovia [Tue, 19 Jun 2012 20:43:20 +0000 (20:43 +0000)]
Properly added use of the custom allocators everywhere
Benjamin Segovia [Tue, 19 Jun 2012 20:39:39 +0000 (20:39 +0000)]
Added more information in the README Checked memory leaks
Benjamin Segovia [Tue, 19 Jun 2012 19:56:21 +0000 (19:56 +0000)]
Added missing file while using the blob (TM)
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
Benjamin Segovia [Mon, 18 Jun 2012 04:05:34 +0000 (04:05 +0000)]
Added more info on general plumbering to do
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.
Benjamin Segovia [Sun, 17 Jun 2012 21:40:13 +0000 (21:40 +0000)]
Added more documentation
Benjamin Segovia [Thu, 14 Jun 2012 22:13:10 +0000 (22:13 +0000)]
Started to clean up the headers
Benjamin Segovia [Wed, 13 Jun 2012 22:39:37 +0000 (22:39 +0000)]
Added missing files in the documentation
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)
Benjamin Segovia [Wed, 13 Jun 2012 19:37:19 +0000 (19:37 +0000)]
Implemented the description of the flat address space implementation
Benjamin Segovia [Wed, 13 Jun 2012 00:48:39 +0000 (00:48 +0000)]
Added first documentation on flat address space Compiled markdown files
Benjamin Segovia [Tue, 12 Jun 2012 21:51:44 +0000 (21:51 +0000)]
Fixed README
Benjamin Segovia [Tue, 12 Jun 2012 21:50:53 +0000 (21:50 +0000)]
Added 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
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
Benjamin Segovia [Tue, 12 Jun 2012 21:41:37 +0000 (21:41 +0000)]
Improved markdown syntax for README
Benjamin Segovia [Tue, 12 Jun 2012 18:34:25 +0000 (18:34 +0000)]
Cleaned up the code to enable the blob compilation path
Benjamin Segovia [Tue, 12 Jun 2012 18:33:23 +0000 (18:33 +0000)]
Cleaned up the code from previous unused dependencies Upate the README
Benjamin Segovia [Tue, 12 Jun 2012 04:23:33 +0000 (04:23 +0000)]
s/gen_eu.*/gen_encoder.*/g
Benjamin Segovia [Tue, 12 Jun 2012 04:19:36 +0000 (04:19 +0000)]
s/GenEmitter/GenEncoder/g
Benjamin Segovia [Tue, 12 Jun 2012 04:00:28 +0000 (04:00 +0000)]
Removed unused crap for the final encoding step
Benjamin Segovia [Tue, 12 Jun 2012 03:47:09 +0000 (03:47 +0000)]
Removed even more kludge from previous register allocation
Benjamin Segovia [Tue, 12 Jun 2012 03:38:25 +0000 (03:38 +0000)]
Removed kludge from pre instruction selection era
Benjamin Segovia [Tue, 12 Jun 2012 03:33:32 +0000 (03:33 +0000)]
Removed kludge from previous register allocator
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
Benjamin Segovia [Tue, 12 Jun 2012 00:08:00 +0000 (00:08 +0000)]
Implemented the first phase of the linear scan allocator
Benjamin Segovia [Mon, 11 Jun 2012 19:47:53 +0000 (19:47 +0000)]
Played around for register allocation
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
Benjamin Segovia [Mon, 11 Jun 2012 17:17:41 +0000 (17:17 +0000)]
Implemented the CURBE allocation with the register file allocator
Benjamin Segovia [Mon, 11 Jun 2012 16:34:02 +0000 (16:34 +0000)]
Started to implement proper allocation of curbe entries
Benjamin Segovia [Wed, 6 Jun 2012 21:41:07 +0000 (21:41 +0000)]
Fixed the comment for block coalescing
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
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
Benjamin Segovia [Wed, 6 Jun 2012 19:29:41 +0000 (19:29 +0000)]
Fixed scalar register encoding for untyped reads and writes
Benjamin Segovia [Tue, 5 Jun 2012 21:44:59 +0000 (21:44 +0000)]
Played around for the new back end boilerplate
Benjamin Segovia [Tue, 5 Jun 2012 21:44:25 +0000 (21:44 +0000)]
Fixed various bug in the new boilerplate (selection / allocation / encoding)
Benjamin Segovia [Tue, 5 Jun 2012 00:21:19 +0000 (00:21 +0000)]
Simplify the new emission code
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.
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)
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)
Benjamin Segovia [Sun, 27 May 2012 19:44:45 +0000 (19:44 +0000)]
Move the register allocation in a dedicated class
Benjamin Segovia [Sun, 27 May 2012 16:58:49 +0000 (16:58 +0000)]
Implemented first methods of the gen selection engine
Benjamin Segovia [Tue, 22 May 2012 18:32:23 +0000 (18:32 +0000)]
Fixed compilation
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
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.
Benjamin Segovia [Mon, 21 May 2012 16:33:44 +0000 (16:33 +0000)]
Fixed typo in the curbe load for SimContext
Benjamin Segovia [Mon, 21 May 2012 14:52:57 +0000 (14:52 +0000)]
Fixed compilation with gcc 4.7
Benjamin Segovia [Mon, 21 May 2012 04:00:06 +0000 (04:00 +0000)]
Added support for bool to int conversion (that uses a select)
Benjamin Segovia [Mon, 21 May 2012 03:31:57 +0000 (03:31 +0000)]
Fixed a type in a range-based for loop
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
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...
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)
Benjamin Segovia [Mon, 21 May 2012 02:19:24 +0000 (02:19 +0000)]
Removed unused file
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
Benjamin Segovia [Mon, 21 May 2012 02:15:58 +0000 (02:15 +0000)]
Added missing tests and kernels for structure arguments
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
Benjamin Segovia [Sun, 20 May 2012 19:57:32 +0000 (19:57 +0000)]
Started constant_push handling Started to revamp the custom allocators
Benjamin Segovia [Sun, 20 May 2012 17:44:17 +0000 (17:44 +0000)]
s/input/arg/g
Benjamin Segovia [Sun, 20 May 2012 17:39:17 +0000 (17:39 +0000)]
s/FunctionInput/FunctionArgument/g
Benjamin Segovia [Sat, 19 May 2012 00:28:25 +0000 (00:28 +0000)]
Properly identified the three cases for the function argument
Benjamin Segovia [Fri, 18 May 2012 23:50:31 +0000 (23:50 +0000)]
Fixed a bug in masked gathe for the simulator
Benjamin Segovia [Thu, 17 May 2012 18:06:43 +0000 (18:06 +0000)]
Started to handle structure arguments
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)
Benjamin Segovia [Thu, 17 May 2012 17:41:49 +0000 (17:41 +0000)]
Added more tests for function arguments
Benjamin Segovia [Thu, 17 May 2012 15:31:32 +0000 (15:31 +0000)]
Added one more test for the arrays
Benjamin Segovia [Thu, 17 May 2012 14:29:07 +0000 (14:29 +0000)]
Added proper support for stack in Gen backend
Benjamin Segovia [Wed, 16 May 2012 19:23:45 +0000 (19:23 +0000)]
Added missing lowering files
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
Benjamin Segovia [Wed, 16 May 2012 19:22:05 +0000 (19:22 +0000)]
Added first test for stack handling
Benjamin Segovia [Mon, 14 May 2012 18:24:59 +0000 (18:24 +0000)]
Added support for lowering of return instruction
Benjamin Segovia [Mon, 14 May 2012 18:24:39 +0000 (18:24 +0000)]
Added tests for return instruction lowering
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
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
Benjamin Segovia [Sun, 13 May 2012 17:58:26 +0000 (17:58 +0000)]
Added support for loads and stores of uint2/3/4
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
Benjamin Segovia [Fri, 11 May 2012 19:35:31 +0000 (19:35 +0000)]
Made Mandelbrot work on Fulsim (SIMD8 only right now)
Benjamin Segovia [Fri, 11 May 2012 19:34:44 +0000 (19:34 +0000)]
Fixed FP division
Benjamin Segovia [Fri, 11 May 2012 18:03:15 +0000 (18:03 +0000)]
Added load immediates of bytes and shorts
Benjamin Segovia [Fri, 11 May 2012 18:03:02 +0000 (18:03 +0000)]
Added tests for load immediates of bytes and shorts
Benjamin Segovia [Fri, 11 May 2012 17:50:38 +0000 (17:50 +0000)]
Added tests for shorts and bytes operations
Benjamin Segovia [Fri, 11 May 2012 17:25:07 +0000 (17:25 +0000)]
Simplified a lot the encoding and the back end. Added support for bytes
Benjamin Segovia [Fri, 11 May 2012 17:24:24 +0000 (17:24 +0000)]
Activated all the tests. Byte conversion now works fine
Benjamin Segovia [Thu, 10 May 2012 20:09:32 +0000 (20:09 +0000)]
Fixed this damn fucking relocation bug!
Benjamin Segovia [Wed, 9 May 2012 13:18:26 +0000 (13:18 +0000)]
Fixed a bug while providing local IDs in the CURBE
Benjamin Segovia [Wed, 9 May 2012 13:15:13 +0000 (13:15 +0000)]
Added first test for byte scatter reads / writes
Benjamin Segovia [Wed, 9 May 2012 12:49:05 +0000 (12:49 +0000)]
Reencode a new surface state to make fulsim happy while using byte scattered reads and writes with flat address space
Benjamin Segovia [Wed, 9 May 2012 12:45:00 +0000 (12:45 +0000)]
Played around with byte scatters / gathers