1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
Commit Graph

85521 Commits

Author SHA1 Message Date
Chad Rosier
be73f6690c Whitespace.
llvm-svn: 165540
2012-10-09 20:15:02 +00:00
Bill Wendling
31ae26f466 Inline the checks for mutually exclusive attributes since they're used in only one module.
llvm-svn: 165539
2012-10-09 20:11:19 +00:00
Rafael Espindola
8e5adfa32c Enable response files in all tools. Patch by Liu, Yaxun (Sam). I have simplified
the test.

llvm-svn: 165535
2012-10-09 19:52:10 +00:00
Bill Wendling
ce3fe97e0d Move the 'FunctionOnly' attributes thingy inside of the Attributes class.
llvm-svn: 165530
2012-10-09 19:01:18 +00:00
Douglas Gregor
97b9fac1c3 Not everyone uses C++11, apparently
llvm-svn: 165517
2012-10-09 17:51:56 +00:00
Douglas Gregor
703f076085 Allow MapVector clients to specify the map and vector types, and add a
clear() method.

llvm-svn: 165514
2012-10-09 17:49:42 +00:00
Michael Ilseman
e025196817 More descriptive, doxygen-ed comments
llvm-svn: 165512
2012-10-09 17:05:59 +00:00
Sean Silva
a400d20965 tblgen: Remove pointless method call.
llvm-svn: 165511
2012-10-09 17:03:11 +00:00
Michael Ilseman
072e9fdbb9 New EarlyCSE tests for CSE-ing across commutativity.
llvm-svn: 165510
2012-10-09 16:58:13 +00:00
Michael Ilseman
41428d3bb1 Update EarlyCSE's SimpleValues to use Hashing.h for their hashes. Expanded the hashing and equality to allow for equality modulo commutativity for binary ops, and comparisons with swapping of predicates.
llvm-svn: 165509
2012-10-09 16:57:38 +00:00
Michael Ilseman
e2a233d237 New value_op_iterator for User. This allows other code to iterate over the User's operands directly as values, which can be convenient.
llvm-svn: 165508
2012-10-09 16:55:14 +00:00
David Chisnall
59a1cfd847 Improvements to MIPS64 assembler:
- Teach it about dadd[i] instructions and move pseudo-instruction
- Make it parse the register names correctly (for N32 / N64)

llvm-svn: 165506
2012-10-09 16:27:43 +00:00
Micah Villmow
54aac8803f Add in the first step of the multiple pointer support. This adds in support to the data layout for specifying a per address space pointer size.
The next step is to update the optimizers to allow them to optimize the different address spaces with this information.

llvm-svn: 165505
2012-10-09 16:06:12 +00:00
Alexey Samsonov
e30f2442b1 Fixup for r165490: Use DenseMap instead of std::map. Simplify the loop in CollectFunctionDIs.
llvm-svn: 165498
2012-10-09 10:34:52 +00:00
Bill Wendling
42dfeb2f05 Move the 'ParameterOnly' variable inside of the Attributes class and make it a method.
llvm-svn: 165497
2012-10-09 09:51:10 +00:00
Bill Wendling
793576783f Remove the now dead VarArgsIncompatible variable.
llvm-svn: 165496
2012-10-09 09:33:01 +00:00
Bill Wendling
35d132644f Use the enum value of the attributes when removing them from the attributes builder.
llvm-svn: 165495
2012-10-09 09:17:28 +00:00
Bill Wendling
7d6ddcc8e3 Use the enum value of the attributes when adding them to the attributes builder.
llvm-svn: 165494
2012-10-09 09:11:20 +00:00
Alexey Samsonov
561aa02d50 Fix PR14016.
DeadArgumentElimination pass can replace one LLVM function with another,
invalidating a pointer stored in debug info metadata entry for this function.
To fix this, we collect debug info descriptors for functions before
running a DeadArgumentElimination pass and "patch" pointers in metadata nodes
if we replace a function.

llvm-svn: 165490
2012-10-09 08:13:15 +00:00
Bill Wendling
b53357de39 Create enums for the different attributes.
We use the enums to query whether an Attributes object has that attribute. The
opaque layer is responsible for knowing where that specific attribute is stored.

llvm-svn: 165488
2012-10-09 07:45:08 +00:00
Bill Wendling
8fd2232878 Remove some dead methods.
llvm-svn: 165485
2012-10-09 05:54:39 +00:00
Bill Wendling
9d44569e18 Remove ifdef'd code.
llvm-svn: 165484
2012-10-09 05:36:15 +00:00
Craig Topper
14aba4d92c Separate AVXCC and SSECC printing for cmpps/pd/ss/sd and add masking before the switch statement. This keeps the unreachable default case from being hit if the instruction was created with an intrinsic with too large of an immediate.
llvm-svn: 165483
2012-10-09 05:26:13 +00:00
NAKAMURA Takumi
66a892ba2d Revert r117093, "test/Makefile: Force lit -j1 on Cygwin."
lit -jN works on cygwin in most cases, but still sometimes I can see stalls with iterative run on the buildbot.

