| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 78070
|
|
|
|
|
|
| |
MCSection subclasses yet, but this is a step in the right direction.
llvm-svn: 77708
|
|
|
|
| |
llvm-svn: 77667
|
|
|
|
| |
llvm-svn: 77516
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 77179
|
|
|
|
|
|
| |
It wasn't caught during tests because we never got a sub generated, (i8 was always getting promoted to int, which in turn was broken into subc/sube). Though the optimizer leaves an i8 sub now.
llvm-svn: 77178
|
|
|
|
|
|
|
|
| |
be useful, and it's currently unused. (Some issues: it isn't actually
rich enough to capture the semantics on many architectures, and
semantics can vary depending on the type being shifted.)
llvm-svn: 76633
|
|
|
|
|
|
| |
markings that show up in test/CodeGen/Generic.
llvm-svn: 76160
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75153
|
|
|
|
|
|
| |
Also remove trailing semicolon.
llvm-svn: 75027
|
|
|
|
|
|
|
|
| |
memory.
The change in the .td file is to mark the side effects of mov insn.
llvm-svn: 74768
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 74187
|
|
|
|
|
|
| |
enough. movwi and moviw allow value of 5-bits only (i.e. 32).
llvm-svn: 73953
|
|
|
|
| |
llvm-svn: 73491
|
|
|
|
| |
llvm-svn: 73194
|
|
|
|
| |
llvm-svn: 72942
|
|
|
|
| |
llvm-svn: 72866
|
|
|
|
| |
llvm-svn: 72861
|
|
|
|
|
|
| |
that puts a new warning in).
llvm-svn: 72797
|
|
|
|
|
|
|
| |
Expand it exactly like GlobalAddress.
Fix some more crashes (InsertBranch() not being implemented) for compiling hitec libs.
llvm-svn: 72776
|
|
|
|
|
|
| |
comparisons.
llvm-svn: 72771
|
|
|
|
| |
llvm-svn: 72706
|
|
|
|
| |
llvm-svn: 72604
|
|
|
|
|
|
| |
in 72447.
llvm-svn: 72521
|
|
|
|
|
|
|
| |
compiler libcalls start with .lib. now.
fixed section names.
llvm-svn: 71424
|
|
|
|
| |
llvm-svn: 71386
|
|
|
|
|
|
| |
indirect function calls, and set pclath before every call to retrieve the frame address.
llvm-svn: 71323
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 70366
|
|
|
|
| |
llvm-svn: 70300
|
|
|
|
|
|
| |
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: 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
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 67373
|
|
|
|
|
|
| |
Removed unncessary code. No functionality change.
llvm-svn: 67371
|
|
|
|
| |
llvm-svn: 64432
|