| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 159089
|
| |
|
|
| |
llvm-svn: 159088
|
| |
|
|
|
|
| |
change because there are no patterns in the instructions. Also fix a typo in a comment.
llvm-svn: 159087
|
| |
|
|
|
|
| |
the SSE2 section of the file.
llvm-svn: 159086
|
| |
|
|
|
|
| |
id <Protocol>. // rdar://11618852
llvm-svn: 159084
|
| |
|
|
| |
llvm-svn: 159083
|
| |
|
|
| |
llvm-svn: 159082
|
| |
|
|
|
|
| |
<sidneym@codeaurora.org>
llvm-svn: 159081
|
| |
|
|
|
|
| |
Not all targets support __thread variables.
llvm-svn: 159080
|
| |
|
|
|
|
|
| |
Remove temporary GlobalVariable constructors now that Clang has been
updated (r159078).
llvm-svn: 159079
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for the tls_model attribute. This allows the user to
choose a TLS model that is better than what LLVM would select by
default. For example, a variable might be declared as:
__thread int x __attribute__((tls_model("initial-exec")));
if it will not be used in a shared library that is dlopen'ed.
This depends on LLVM r159077.
llvm-svn: 159078
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the user/front-end to specify a model that is better
than what LLVM would choose by default. For example, a variable
might be declared as
@x = thread_local(initialexec) global i32 42
if it will not be used in a shared library that is dlopen'ed.
If the specified model isn't supported by the target, or if LLVM can
make a better choice, a different model may be used.
llvm-svn: 159077
|
| |
|
|
|
|
|
|
| |
Local.cpp, Execution.cpp and BitcodeWriter.cpp.
I got about 1% of compile-time improvement on my machines (Ubuntu 11.10 i386 and Ubuntu 12.04 x64).
llvm-svn: 159076
|
| |
|
|
| |
llvm-svn: 159075
|
| |
|
|
| |
llvm-svn: 159074
|
| |
|
|
| |
llvm-svn: 159073
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
attributes in more places where we didn't and catching a lot more issues.
This implements nearly every aspect of C++11 attribute parsing, except for:
- Attributes are permitted on explicit instantiations inside the declarator
(but not preceding the decl-spec)
- Attributes are permitted on friend declarations of functions.
- Multiple instances of the same attribute in an attribute-list (e.g.
[[noreturn, noreturn]], not [[noreturn]] [[noreturn]] which is conforming)
are allowed.
The first two are marked as expected-FIXME in the test file and the latter
is probably a defect and is currently untested.
Thanks to Richard Smith for providing the lion's share of the testcases.
llvm-svn: 159072
|
| |
|
|
| |
llvm-svn: 159071
|
| |
|
|
|
|
| |
intrinsic patterns. Mem forms omitted because the load size is only 64-bits.
llvm-svn: 159070
|
| |
|
|
|
|
|
|
| |
It's simple: Don't treat <undef> operands as uses, and don't assume a
virtual register has a defining instruction unless a real use has been
seen.
llvm-svn: 159061
|
| |
|
|
|
|
|
|
|
|
| |
Heavily based on a patch from
Aaron Wishnick <aaron.s.wishnick@gmail.com>.
I'll clean up the duplicated function in CodeGen as
a follow-up, later today or tomorrow.
llvm-svn: 159060
|
| |
|
|
|
|
| |
function pointers PR13176,PR13177
llvm-svn: 159059
|
| |
|
|
| |
llvm-svn: 159058
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are patterns to handle immediates when they fit in the immediate field.
e.g. %sub = add i32 %x, -123
=> sub r0, r0, #123
Add patterns to catch immediates that do not fit but should be materialized
with a single movw instruction rather than movw + movt pair.
e.g. %sub = add i32 %x, -65535
=> movw r1, #65535
sub r0, r0, r1
rdar://11726136
llvm-svn: 159057
|
| |
|
|
|
|
| |
arguments in a class specialization.
llvm-svn: 159056
|
| |
|
|
| |
llvm-svn: 159055
|
| |
|
|
| |
llvm-svn: 159054
|
| |
|
|
|
|
|
|
|
|
|
| |
As an example of how the custom DiagnosticType can be used to provide
better operand-mismatch diagnostics, add a custom diagnostic for
the imm0_15 operand class used for several system instructions.
Update the tests to expect the improved diagnostic.
rdar://8987109
llvm-svn: 159051
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
"Invalid operand" may be a completely correct diagnostic, but it's often
insufficiently specific to really help identify and fix the problem in
assembly source. Allow a target to specify a more-specific diagnostic kind
for each AsmOperandClass derived definition and use that to provide
more detailed diagnostics when an operant of that class resulted in a
match failure.
rdar://8987109
llvm-svn: 159050
|
| |
|
|
| |
llvm-svn: 159047
|
| |
|
|
| |
llvm-svn: 159046
|
| |
|
|
|
|
|
| |
The isel (integer select) instruction is supported on the 440 and A2
embedded cores and on the POWER7.
llvm-svn: 159045
|
| |
|
|
| |
llvm-svn: 159044
|
| |
|
|
|
|
| |
relinquish memory.
llvm-svn: 159043
|
| |
|
|
| |
llvm-svn: 159042
|
| |
|
|
|
|
| |
The ProcessImplicitDefs class can be local to its implementation file.
llvm-svn: 159041
|
| |
|
|
|
|
| |
(Committed in r159038 by mistake.)
llvm-svn: 159040
|
| |
|
|
| |
llvm-svn: 159039
|
| |
|
|
|
|
| |
This would be useful to investigate performance issues.
llvm-svn: 159038
|
| |
|
|
| |
llvm-svn: 159037
|
| |
|
|
| |
llvm-svn: 159036
|
| |
|
|
| |
llvm-svn: 159035
|
| |
|
|
|
|
|
|
|
|
|
| |
include of int_lib.h.
The purpose of this change is to make the C code conform to the pedantic
rules of C99 -- an empty translation unit is not valid. It should have
absolutely no functional impact, and changes nothing about the built
libraries.
llvm-svn: 159034
|
| |
|
|
|
|
| |
number of -pedantic warnings.
llvm-svn: 159033
|
| |
|
|
| |
llvm-svn: 159032
|
| |
|
|
|
|
| |
cause any other exceptional stop reason.
llvm-svn: 159031
|
| |
|
|
| |
llvm-svn: 159030
|
| |
|
|
|
|
| |
It is both smaller and faster than DenseMap.
llvm-svn: 159029
|
| |
|
|
| |
llvm-svn: 159028
|
| |
|
|
|
|
|
|
|
|
| |
Original commit message:
Allow up to 64 functional units per processor itinerary.
This patch changes the type used to hold the FU bitset from unsigned to uint64_t.
This will be needed for some upcoming PowerPC itineraries.
llvm-svn: 159027
|