Devang Patel
c370129daa
Speedup bitcode writer. Do not walk all values for all functions to emit function local metadata. In one testcase, probably worst case scenario, the 70x speed up is seen.
...
llvm-svn: 105360
2010-06-02 23:05:04 +00:00
Bill Wendling
5169d1ee59
Compulsive reformating. No functionalitical changes.
...
llvm-svn: 105359
2010-06-02 23:04:26 +00:00
Jakob Stoklund Olesen
f0226fee37
Slightly change the meaning of the reMaterialize target hook when the original
...
instruction defines subregisters.
Any existing subreg indices on the original instruction are preserved or
composed with the new subreg index.
Also substitute multiple operands mentioning the original register by using the
new MachineInstr::substituteRegister() function. This is necessary because there
will soon be <imp-def> operands added to non read-modify-write partial
definitions. This instruction:
%reg1234:foo = FLAP %reg1234<imp-def>
will reMaterialize(%reg3333, bar) like this:
%reg3333:bar-foo = FLAP %reg333:bar<imp-def>
Finally, replace the TargetRegisterInfo pointer argument with a reference to
indicate that it cannot be NULL.
llvm-svn: 105358
2010-06-02 22:47:25 +00:00
Benjamin Kramer
842c86a458
Update Readme and Makefiles for the new gtest.
...
llvm-svn: 105355
2010-06-02 22:02:57 +00:00
Benjamin Kramer
11251078ce
Merge gtest-1.5.0.
...
llvm-svn: 105354
2010-06-02 22:02:30 +00:00
Benjamin Kramer
fa12ea38cc
Merge gtest-1.4.0.
...
llvm-svn: 105353
2010-06-02 22:02:11 +00:00
Benjamin Kramer
82e5e91f69
Merge gtest-1.3.0.
...
OSX users: make sure that CrashReporter is disabled when running unit tests.
Death tests are enabled now so you'll get a ton of message boxes.
llvm-svn: 105352
2010-06-02 22:01:25 +00:00
Jim Grosbach
f3bd81ce11
Clean up 80 column violations. No functional change.
...
llvm-svn: 105350
2010-06-02 21:53:11 +00:00
Nate Begeman
d0fe2c84d7
arm_neon.h emitter now mostly complete for the purposes of initial testing.
...
llvm-svn: 105349
2010-06-02 21:53:00 +00:00
Rafael Espindola
f7170870cf
Remove the TargetRegisterClass member from CalleeSavedInfo
...
llvm-svn: 105344
2010-06-02 20:02:30 +00:00
Eli Friedman
eea94d2222
Fix comment so it doesn't include comments which are irrelevant to the x86
...
backend. Add a FIXME noting what can be fixed here.
llvm-svn: 105342
2010-06-02 19:35:46 +00:00
Dan Gohman
8a72efff3e
Use comments to document non-obvious code rather than
...
mailing list archives.
llvm-svn: 105341
2010-06-02 19:13:40 +00:00
Devang Patel
5fb0590e9c
Skip identical instruction while calculating DBG_VALUE range.
...
llvm-svn: 105340
2010-06-02 19:05:13 +00:00
Bob Wilson
fd208cef5d
Rename canCombinedSubRegIndex method to something more grammatically correct
...
and tidy up the comment describing it.
llvm-svn: 105339
2010-06-02 18:54:47 +00:00
Rafael Espindola
aa18562c5c
Replace ARM's getCalleeSavedRegClasses with a simpler solution
...
llvm-svn: 105335
2010-06-02 17:54:50 +00:00
Jim Grosbach
90ca622864
remove trailing whitespace
...
llvm-svn: 105333
2010-06-02 17:45:54 +00:00
Devang Patel
a5f4e6f4d9
Use local small vector.
...
llvm-svn: 105332
2010-06-02 16:42:51 +00:00
Rafael Espindola
1fa715f6d3
Remove unused function.
...
llvm-svn: 105325
2010-06-02 15:44:20 +00:00
Jim Grosbach
cc4ba44538
Not all entries in the range will have an SUnit. Check for that when looking
...
for debug information.
llvm-svn: 105324
2010-06-02 15:29:36 +00:00
Rafael Espindola
549ef36984
Update the documentation, getCalleeSavedRegClasses is not required anymore.
...
llvm-svn: 105323
2010-06-02 14:03:11 +00:00
Rafael Espindola
9113809536
cleanup
...
llvm-svn: 105322
2010-06-02 13:53:17 +00:00
Rafael Espindola
7b9d713f40
Remove uses of getCalleeSavedRegClasses from outside the
...
backends and removes the virtual declaration. With that out of the way
I should be able to cleanup one backend at a time.
llvm-svn: 105321
2010-06-02 12:39:06 +00:00
Duncan Sands
67ba22b8e9
Pacify recent gcc: remove a pointless const qualifier.
...
llvm-svn: 105318
2010-06-02 08:37:30 +00:00
Nate Begeman
8c69aba08d
Checkpoint; handle 'int' and 'void' correctly
...
llvm-svn: 105316
2010-06-02 07:14:28 +00:00
Nate Begeman
701f6c86e0
Emit full function prototypes. Definitions & typedefs to come.
...
llvm-svn: 105315
2010-06-02 06:17:19 +00:00
Evan Cheng
b137439a0a
Enable machine cse of instructions which define physical registers.
...
llvm-svn: 105308
2010-06-02 01:08:27 +00:00
Nate Begeman
febb87a5c1
Checkpoint arm_neon.h generation with tablegen
...
llvm-svn: 105307
2010-06-02 00:34:55 +00:00
Eli Friedman
c4b5d67cdc
Don't try to custom-lower 64-bit add-with-overflow and friends on x86-32; the
...
x86 backend currently doesn't know how to handle them.
This doesn't really fix anything because LegalizeTypes doesn't know how to
handle them either. We do get a better error message, though.
llvm-svn: 105305
2010-06-02 00:27:18 +00:00
Bob Wilson
70ee614ad2
Fix an obvious mistake: don't change the operands until all of them have been
...
checked and it is safe to proceed with the changes.
llvm-svn: 105304
2010-06-02 00:16:08 +00:00
Eli Friedman
628c298453
Remove outdated README entries.
...
llvm-svn: 105303
2010-06-02 00:10:36 +00:00
Jim Grosbach
7b5f627cf8
Update debug information when breaking anti-dependencies. rdar://7759363
...
llvm-svn: 105300
2010-06-01 23:48:44 +00:00
Alexis Hunt
9674fb4293
Fix comment
...
llvm-svn: 105297
2010-06-01 23:29:39 +00:00
Devang Patel
71a27d5aa6
DwarfWrite is now smart enough to drop debug value pointing to undefined register. Update this test to avoid this.
...
iSel not properly lowring argument into a well formed DBG_VALUE in some cases is a separate issue and not related to the test in this testcase.
llvm-svn: 105295
2010-06-01 23:01:43 +00:00
Jakob Stoklund Olesen
98290734b0
Properly compose subregister indices when coalescing.
...
The comment about ordering of subreg indices is no longer true.
This exposed a bug in the new substVirtReg method that is also fixed.
llvm-svn: 105294
2010-06-01 22:39:25 +00:00
Jim Grosbach
909aafbacf
Remove unused code
...
llvm-svn: 105293
2010-06-01 21:56:30 +00:00
Devang Patel
345874624f
Ignore line number of debug value in undefined register.
...
llvm-svn: 105292
2010-06-01 21:43:09 +00:00
Jim Grosbach
b37767db31
fix think-o
...
llvm-svn: 105291
2010-06-01 21:35:50 +00:00
Dan Gohman
2778840ec1
Fix the allocation of shadow space for the Win64 calling convention
...
in X86FastISel. Patch by Jan Sjodin.
llvm-svn: 105290
2010-06-01 21:09:47 +00:00
Jim Grosbach
ec24c70e3f
Simplify things a bit more. Fix prototype to use SmallVectorImpl and
...
change a few SmallVectors to vanilla C arrays.
llvm-svn: 105289
2010-06-01 21:06:46 +00:00
Dan Gohman
56a2a0fb80
Fix the noalias checking so that it doesn't worry about
...
an argument aliasing itself. Thanks Duncan!
llvm-svn: 105288
2010-06-01 20:51:40 +00:00
Devang Patel
b8d4476106
Keep track of incoming debug value of unused argument.
...
Radar 7927666.
llvm-svn: 105285
2010-06-01 19:59:01 +00:00
Dan Gohman
3a3a65dadc
Fill in missing support for ISD::FEXP, ISD::FPOWI, and friends.
...
llvm-svn: 105283
2010-06-01 18:35:14 +00:00
Jim Grosbach
adacdef6db
Add a FIXME
...
llvm-svn: 105282
2010-06-01 18:06:35 +00:00
Jim Grosbach
457e04c48c
mirror of r105280 changes for LowerInvoke, which uses the same basic logic here
...
llvm-svn: 105281
2010-06-01 18:04:56 +00:00
Jim Grosbach
c589fcfed7
When processing function arguments when splitting live ranges across invokes,
...
handle structs passed by value via an extract/insert pair, as a bitcast
won't work on a struct. rdar://7742824
llvm-svn: 105280
2010-06-01 18:04:09 +00:00
Jim Grosbach
eb2ca21aec
Use SmallVector instead of std::vector.
...
llvm-svn: 105279
2010-06-01 17:56:41 +00:00
Dan Gohman
af32d43b9f
Delete unused variables (that weren't even getting expanded).
...
llvm-svn: 105278
2010-06-01 17:26:14 +00:00
Dan Gohman
0aec2d5e72
Freebsd's sed doesn't support \< in regexps, and GNU sed doesn't
...
support [[:<:]]. Use beginning-of-line and end-of-line anchors
instead.
llvm-svn: 105277
2010-06-01 17:08:56 +00:00
Bruno Cardoso Lopes
62f73090c7
Refactor some SSE 2 unpack instructions
...
llvm-svn: 105276
2010-06-01 17:02:50 +00:00
Dan Gohman
940f8f3947
Don't call flush() at a library level which isn't checking for errors
...
and doesn't know where the output is going.
llvm-svn: 105274
2010-06-01 16:31:34 +00:00