| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 71386
|
|
|
|
|
|
|
| |
will make it more obvious what it represents, and stop
it being confused with the StoreSize.
llvm-svn: 71349
|
|
|
|
|
|
| |
indirect function calls, and set pclath before every call to retrieve the frame address.
llvm-svn: 71323
|
|
|
|
|
|
| |
build under gcc 4.3.
llvm-svn: 71208
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 71207
|
|
|
|
| |
llvm-svn: 71149
|
|
|
|
| |
llvm-svn: 71115
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 70366
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 70300
|
|
|
|
| |
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
|
|
|
|
|
|
| |
an insn from beginnin to find out the banksel operand.
llvm-svn: 69883
|
|
|
|
|
|
| |
The address of data frame for function can be obtained by subtracting 2 from the function begin label.
llvm-svn: 69801
|
|
|
|
| |
llvm-svn: 69665
|
|
|
|
| |
llvm-svn: 69624
|
|
|
|
| |
llvm-svn: 69605
|
|
|
|
| |
llvm-svn: 69022
|
|
|
|
|
|
| |
getting passed. We couldn't catch this as we did not have tests that were passing an int value larger than 256.
llvm-svn: 68946
|
|
|
|
| |
llvm-svn: 68783
|
|
|
|
|
|
| |
different results for different type of insns. This will eventually need to be changed but currently let us prevent the crash in cases of incorrect detection of banksel operand.
llvm-svn: 68713
|
|
|
|
|
|
| |
fixed to start after return value.
llvm-svn: 68705
|
|
|
|
|
|
| |
custom lowering an ADD to ADDC.
llvm-svn: 68671
|
|
|
|
|
|
| |
by the MachineInstr itself, rather than by custom handling the DBG_STOPPOINT nodes.
llvm-svn: 68602
|
|
|
|
|
|
|
| |
Every function has the address of its frame in the beginning of code section.
The frame address is retrieved and used to pass arguments.
llvm-svn: 68597
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 68333
|
|
|
|
|
|
| |
to have access to the line number field. So we convert that info as an operand by custom handling DBG_STOPPOINT in legalize.
llvm-svn: 68329
|
|
|
|
|
|
| |
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: 67373
|
|
|
|
|
|
| |
Removed unncessary code. No functionality change.
llvm-svn: 67371
|
|
|
|
| |
llvm-svn: 66763
|
|
|
|
|
|
| |
symbols in one section will always be put into one bank.
llvm-svn: 66761
|
|
|
|
| |
llvm-svn: 66540
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
everyone.
llvm-svn: 64978
|
|
|
|
| |
llvm-svn: 64432
|
|
|
|
| |
llvm-svn: 64342
|
|
|
|
|
|
| |
source code to know the reason. Anything having .auto. in its name is local to a function in nature irrespective of the linkage specified. print static local variables in module level IDATA section.
llvm-svn: 64199
|
|
|
|
|
|
| |
ScheduleDAG's TLI member to use const.
llvm-svn: 64018
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many targets build placeholder nodes for special operands, e.g.
GlobalBaseReg on X86 and PPC for the PIC base. There's no
sensible way to associate debug info with these. I've left
them built with getNode calls with explicit DebugLoc::getUnknownLoc operands.
I'm not too happy about this but don't see a good improvement;
I considered adding a getPseudoOperand or something, but it
seems to me that'll just make it harder to read.
llvm-svn: 63992
|
|
|
|
|
|
|
|
| |
getCALLSEQ_{END,START} to permit passing no DebugLoc
there. UNDEF doesn't logically have DebugLoc; add
getUNDEF to encapsulate this.
llvm-svn: 63978
|
|
|
|
| |
llvm-svn: 63969
|
|
|
|
| |
llvm-svn: 63943
|
|
|
|
|
|
|
| |
its corresponding getTargetNode. Lots of
caller changes.
llvm-svn: 63904
|
|
|
|
| |
llvm-svn: 63808
|
|
|
|
| |
llvm-svn: 63800
|