llvm-svn: 165482
2012-10-09 05:07:18 +00:00
Craig Topper
c32072e141 In parseMSRMaskOperand, add an explicit check for the operand being an identifier instead of just having an assert.
llvm-svn: 165480
2012-10-09 04:55:28 +00:00
Craig Topper
b15f6b24e6 Remove some dead code from ARMAsmPrinter. Add virtual and LLVM_OVERRIDE to the other methods. Mark some of the helper methods as private.
llvm-svn: 165479
2012-10-09 04:23:49 +00:00
Craig Topper
6fe9802628 Remove some unused code in the X86AsmPrinter. Add LLVM_OVERRIDE and virtual keywords to the remaining interface methods.
llvm-svn: 165478
2012-10-09 03:50:37 +00:00
Chandler Carruth
e55d2920b1 Fix PR14034, an infloop / heap corruption / crash bug in the new SROA.
Thanks to Benjamin for the raw test case. This one took about 50 times
longer to reduce than to fix. =/

llvm-svn: 165476
2012-10-09 01:58:35 +00:00
Nadav Rotem
a8c4b4b426 whitespace
llvm-svn: 165475
2012-10-09 01:56:07 +00:00
Sean Silva
00f72940dd Move misplaced comment.
llvm-svn: 165474
2012-10-09 01:47:16 +00:00
Bill Wendling
08940a9caf Remove a couple more 'hasAttrSomewhere' calls.
llvm-svn: 165470
2012-10-09 01:03:48 +00:00
Bill Wendling
2ec286612a Fix. Apply the no capture attribute to the correct parameter.
llvm-svn: 165469
2012-10-09 00:51:40 +00:00
Bill Wendling
6242646539 Convert to using the Attributes::Builder class to create attributes.
llvm-svn: 165468
2012-10-09 00:47:36 +00:00
Bill Wendling
f6d86bbb4f Use an iterator and proper query method instead of the 'hasAttrSomewhere' method.
llvm-svn: 165467
2012-10-09 00:34:19 +00:00
Bill Wendling
4fa0f48d90 Remove more uses of the attribute enums by supplying appropriate query methods for them.
No functionality change intended.

llvm-svn: 165466
2012-10-09 00:28:54 +00:00
Bill Wendling
c00f4a514d Convert to using the Attributes::Builder interface.
llvm-svn: 165465
2012-10-09 00:01:21 +00:00
Eric Christopher
a31a55ef4f Fix typo in docs.
llvm-svn: 165464
2012-10-08 23:54:10 +00:00
Eric Christopher
ba8add509a Fix up comment to be more clear.
llvm-svn: 165463
2012-10-08 23:53:45 +00:00
Bill Wendling
049a2c0fba Update comment.
llvm-svn: 165461
2012-10-08 23:51:19 +00:00
Bill Wendling
a95eee725b Use the Attributes::Builder to build the attributes in the parser.
llvm-svn: 165458
2012-10-08 23:27:46 +00:00
Nadav Rotem
e05c974426 Use DataTypes.h
llvm-svn: 165457
2012-10-08 23:14:28 +00:00
Nadav Rotem
c94270cb4d Refactor the AddrMode class out of TLI to its own header file.
This class is used by LSR and a number of places in the codegen.
This is the first step in de-coupling LSR from TLI, and creating
a new interface in between them.

llvm-svn: 165455
2012-10-08 23:06:34 +00:00
Bill Wendling
12b21caa9a Convert the LLVM parser over to using the new Attributes::Builder to build its
attributes objects.

llvm-svn: 165436
2012-10-08 22:20:14 +00:00
Nick Lewycky
7708f19f82 Give CaptureTracker::shouldExplore a base implementation. Most users want to do
the same thing. No functionality change.

llvm-svn: 165435
2012-10-08 22:12:48 +00:00
Jakob Stoklund Olesen
28526a6248 Don't crash on extra evil irreducible control flow.
When the CFG contains a loop with multiple entry blocks, the traces
computed by MachineTraceMetrics don't always have the same nice
properties. Loop back-edges are normally excluded from traces, but
MachineLoopInfo doesn't recognize loops with multiple entry blocks, so
those back-edges may be included.

Avoid asserting when that happens by adding an isEarlierInSameTrace()
function that accurately determines if a dominating block is part of the
same trace AND is above the currrent block in the trace.

llvm-svn: 165434
2012-10-08 22:06:44 +00:00
Bill Wendling
8f296ad68b Begin the transition to using the AttributesImpl object for the Attributes ivar.
Start using the AttributesImpl object to hold the value of the attributes. All
queries go through the interfaces now.

This has one unfortunate consequence. I needed to move the AttributesImpl.h file
into include/llvm. But this is only temporary! Otherwise, the changes needed to
support this would be too large.

llvm-svn: 165433
2012-10-08 21:47:17 +00:00
Eric Christopher
9b026245e0 Add names for the accelerator table sections so that they can
be emitted if they're wanted on elf platforms.

llvm-svn: 165432
2012-10-08 21:41:30 +00:00
Eric Christopher
ab7c040025 Update comment.
llvm-svn: 165431
2012-10-08 21:41:18 +00:00
Bill Wendling
0d7223be5c Use a special path to place the .o files in.
llvm-svn: 165428
2012-10-08 21:17:45 +00:00
Eric Christopher
796c6fc576 Fixup comment.
llvm-svn: 165427
2012-10-08 20:48:54 +00:00