| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
optimization, making the lives of later passes easier.
llvm-svn: 151722
|
| |
|
|
| |
llvm-svn: 151721
|
| |
|
|
|
|
|
|
|
|
| |
Solaris not providing some of the locales that the test suite uses.
Note: This depends on an xlocale (partial) implementation for Solaris and a
couple of fixed standard headers. These will be committed to a branch later
today.
llvm-svn: 151720
|
| |
|
|
| |
llvm-svn: 151719
|
| |
|
|
| |
llvm-svn: 151718
|
| |
|
|
| |
llvm-svn: 151717
|
| |
|
|
|
|
| |
existing tests still pass, but there may still be corner cases.
llvm-svn: 151716
|
| |
|
|
| |
llvm-svn: 151715
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
an unwind because RegisterContextLLDB::InitializeZerothFrame() would
create a minimal stack frame to fetch the pc value of the current
instruction. This proved fragile when another section of code was
trying to create the first stack frame and UnwindLLDB called
RegisterContextLLDB which tried to create its minimal stack frame.
Instead, get the live RegisterContext, retrieve the pc value from
the registers, and create an Address object from that.
llvm-svn: 151714
|
| |
|
|
|
|
| |
a constant. This fixes PR1768.
llvm-svn: 151713
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug that was caught by Apple's internal buildbots was valid and also showed another bug in my implementation.
These are now fixed, with regression tests added to catch them both (not Darwin-specific).
Original log:
====================
Revert r151638 because it causes assertion hit on PCH creation for Cocoa.h
Original log:
---------------------
Correctly track tags and enum members defined in the prototype of a function, and ensure they are properly scoped.
This fixes code such as:
enum e {x, y};
int f(enum {y, x} n) {
return 0;
}
This finally fixes PR5464 and PR5477.
---------------------
I also reverted r151641 which was enhancement on top of r151638.
====================
llvm-svn: 151712
|
| |
|
|
|
|
| |
because the CFG is fully linearized.
llvm-svn: 151711
|
| |
|
|
|
|
| |
pin it down is undefined behaviour.
llvm-svn: 151710
|
| |
|
|
|
|
| |
unreachable default blocks. Patch by Cyril Roelandt!
llvm-svn: 151709
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Added the ability to override command line commands. In some cases GUI interfaces
might want to intercept commands like "quit" or "process launch" (which might cause
the process to re-run). They can now do so by overriding/intercepting commands
by using functions added to SBCommandInterpreter using a callback function. If the
callback function returns true, the command is assumed to be handled. If false
is returned the command should be evaluated normally.
Adopted this up in the Driver.cpp for intercepting the "quit" command.
llvm-svn: 151708
|
| |
|
|
|
|
| |
are sometimes potentially evaluated.
llvm-svn: 151707
|
| |
|
|
|
|
| |
rdar://10459258
llvm-svn: 151706
|
| |
|
|
|
|
|
|
|
| |
needed to
get the frame requested.
<rdar://problem/10943135>
llvm-svn: 151705
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
a) adds a Python summary provider for NSDate
b) changes the initialization for ScriptInterpreter so that we are not passing a bulk of Python-specific function pointers around
c) provides a new ScriptInterpreterObject class that allows for ref-count safe wrapping of scripting objects on the C++ side
d) contains much needed performance improvements:
1) the pointer to the Python function generating a scripted summary is now cached instead of looked up every time
2) redundant memory reads in the Python ObjC runtime wrapper are eliminated
3) summaries now use the m_summary_str in ValueObject to store their data instead of passing around ( == copying) an std::string object
e) contains other minor fixes, such as adding descriptive error messages for some cases of summary generation failure
llvm-svn: 151703
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This currently doesn't handle capturing the 'this' pointer for any
enclosing class.
Steal the lambda-expressions.cpp testcase and debugify it and try
to use more variables to proof it against random changes.
Part of rdar://10900684
llvm-svn: 151702
|
| |
|
|
| |
llvm-svn: 151701
|
| |
|
|
| |
llvm-svn: 151700
|
| |
|
|
| |
llvm-svn: 151699
|
| |
|
|
|
|
|
|
| |
of the SmallPtrSet way up to avoid commonly reallocating the buffer size.
- I didn't see a good argument against it, so I bumped the limit to cover the
max size we see during parsing Cocoa.h.
llvm-svn: 151698
|
| |
|
|
|
|
|
|
| |
- This reduces our total # of allocations building a PCH for Cocoa.h by almost
a whopping 50%.
- A SmallPtrMap would be cleaner, but since we don't have one yet...
llvm-svn: 151697
|
| |
|
|
|
|
|
|
|
| |
ST_Undefined. Implement these completely for ELF.
Rename ST_External to ST_Unknown, and slightly change its semantics. It now only indicates that the symbol's type
is unknown, not that the symbol is undefined. (For that, use ST_Undefined).
llvm-svn: 151696
|
| |
|
|
| |
llvm-svn: 151695
|
| |
|
|
| |
llvm-svn: 151694
|
| |
|
|
|
|
| |
Attached is a small python fix to save the current stout and std err when starting a python session, then diverting them (as it was before), and restoring the previous values afterwards. Otherwise, a python script could suddenly find itself without output.
llvm-svn: 151693
|
| |
|
|
|
| |
FIXME: Could we guarantee not to get stack overflow also on mingw?
llvm-svn: 151692
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This transformation is not correct for not-equal conditions:
(trunc x) != C1 & (and x, CA) != C2 -> (and x, CA|CMAX) != C1|C2
Let
C1 == 0
C2 == 0
CA == 0xFF0000
CMAX == 0xFF
and truncating to i8.
The original truth table:
x | A: trunc x != 0 | B: x & 0xFF0000 != 0 | A & B != 0
--------------------------------------------------------------
0x00000 | 0 | 0 | 0
0x00001 | 1 | 0 | 0
0x10000 | 0 | 1 | 0
0x10001 | 1 | 1 | 1
The truth table of the replacement:
x | x & 0xFF00FF != 0
----------------------------
0x00000 | 0
0x00001 | 1
0x10000 | 1
0x10001 | 1
So they are different.
llvm-svn: 151691
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function does more or less the same as
MI::readsWritesVirtualRegister(), but it supports bundles as well.
It also determines if any constraint requires reading and writing
operands to use the same register. Most clients want to know.
Use the more modern MO.readsReg() instead of trying to sort out undefs
and partial redefines. Stop supporting the extra full <imp-def> operand
as an alternative to <def,undef> sub-register defines.
llvm-svn: 151690
|
| |
|
|
| |
llvm-svn: 151689
|
| |
|
|
| |
llvm-svn: 151687
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initial step -- infrastructure change -- to fix the bug. Change the RegisterInfo data structure
to contain two additional fields (uint32_t *value_rges and uint32_t *invalidate_regs) to facilitate
architectures which have register mapping.
Update all existing RegsiterInfo arrays to have two extra NULL's (the additional fields) in each row,
GDBRemoteRegisterContext.cpp is modified to add d0-d15 and q0-q15 register info entries which take
advantage of the value_regs field to specify the containment relationship:
d0 -> (s0, s1)
...
d15 -> (s30, s31)
q0 -> (d0, d1)
...
q15 -> (d30, d31)
llvm-svn: 151686
|
| |
|
|
| |
llvm-svn: 151685
|
| |
|
|
|
|
|
|
|
| |
Extract a base class and provide four specific sub-classes for iterating
over const/non-const bundles/instructions.
This eliminates the mystery bool constructor argument.
llvm-svn: 151684
|
| |
|
|
|
|
| |
the ivar offset symbol.
llvm-svn: 151683
|
| |
|
|
| |
llvm-svn: 151682
|
| |
|
|
|
|
|
|
|
|
| |
find root names on Unix.
- This fixes make_absolute to not basically always call current_path() on
Unix systems.
- I think the API probably needs cleanup in this area, but I'll let Michael
handle that.
llvm-svn: 151681
|
| |
|
|
| |
llvm-svn: 151680
|
| |
|
|
|
|
| |
Need to GetProcess() to set the uid of the process to attach.
llvm-svn: 151679
|
| |
|
|
|
|
| |
Returns true when there is any info retrieved.
llvm-svn: 151678
|
| |
|
|
| |
llvm-svn: 151677
|
| |
|
|
|
|
| |
in the streaming case.
llvm-svn: 151676
|
| |
|
|
| |
llvm-svn: 151675
|
| |
|
|
|
|
| |
conversions. PR12121.
llvm-svn: 151674
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this hook, functions w/ a completely empty body (including no
epilogue) will cause an MCEmitter assertion failure.
For example,
define internal fastcc void @empty_function() {
unreachable
}
rdar://10947471
llvm-svn: 151673
|
| |
|
|
|
|
|
|
|
|
| |
SlotIndexes are not assigned to instructions inside bundles, but it is
still valid to look up the index of those instructions.
The reverse getInstructionFromIndex() will return the first instruction
in the bundle.
llvm-svn: 151672
|
| |
|
|
|
|
| |
and isWeak(), with a bitset of flags.
llvm-svn: 151670
|