summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16
Commit message (Collapse)AuthorAgeFilesLines
...
* Mark sublw_cc and subfw_cc as Terminator insns so that they are part of the ↵Sanjiv Gupta2009-07-081-2/+4
| | | | | | terminator insns for a basic block alongwith branch insns. This way a copy is not getting inserted between cmp and branch during PHIElimination disturbing the status flags. llvm-svn: 74992
* Avoid directly relying on llvm.dbg.compile_unit and llvm.dbg.global_variables.Devang Patel2009-07-061-27/+29
| | | | | | PIC16 developers, please verify. Thanks. llvm-svn: 74880
* Add FIXMEs.Devang Patel2009-07-061-0/+3
| | | | llvm-svn: 74879
* pic16 doesn't have a Data64bitsDirective. Set it NULL explicitly to tell the ↵Sanjiv Gupta2009-07-061-0/+1
| | | | | | generic code to not pick the default. llvm-svn: 74839
* pic16 isn't ready to handle llvm.metadata yet.Sanjiv Gupta2009-07-061-0/+2
| | | | llvm-svn: 74838
* Implement _CONFIG macro to allow users to se to configuration settings on ↵Sanjiv Gupta2009-07-064-26/+233
| | | | | | | | | | | the part. Implement _section macro to allow users to place objects in specific sections. Implement _address macro to allow users to place objects at a particular address. Placing objects at a memory address: crate a unique section name from varname, address, object type and put that section at specified address. Mark this section a full (size = banksize) so that other objects do not compete for it while placing objects to sections in AsmPrinter. llvm-svn: 74822
* Corrected the names description. Change in a comment. No functionality change.Sanjiv Gupta2009-07-061-1/+1
| | | | llvm-svn: 74819
* Silence a warning when assertions are turned off.Duncan Sands2009-07-031-0/+1
| | | | llvm-svn: 74778
* For extended loads of type i1 to i8, we will need to at least one byte from ↵Sanjiv Gupta2009-07-032-2/+6
| | | | | | | | memory. The change in the .td file is to mark the side effects of mov insn. llvm-svn: 74768
* Add NumFixedArgs attribute to CallSDNode which indicates the number of fixed ↵Tilmann Scheller2009-07-031-2/+3
| | | | | | | | | | | arguments in a vararg call. With the SVR4 ABI on PowerPC, vector arguments for vararg calls are passed differently depending on whether they are a fixed or a variable argument. Variable vector arguments always go into memory, fixed vector arguments are put into vector registers. If there are no free vector registers available, fixed vector arguments are put on the stack. The NumFixedArgs attribute allows to decide for an argument in a vararg call whether it belongs to the fixed or variable portion of the parameter list. llvm-svn: 74764
* Update comments to make it clear that the function alignment is the Log2 of theBill Wendling2009-07-011-1/+1
| | | | | | bytes and not bytes. llvm-svn: 74624
* Remove unused AsmPrinter OptLevel argument, and propogate.Daniel Dunbar2009-07-014-10/+7
| | | | | | | - This more or less amounts to a revert of r65379. I'm curious to know what happened that caused this variable to become unused. llvm-svn: 74579
* Add an "alignment" field to the MachineFunction object. It makes more sense toBill Wendling2009-06-301-0/+5
| | | | | | | | | | have the alignment be calculated up front, and have the back-ends obey whatever alignment is decided upon. This allows for future work that would allow for precise no-op placement and the like. llvm-svn: 74564
* Fix may-be-used-uninitialized warning.Daniel Dunbar2009-06-261-1/+1
| | | | llvm-svn: 74253
* Added floating point conditional operations support via libcalls.Sanjiv Gupta2009-06-251-0/+29
| | | | llvm-svn: 74187
* Identify unconditional gotos and generate a page sel instructions before them.Sanjiv Gupta2009-06-251-4/+6
| | | | llvm-svn: 74172
* Provide InitializeAllTargets and InitializeNativeTarget functions in theBob Wilson2009-06-231-4/+2
| | | | | | | | C bindings. Change all the backend "Initialize" functions to have C linkage. Change the "llvm/Config/Targets.def" header to use C-style comments to avoid compile warnings. llvm-svn: 74026
* Fold the add (ptr, offset) into ptr[offset] only if the offset is small ↵Sanjiv Gupta2009-06-231-2/+4
| | | | | | enough. movwi and moviw allow value of 5-bits only (i.e. 32). llvm-svn: 73953
* mv CodeGen/DebugLoc.h Support/DebugLoc.hDevang Patel2009-06-191-1/+1
| | | | llvm-svn: 73786
* Introduce new headers whose inclusion forces linking andDouglas Gregor2009-06-161-0/+5
| | | | | | | | | initialization of all targets (InitializeAllTargets.h) or assembler printers (InitializeAllAsmPrinters.h). This is a step toward the elimination of relinked object files, so that we can build normal archives. llvm-svn: 73543
* Added missing libcalls for floating point to int conversions.Sanjiv Gupta2009-06-161-7/+59
| | | | llvm-svn: 73491
* Code Restructuring. No functionality change.Sanjiv Gupta2009-06-164-188/+352
| | | | llvm-svn: 73481
* The subprogram descriptor for a function may be missing (llvm-ld linking two ↵Sanjiv Gupta2009-06-133-78/+134
| | | | | | | | | static functions with same name), so pick up the compilation unit for the function from the first valid debug loc of its instructions. This patch also emits debug info for structure (aggregate types in general) types. llvm-svn: 73295
* Generate libcalls for floating point arithmetic and casting operations.Sanjiv Gupta2009-06-111-1/+22
| | | | llvm-svn: 73194
* More formatting.Sanjiv Gupta2009-06-111-3/+13
| | | | llvm-svn: 73185
* Fixed source comments. No functionality change.Sanjiv Gupta2009-06-111-5/+15
| | | | llvm-svn: 73184
* PIC16 emits auto variables as globals. When optimizer removes a function ↵Sanjiv Gupta2009-06-093-1/+40
| | | | | | entierly by estimating its side effects on globals, those globals(autos) without a function were not being printed by the Asm printer. llvm-svn: 73135
* Lower i16/i32 sdiv/udiv/srem/urem using libcalls.Sanjiv Gupta2009-06-051-0/+24
| | | | llvm-svn: 72942
* Remove unused code.Sanjiv Gupta2009-06-041-10/+0
| | | | llvm-svn: 72866
* Custom lower SUB with two register operands.Sanjiv Gupta2009-06-041-0/+1
| | | | llvm-svn: 72861
* Make the buildbot see green (to make it easier to spot the next personMike Stump2009-06-031-1/+2
| | | | | | that puts a new warning in). llvm-svn: 72797
* Emit file directives correctly in case of a .bc is generated by llvm-ld ↵Sanjiv Gupta2009-06-033-11/+34
| | | | | | after linking in several .bc files. llvm-svn: 72781
* FrameIndex could be used as a value (addressof (arg)) or as an address.Sanjiv Gupta2009-06-034-6/+62
| | | | | | | Expand it exactly like GlobalAddress. Fix some more crashes (InsertBranch() not being implemented) for compiling hitec libs. llvm-svn: 72776
* Fixed a bug in which signed comparisons were being used instead of unsigned ↵Sanjiv Gupta2009-06-032-2/+4
| | | | | | comparisons. llvm-svn: 72771
* Comment grammaro/clarification.Dale Johannesen2009-06-011-2/+2
| | | | llvm-svn: 72706
* Untabification.Bill Wendling2009-05-302-2/+2
| | | | llvm-svn: 72604
* Emit debug info for locals with proper scope.Sanjiv Gupta2009-05-285-70/+195
| | | | llvm-svn: 72531
* Mark the branch insns correctly.Sanjiv Gupta2009-05-281-1/+2
| | | | llvm-svn: 72529
* Fixing problems that got exposed after the refactoring of LegalizeDAG done ↵Sanjiv Gupta2009-05-281-4/+2
| | | | | | in 72447. llvm-svn: 72521
* Propagate CPU string out of SubtargetFeaturesAnton Korobeynikov2009-05-231-1/+2
| | | | llvm-svn: 72335
* CMake: Use libpthread in tblgen when needed. Updated list of sourceOscar Fuentes2009-05-221-0/+1
| | | | | | files for PIC16 target. llvm-svn: 72277
* Emit debug information for globals (which include automatic variables as ↵Sanjiv Gupta2009-05-224-0/+282
| | | | | | well because on PIC16 they are emitted as globals by the frontend). llvm-svn: 72262
* Change MachineInstrBuilder::addReg() to take a flag instead of a list ofBill Wendling2009-05-131-2/+2
| | | | | | | | | | | | booleans. This gives a better indication of what the "addReg()" is doing. Remembering what all of those booleans mean isn't easy, especially if you aren't spending all of your time in that code. I took Jakob's suggestion and made it illegal to pass in "true" for the flag. This should hopefully prevent any unintended misuse of this (by reverting to the old way of using addReg()). llvm-svn: 71722
* Run through the list of globals once and sectionize all types of globlas ↵Sanjiv Gupta2009-05-134-38/+72
| | | | | | includeing declarations. Later emit them from their section lists. llvm-svn: 71661
* Iterate over globals once and sectionize them into appropriate sections.Sanjiv Gupta2009-05-124-78/+111
| | | | | | | Later in asmprinter, go over thsese sections and print them. Do not print empty sections. llvm-svn: 71560
* We do not need to create a label for external defs and decls,Sanjiv Gupta2009-05-122-17/+4
| | | | | | just emit a comment for readability. llvm-svn: 71544
* Mark mayLoad, mayStore for insns correctly and use themSanjiv Gupta2009-05-123-24/+14
| | | | | | to check if an insn is accessing memory during mem sel optimization. llvm-svn: 71537
* Fix more naming issues.Sanjiv Gupta2009-05-114-30/+69
| | | | | | | compiler libcalls start with .lib. now. fixed section names. llvm-svn: 71424
* Detect calls to compiler intrinsics and emit an extern declarations Sanjiv Gupta2009-05-114-10/+43
| | | | | | | | | | | only for those. These extern declarations to intrinsics are currently being emitted at the bottom of generated .s file, which works fine with gpasm(not sure about MPSAM though). PIC16 linker generates errors for few cases (function-args/struct_args_5) if you do not include any extern declarations (even if no intrinsics are being used), but that needs to be fixed in the linker itself. llvm-svn: 71423
* Module iterator contains list of filescope functions as well, we don't need ↵Sanjiv Gupta2009-05-101-2/+2
| | | | | | to emit and global declarations for them. This was working earlier and was broken during one of the recent commit for PIC16 naming. llvm-svn: 71394
OpenPOWER on IntegriCloud