| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.
There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.
The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.
I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).
I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.
llvm-svn: 171366
|
|
|
|
|
|
| |
AttributeSet accessor method.
llvm-svn: 171256
|
|
|
|
|
|
| |
single attribute in the future.
llvm-svn: 170502
|
|
|
|
| |
llvm-svn: 170379
|
|
|
|
|
|
| |
checks are in place. Some minor cleanup as well.
llvm-svn: 170360
|
|
|
|
|
|
|
|
|
| |
TargetLowering::getRegClassFor).
Some isSimple() guards were missing, or getSimpleVT() were hoisted too
far, resulting in asserts on valid LLVM assembly input.
llvm-svn: 170336
|
|
|
|
|
|
|
|
|
|
|
|
| |
Accordingly, add helper funtions getSimpleValueType (in parallel to
getValueType) in SDValue, SDNode, and TargetLowering.
This is the first, in a series of patches.
This is the second attempt. In the first attempt (r169837), a few
getSimpleVT() were hoisted too far, detected by bootstrap failures.
llvm-svn: 170104
|
|
|
|
| |
llvm-svn: 169854
|
|
|
|
|
|
|
|
|
| |
Accordingly, add helper funtions getSimpleValueType (in parallel to
getValueType) in SDValue, SDNode, and TargetLowering.
This is the first, in a series of patches.
llvm-svn: 169837
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This shouldn't affect codegen for -O0 compiles as tail call markers are not
emitted in unoptimized compiles. Testing with the external/internal nightly
test suite reveals no change in compile time performance. Testing with -O1,
-O2 and -O3 with fast-isel enabled did not cause any compile-time or
execution-time failures. All tests were performed on my x86 machine.
I'll monitor our arm testers to ensure no regressions occur there.
In an upcoming clang patch I will be marking the objc_autoreleaseReturnValue
and objc_retainAutoreleaseReturnValue as tail calls unconditionally. While
it's theoretically true that this is just an optimization, it's an
optimization that we very much want to happen even at -O0, or else ARC
applications become substantially harder to debug.
Part of rdar://12553082
llvm-svn: 169796
|
|
|
|
|
|
| |
rdar://12821569
llvm-svn: 169460
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
llvm-svn: 169131
|
|
|
|
|
|
|
|
|
| |
classes. The vast majority of the remaining issues are due to uses of
invalid registers, which are defined by getRegForValue(). Those will be
a little more challenging to cleanup.
rdar://12719844
llvm-svn: 168735
|
|
|
|
|
|
|
| |
classes.
rdar://12719844
llvm-svn: 168733
|
|
|
|
|
|
|
| |
classes. Also a bit of cleanup.
rdar://12719844
llvm-svn: 168728
|
|
|
|
|
|
|
|
| |
classes. The associated test case still doesn't pass, but it does have far
fewer issues.
rdar://12719844
llvm-svn: 168657
|
|
|
|
| |
llvm-svn: 167622
|
|
|
|
|
|
| |
rdar://12340498
llvm-svn: 167620
|
|
|
|
|
|
|
| |
classes. For my test case the number of errors drop from 356 to 21.
Part of rdar://12594152
llvm-svn: 167508
|
|
|
|
|
|
|
|
|
|
| |
basic block.
The CFG of the machine function needs to know that the targets of the indirect
branch are successors to the indirect branch.
<rdar://problem/12529625>
llvm-svn: 166448
|
|
|
|
| |
llvm-svn: 165550
|
|
|
|
| |
llvm-svn: 165402
|
|
|
|
|
|
| |
enums. This allows for better encapsulation of the Attributes class.
llvm-svn: 165132
|
|
|
|
|
|
| |
See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767
llvm-svn: 164768
|
|
|
|
| |
llvm-svn: 164767
|
|
|
|
|
|
|
| |
This is a preliminary step towards ELF support; currently ARMFastISel hasn't
been used for ELF object files yet.
llvm-svn: 164759
|
|
|
|
|
|
|
| |
non-aligned i32 loads/stores.
rdar://12304911
llvm-svn: 164381
|
|
|
|
|
|
|
| |
non-halfword-aligned i16 loads/stores.
rdar://12304911
llvm-svn: 164345
|
|
|
|
| |
llvm-svn: 163309
|
|
|
|
| |
llvm-svn: 162823
|
|
|
|
|
|
|
|
|
| |
The ARM BL and BLX instructions don't have predicate operands, but the
thumb variants tBL and tBLX do.
The argument registers should be added as implicit uses.
llvm-svn: 162593
|
|
|
|
|
|
| |
class, but the base class methods aren't virtual so it just increased call overhead.
llvm-svn: 162178
|
|
|
|
|
|
|
|
| |
Without fastcc support, the caller just falls through to CallingConv::C
for fastcc, but callee still uses fastcc, this inconsistency of calling
convention is a problem, and fastcc support can fix it.
llvm-svn: 162013
|
|
|
|
|
|
|
|
|
|
| |
Fast isel doesn't currently have support for translating builtin function
calls to target instructions. For embedded environments where the library
functions are not available, this is a matter of correctness and not
just optimization. Most of this patch is just arranging to make the
TargetLibraryInfo available in fast isel. <rdar://problem/12008746>
llvm-svn: 161232
|
|
|
|
| |
llvm-svn: 161230
|
|
|
|
|
|
|
|
| |
but somehow managed to be dropped later.
Patch by Karel Gardas.
llvm-svn: 161226
|
|
|
|
| |
llvm-svn: 160500
|
|
|
|
|
|
| |
It broke LLVM :: CodeGen/Thumb2/large-call.ll on several hosts.
llvm-svn: 159817
|
|
|
|
| |
llvm-svn: 159804
|
|
|
|
| |
llvm-svn: 158443
|
|
|
|
|
|
| |
Patch by Jush Lu <jush.msn@gmail.com>.
llvm-svn: 158368
|
|
|
|
|
|
|
|
|
| |
We turned off the CMN instruction because it had semantics which we weren't
getting correct. If we are comparing with an immediate, then it's okay to use
the CMN instruction.
<rdar://problem/7569620>
llvm-svn: 158302
|
|
|
|
|
|
| |
then DestReg is undefined.
llvm-svn: 157840
|
|
|
|
|
|
| |
Patch by Jush Lu <jush.msn@gmail.com>.
llvm-svn: 157696
|
|
|
|
|
|
| |
Patch by Jush Lu <jush.msn@gmail.com>.
llvm-svn: 157336
|
|
|
|
| |
llvm-svn: 156646
|
|
|
|
|
|
| |
Minor cleanup.
llvm-svn: 156632
|
|
|
|
|
|
|
|
| |
retval. Hoists check before emitting the call to avoid unnecessary work.
rdar://11430407
PR12796
llvm-svn: 156628
|
|
|
|
|
|
|
|
| |
to selection DAG isel if we're unable to handle a non-double multi-reg retval.
rdar://11430407
PR12796
llvm-svn: 156622
|
|
|
|
| |
llvm-svn: 156621
|