| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
or clang bootstrap.
I will keep an eye on the bots.
Original message:
Only emit the Leh_func_endN symbol when needed.
llvm-svn: 148283
|
| |
|
|
|
|
|
| |
And fix the comment about where the FilesToConfig variable
is.
llvm-svn: 148282
|
| |
|
|
|
|
| |
This allows -Wswitch-enum to find switches that need updating when these enums are modified.
llvm-svn: 148281
|
| |
|
|
| |
llvm-svn: 148280
|
| |
|
|
|
|
|
|
| |
a Sema.
This allows it to work when Sema is not available, like when loading AST files.
llvm-svn: 148279
|
| |
|
|
|
|
|
|
| |
does not depend on Sema, it accepts an ASTContext and a Preprocessor.
Step towards making clang_getCursorCompletionString not depend on Sema.
llvm-svn: 148278
|
| |
|
|
|
|
|
|
| |
on an ASTContext.
This is a step towards making clang_getCursorCompletionString not depend on Sema.
llvm-svn: 148277
|
| |
|
|
| |
llvm-svn: 148276
|
| |
|
|
|
|
| |
checked for legalisation
llvm-svn: 148275
|
| |
|
|
| |
llvm-svn: 148274
|
| |
|
|
|
|
| |
building the debuggees for running the test suite.
llvm-svn: 148273
|
| |
|
|
|
|
|
|
|
|
|
|
| |
BitVector uses the native word size for its internal representation.
That doesn't work well for literal bit masks in source code.
This patch adds BitVector operations to efficiently apply literal bit
masks specified as arrays of uint32_t. Since each array entry always
holds exactly 32 bits, these portable bit masks can be source code
literals, probably produced by TableGen.
llvm-svn: 148272
|
| |
|
|
|
|
|
|
| |
PotentiallyPotentiallyEvaluated contexts so that we model it in a sane way in most cases, and give up for the edge case which hopefully doesn't matter too much.
In preparation for correctly treating sizeof() as a PotentiallyPotentiallyEvaluated context.
llvm-svn: 148271
|
| |
|
|
|
|
| |
Fixes PR6484. Patch from Jason Switzer!
llvm-svn: 148270
|
| |
|
|
| |
llvm-svn: 148269
|
| |
|
|
| |
llvm-svn: 148268
|
| |
|
|
|
|
|
|
|
|
| |
for FunctionDecl::getMemoryFunctionKind().
This is a follow up on the Chris's review for r148142: We don't want to
pollute FunctionDecl with an extra enum. (To make this work, added
memcmp and family to the library builtins.)
llvm-svn: 148267
|
| |
|
|
|
|
| |
taint propagation functions.
llvm-svn: 148266
|
| |
|
|
| |
llvm-svn: 148265
|
| |
|
|
| |
llvm-svn: 148264
|
| |
|
|
| |
llvm-svn: 148263
|
| |
|
|
|
|
|
|
| |
account for all enumeration values explicitly.
(This time I believe I've checked all the -Wreturn-type warnings from GCC & added the couple of llvm_unreachables necessary to silence them. If I've missed any, I'll happily fix them as soon as I know about them)
llvm-svn: 148262
|
| |
|
|
|
|
| |
No test case: output assembly will be identical.
llvm-svn: 148261
|
| |
|
|
|
|
| |
does not have a corresponding SUnit
llvm-svn: 148260
|
| |
|
|
|
|
| |
It is safe to move uses of such registers.
llvm-svn: 148259
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move to a by-section allocation and relocation scheme. This allows
better support for sections which do not contain externally visible
symbols.
Flesh out the relocation address vs. local storage address separation a
bit more as well. Remote process JITs use this to tell the relocation
resolution code where the code will live when it executes.
The startFunctionBody/endFunctionBody interfaces to the JIT and the
memory manager are deprecated. They'll stick around for as long as the
old JIT does, but the MCJIT doesn't use them anymore.
llvm-svn: 148258
|
| |
|
|
|
|
| |
always shows the process info.
llvm-svn: 148257
|
| |
|
|
|
|
| |
reads YAML file, links, writes that out as native object format, then reads that native file, then writes the YAML to stdout. Thus the test suite tests both YAML reading/writing as well as native object file reading/writing.
llvm-svn: 148256
|
| |
|
|
| |
llvm-svn: 148255
|
| |
|
|
| |
llvm-svn: 148254
|
| |
|
|
|
|
| |
declaration which is used is marked as used.
llvm-svn: 148253
|
| |
|
|
| |
llvm-svn: 148252
|
| |
|
|
| |
llvm-svn: 148251
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Register masks will be used as a compact representation of large clobber
lists. Currently, an x86 call instruction has some 40 operands
representing call-clobbered registers. That's more than 1kB of useless
operands per call site.
A register mask operand references a bit mask of call-preserved
registers, everything else is clobbered. The bit mask will typically
come from TargetRegisterInfo::getCallPreservedMask().
By abandoning ImplicitDefs for call-clobbered registers, it also becomes
possible to share call instruction descriptions between calling
conventions, and we can get rid of the WINCALL* instructions.
This patch introduces the new operand kind. Future patches will add
RegMask support to target-independent passes before finally the fixed
clobber lists can be removed from call instruction descriptions.
llvm-svn: 148250
|
| |
|
|
|
|
| |
correctly. Getting the target triple wrong mostly appears to work, but messes up in subtle cases; for example, we incorrectly conclude that fwrite is actually named fwrite$UNIX2003. Also shuffles around the auto-detection code a bit to try and make it a bit more reliable. Fixes <rdar://problem/10664848>.
llvm-svn: 148249
|
| |
|
|
| |
llvm-svn: 148248
|
| |
|
|
|
|
| |
non-constant-folded-switch containing a constant-folded switch.
llvm-svn: 148247
|
| |
|
|
|
|
| |
then try to break out of the loop early, eliminate the attempt to break out of the loop after the last search. And with that, I'm declaring __dynamic_cast done. Though if anyone sees any problems, has suggestions for improvements, or wants to contribute some test cases, that is certainly welcome feedback.
llvm-svn: 148246
|
| |
|
|
| |
llvm-svn: 148245
|
| |
|
|
| |
llvm-svn: 148244
|
| |
|
|
|
|
|
| |
statement which has an unscoped case inside it.
Patch by Aaron Ballman
llvm-svn: 148243
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add atomic-to/from-nonatomic cast types
- Emit atomic operations for arithmetic on atomic types
- Emit non-atomic stores for initialisation of atomic types, but atomic stores and loads for every other store / load
- Add a __atomic_init() intrinsic which does a non-atomic store to an _Atomic() type. This is needed for the corresponding C11 stdatomic.h function.
- Enables the relevant __has_feature() checks. The feature isn't 100% complete yet, but it's done enough that we want people testing it.
Still to do:
- Make the arithmetic operations on atomic types (e.g. Atomic(int) foo = 1; foo++;) use the correct LLVM intrinsic if one exists, not a loop with a cmpxchg.
- Add a signal fence builtin
- Properly set the fenv state in atomic operations on floating point values
- Correctly handle things like _Atomic(_Complex double) which are too large for an atomic cmpxchg on some platforms (this requires working out what 'correctly' means in this context)
- Fix the many remaining corner cases
llvm-svn: 148242
|
| |
|
|
|
|
| |
timings to all of the tests.
llvm-svn: 148241
|
| |
|
|
| |
llvm-svn: 148240
|
| |
|
|
| |
llvm-svn: 148239
|
| |
|
|
| |
llvm-svn: 148238
|
| |
|
|
|
|
|
|
| |
for X86 and not Sparc...
Committed as obvious
llvm-svn: 148237
|
| |
|
|
| |
llvm-svn: 148236
|
| |
|
|
| |
llvm-svn: 148235
|
| |
|
|
| |
llvm-svn: 148234
|