| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 78917
|
|
|
|
| |
llvm-svn: 78848
|
|
|
|
|
|
| |
error condition get trapped with an assert.
llvm-svn: 78449
|
|
|
|
|
|
| |
creating them directly in the pic16 asmprinter.
llvm-svn: 78317
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it is highly specific to the object file that will be generated in the end,
this introduces a new TargetLoweringObjectFile interface that is implemented
for each of ELF/MachO/COFF/Alpha/PIC16 and XCore.
Though still is still a brutal and ugly refactoring, this is a major step
towards goodness.
This patch also:
1. fixes a bunch of dangling pointer problems in the PIC16 backend.
2. disables the TargetLowering copy ctor which PIC16 was accidentally using.
3. gets us closer to xcore having its own crazy target section flags and
pic16 not having to shadow sections with its own objects.
4. fixes wierdness where ELF targets would set CStringSection but not
CStringSection_. Factor the code better.
5. fixes some bugs in string lowering on ELF targets.
llvm-svn: 77294
|
|
|
|
|
|
|
| |
and call PrintGlobalVariable, allowing elimination and simplification
of various targets.
llvm-svn: 76604
|
|
|
|
|
|
| |
- Switch to standard addAssemblyEmitter logic.
llvm-svn: 75854
|
|
|
|
|
|
| |
dynamic_cast<>.
llvm-svn: 75670
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 73481
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 72531
|
|
|
|
|
|
| |
well because on PIC16 they are emitted as globals by the frontend).
llvm-svn: 72262
|
|
|
|
|
|
| |
includeing declarations. Later emit them from their section lists.
llvm-svn: 71661
|
|
|
|
|
|
|
| |
Later in asmprinter, go over thsese sections and print them.
Do not print empty sections.
llvm-svn: 71560
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 69605
|
|
|
|
|
|
| |
accessed based on an external symbol defining the location of temporary data for a function. For example: we have spill slots addressed as foo.tmp + 0, foo.tmp + 1 etc.
llvm-svn: 68442
|
|
|
|
|
|
| |
onto the callee's stack directly and the callee loads the argvals from its own stack. Clang generated frameindexes validatd by recalculating the stack as if all frameindexes represent 1-byte slots.
llvm-svn: 68327
|
|
|
|
|
|
| |
default to verbose.
llvm-svn: 67668
|
|
|
|
| |
llvm-svn: 66763
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
APIs emitting constants now take an additional parameter signifying the address space in which to emit. The APIs like getData8BitsDirective() etc are made virtual enabling targets to be able to define appropirate directivers for various sizes and address spaces.
llvm-svn: 63377
|
|
|
|
| |
llvm-svn: 62174
|
|
|
|
|
|
| |
Custom lower AND, OR, XOR bitwise operations.
llvm-svn: 60098
|
|
llvm-svn: 59623
|