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