| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
it comes back, it will be largely a rewrite, so keeping the old codebase
in tree isn't helping anyone.
llvm-svn: 116190
|
|
|
|
|
|
| |
of a std::vector.
llvm-svn: 109597
|
|
|
|
| |
llvm-svn: 100601
|
|
|
|
| |
llvm-svn: 94746
|
|
|
|
| |
llvm-svn: 84195
|
|
|
|
|
|
| |
PIC16Section class", it breaks globals.ll.
llvm-svn: 84184
|
|
|
|
|
|
| |
derived from MCSection.
llvm-svn: 84180
|
|
|
|
| |
llvm-svn: 79888
|
|
|
|
| |
llvm-svn: 79690
|
|
|
|
| |
llvm-svn: 79685
|
|
|
|
|
|
|
| |
leaf functions. This pass will be extended to color other nodes of the call tree
as well in future.
llvm-svn: 79631
|
|
|
|
|
|
|
|
|
| |
Clone functions that are shared between the Main thread and Interrupt thread.
CallSites are changed in AsmPrinter currently. A better solution would have been to modify the legalizer (SoftenFloat) to allow targets to change the name of libcalls for float operations. But that currently breaks other targets.
Also, cloing of automatic variables is done AsmPrinter, a better approach would
be to use the ValueMap in CloneFunction itself.
llvm-svn: 79562
|
|
|
|
| |
llvm-svn: 77667
|
|
|
|
|
|
| |
declaration for them.
llvm-svn: 77578
|
|
|
|
|
|
| |
- Less boilerplate == good.
llvm-svn: 77052
|
|
|
|
| |
llvm-svn: 76344
|
|
|
|
|
|
| |
- Switch to standard addAssemblyEmitter logic.
llvm-svn: 75854
|
|
|
|
|
|
| |
dynamic_cast<>.
llvm-svn: 75670
|
|
|
|
|
|
|
|
|
| |
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640
|
|
|
|
|
|
|
|
|
| |
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 74819
|
|
|
|
| |
llvm-svn: 74778
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
comparisons.
llvm-svn: 72771
|
|
|
|
|
|
| |
just emit a comment for readability.
llvm-svn: 71544
|
|
|
|
|
|
|
| |
compiler libcalls start with .lib. now.
fixed section names.
llvm-svn: 71424
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 71386
|
|
|
|
|
|
| |
build under gcc 4.3.
llvm-svn: 71208
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 71207
|
|
|
|
|
|
|
| |
Split large global data (both initialized and un-initialized) into multiple sections of <= 80 bytes.
Provide routines to manage PIC16 ABI naming conventions.
llvm-svn: 71073
|
|
|
|
|
|
|
| |
which better identifies what the optimization is doing. And is more flexible for
future uses.
llvm-svn: 70440
|
|
|
|
|
|
|
|
|
|
|
|
| |
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.
llvm-svn: 70343
|
|
|
|
| |
llvm-svn: 70275
|
|
|
|
|
|
|
|
|
|
|
| |
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'm not 100% sure if it's necessary to change it there...
llvm-svn: 70270
|
|
|
|
|
|
| |
default to verbose.
llvm-svn: 67668
|
|
|
|
|
|
|
|
|
|
|
|
| |
them are generic changes.
- Use the "fast" flag that's already being passed into the asm printers instead
of shoving it into the DwarfWriter.
- Instead of calling "MI->getParent()->getParent()" for every MI, set the
machine function when calling "runOnMachineFunction" in the asm printers.
llvm-svn: 65379
|
|
|
|
|
|
| |
Also a few signed comparison fixes.
llvm-svn: 62665
|
|
|
|
| |
llvm-svn: 62174
|
|
|
|
| |
llvm-svn: 61715
|
|
|
|
|
|
| |
ExpandIntegerOperand (LegalizeIntegerTypes.cpp) is needed which is yet to be reworked and submitted.
llvm-svn: 59617
|
|
|
|
| |
llvm-svn: 55092
|
|
|
|
| |
llvm-svn: 51094
|
|
A brief description about PIC16:
===============================
PIC16 is an 8-bit microcontroller with only one 8-bit register which is the
accumulator. All arithmetic/load/store operations are 8-bit only.
The architecture has two address spaces: program and data. The program memory
is divided into 2K pages and the data memory is divided into banks of 128 byte, with only 80 usable bytes, resulting in an non-contiguous data memory.
It supports direct data memory access (by specifying the address as part of the instruction) and indirect data and program memory access (in an unorthodox fashion which utilize a 16 bit pointer register).
Two classes of registers exist: (8-bit class which is only one
accumulator) (16-bit class, which contains one or more 16 bit
pointer(s))
llvm-svn: 51027
|