summaryrefslogtreecommitdiffstats
path: root/compiler/sea_ir/code_gen.h
Commit message (Collapse)AuthorAgeFilesLines
* Refactored SEA IR folder structure to be more logical.Dragos Sbirlea2013-08-071-157/+0
| | | | Change-Id: I302c79af92c07cceb38dff36efe416bfa4869a91
* SEA IR type handling complete for fibonacci.Dragos Sbirlea2013-08-071-1/+4
| | | | | | | | | | | | types.h: Encapsulated types map into separate class. code_gen.*, visitor.h: Added visitor function for unnamed constants to enable correct .dot display and type handling. type_inference_visitor.cc: Propagated types through phi functions, invoke, add-int instructions. Added SEA IR type merging functions. Change-Id: I0fb1c4d40e3af43dc295133a826ce125a787cc33
* Generation of dot files through visitor.Added type info to .dot.Dragos Sbirlea2013-08-051-1/+1
| | | | | | | | | | | | | visitor.h: Fixed formatting. type_inference.cc: Changed GetSSAConsumers() to return pointer. sea_node.h, sea.cc: Removed ToDot classes functions. instruction_nodes.h: Added acessor for SSA producers. Marked GetUses() as const. sea.h: Marked fields as const. frontend.cc: Changed .dot generation code. code_gen.h: Fixed include to have full path. Change-Id: Ia84371c171c4537d9cf2f56644baa075f1706df1
* Added SEA IR type infrastructure (and a bit of cleanup).Dragos Sbirlea2013-08-011-0/+1
| | | | | | | | | | | | | | | | compiler/Android.mk: Added new files to compile. instruction_nodes.h, code_gen.cc: Renamed GetSSAUses to GetSSAProducers to avoid confusion (uses of what?). sea.cc: Added invoke of type inference framework. sea.h: Expose dex_file through GetDexFile(). Added GetPositionInSIgnature() for SignatureNodes. sea.cc: Cleanup of debug output. visitor.h: Removed dependence on LLVM (now only in code_gen.*). Corrected minor typo in comment. frontend.cc: Renamed access_flags for clarity. Change-Id: I211d2e9ff1e0c4f910de73a52a5ac2c50e4ca7df
* Fix cpplint whitespace/comments issuesBrian Carlstrom2013-07-261-4/+4
| | | | Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
* Added code generation framework.Dragos Sbirlea2013-07-221-0/+153
visitors.h: Contains only IR visitor declarations for now. code_gen.h: Code generation vistor declaration (needs llvm). code_gen.cc:Code generation visitor implementation (needs llvm). instruction_nodes.h: Classes for each type of instruction; this enables the visitor to visit each instruction differently and corresponds to the sea of nodes paper. sea_node.h : Moved base Sea IR Node to this separate header. Replaced NO_REGISTER with enum (including RETURN_REGISTER) sea.cc: Addded code generation call. Set parent region for SignatureNodes. Propagate method and class ids in IR generation routine. Create InstructionNode subclasses. *.mk: Updated to support the new files. Fixed some pre-existing formatting. instruction_tools.h: Fixed double-define of NO_REGISTER to refer to the new enum. dex_instruction.cc: Added support for one more instruction in HasRegXX and VRegXX functions. Change-Id: I7c78f603e41df7bf9da5b77951b8485dd1b49200