Commit Graph

29528 Commits

Author SHA1 Message Date
Bill Wendling 2c350921e2 Moved the GetTargetRelocation method to the PPCMachOWriterInfo object. The
PPCMachOWriter is now trivial.

llvm-svn: 33818
2007-02-03 02:40:57 +00:00
Bill Wendling c85e32c730 Put destructor out-of-line.
llvm-svn: 33817
2007-02-03 02:40:10 +00:00
Bill Wendling c27c70dc3d Pass in non-Mach-O-specific parameters to the GetTargetRelocation method.
llvm-svn: 33816
2007-02-03 02:39:40 +00:00
Bill Wendling f382ea30fd Added GetTargetRelocation method.
llvm-svn: 33815
2007-02-03 02:38:57 +00:00
Bill Wendling 0ceb8bb770 Added some accessor methods.
llvm-svn: 33814
2007-02-03 02:38:15 +00:00
Bill Wendling 761d275c35 Moved MachORelocation to its own header file. Have a call through the
TargetMachOInfo object to the GetTargetRelocation method. Pass into it
non-Mach-O-specific parameters.

llvm-svn: 33813
2007-02-03 02:37:51 +00:00
Bill Wendling 98ea0ea39e New file for the MachORelocation structure. It doesn't have to be tied to the
MachOWriter.h file.

llvm-svn: 33812
2007-02-03 02:36:17 +00:00
Evan Cheng 36d559d369 - Branch max. displacement calculation bug.
- Add debugging info.

llvm-svn: 33811
2007-02-03 02:08:34 +00:00
Chris Lattner 0a30b1f00f switch the sched unit map over to use a DenseMap instead of std::map. This
speeds up isel as a whole time by 2.6%.

llvm-svn: 33810
2007-02-03 01:34:13 +00:00
Chris Lattner e83030b9c8 Switch ComputeTopDownOrdering over to using a densemap. This speeds up
isel as a whole by 3.3%.

llvm-svn: 33809
2007-02-03 01:12:36 +00:00
Evan Cheng bcc6db26e1 __builtin_isunordered test case.
llvm-svn: 33808
2007-02-03 00:50:45 +00:00
Reid Spencer 04c5761386 For PR1152:
Update documentation to reflect that this isn't a full-blown executable
any more.

llvm-svn: 33807
2007-02-03 00:44:47 +00:00
Evan Cheng f309d13677 Pasto
llvm-svn: 33806
2007-02-03 00:43:46 +00:00
Reid Spencer 2e2e43edf4 And even more correctly.
llvm-svn: 33805
2007-02-03 00:33:26 +00:00
Reid Spencer dc83457a78 Format the examples correctly.
llvm-svn: 33804
2007-02-03 00:32:23 +00:00
Reid Spencer f3293bad2e For PR1152:
Update documentation to reflect addition of gccas functionality into opt.

llvm-svn: 33803
2007-02-03 00:21:56 +00:00
Lauro Ramos Venancio 1a0ae50528 Improves alloca test. Verifies SP restoration.
llvm-svn: 33802
2007-02-03 00:16:21 +00:00
Chris Lattner 1bfc7ab6a7 Switch inliner over to use DenseMap instead of std::map for ValueMap. This
speeds up the inliner 16%.

llvm-svn: 33801
2007-02-03 00:08:31 +00:00
Lauro Ramos Venancio b739f7d337 bugfix: SP isn't resetted when function has FP and there is no spills.
llvm-svn: 33800
2007-02-02 23:08:40 +00:00
Chris Lattner fc8190dbb7 Switch this back to using an std::map. DenseMap entries are getting invalidated
llvm-svn: 33799
2007-02-02 22:36:16 +00:00
Reid Spencer 697f1104e7 Two improvements:
1. Allow -- as well as - options (Bill Wendling)
2. Pass unrecognized options to opt and let it handle the errors, if any
   (Chris Lattner).

llvm-svn: 33798
2007-02-02 21:49:27 +00:00
Chris Lattner f4af392bd9 silence annoying warning in release-asserts build
llvm-svn: 33797
2007-02-02 21:19:18 +00:00
Chris Lattner 37d400a83d Remove more malloc thrashing, this speeds up IPSCCP on kimwitu another 6.7%.
llvm-svn: 33796
2007-02-02 21:15:06 +00:00
Evan Cheng f089c99f1d Another thumb large stack offset codegen bug.
llvm-svn: 33795
2007-02-02 21:08:39 +00:00
Chris Lattner 3e667f3e61 Convert an std::set to SmallSet, this speeds up IPSCCP 17% on kimwitu.
llvm-svn: 33794
2007-02-02 20:57:39 +00:00
Chris Lattner 0e7ec675da eliminate a malloc/free for (almost) every GEP processed. This speeds up
IPSCCP 3.3% on kimwitu.

llvm-svn: 33793
2007-02-02 20:51:48 +00:00
Chris Lattner 067d607e0e switch hash_map's over to DenseMap in SCCP. This speeds up SCCP by 30% in
a release-assert build on kimwitu++.

llvm-svn: 33792
2007-02-02 20:38:30 +00:00
Chris Lattner 1a49acad38 add find/erase, add const iterators, fix bugs in iterators.
llvm-svn: 33791
2007-02-02 20:34:32 +00:00
Chris Lattner 5b8ecfdb89 add iterators
llvm-svn: 33790
2007-02-02 19:27:13 +00:00
Evan Cheng d9d94700a4 Use MBB.empty() instead of MBB.size() for speed.
llvm-svn: 33789
2007-02-02 19:09:19 +00:00
Evan Cheng 3ad22567b3 Watch out for empty BB.
llvm-svn: 33788
2007-02-02 18:49:02 +00:00
Reid Spencer 583c90d4c2 For PR1152:
Step 2: Make plug compatible shell script to replace gccas binary.

llvm-svn: 33787
2007-02-02 15:50:58 +00:00
Reid Spencer 22dbfb626f For PR1152:
Step 1: Copy gccas functionality to opt. This endows opt with a new
-std-compile-opts option to get the set of optimization passes that
gccas used. It also adds -disable-inlining and -disable-opt which
both apply only if -std-compile-opts is given. The -strip-debug option
was also removed. It just makes sure that "-strip" gets done early and
is mostly there for compatibility with gccas. Finally, a new
-verify-each option will cause the verify pass to be run after each pass.

llvm-svn: 33786
2007-02-02 14:46:29 +00:00
Reid Spencer 2f34b98cbf Remove dead code and fix indentation per Chris' review comments.
llvm-svn: 33785
2007-02-02 14:41:37 +00:00
Reid Spencer 5dc84cdab7 Use short form of BinaryOperator create function.
llvm-svn: 33784
2007-02-02 14:09:34 +00:00
Reid Spencer 0d5f9237b6 Use short form of binary operator create functions.
llvm-svn: 33783
2007-02-02 14:08:20 +00:00
Reid Spencer 2ab0193da1 Put the Shift instructions in the right section.
llvm-svn: 33782
2007-02-02 13:57:07 +00:00
Reid Spencer 0cdd04fa90 Fix a comment that needed to change after SHIFT patch landed.
llvm-svn: 33781
2007-02-02 13:54:55 +00:00
Evan Cheng fda6550545 Ugh. Only meant to do this in thumb mode.
llvm-svn: 33780
2007-02-02 08:58:48 +00:00
Chris Lattner d5fea61d98 bugfix for reid's shift patch.
llvm-svn: 33779
2007-02-02 05:29:55 +00:00
Chris Lattner 2d5b4ac38f add a note
llvm-svn: 33778
2007-02-02 04:36:46 +00:00
Reid Spencer b958c7ec8a 1. Break long lines to 80 col limit
2. Fix indentation
3. Renumber the instruction opcodes after the Shift became a binary operator.

llvm-svn: 33777
2007-02-02 02:30:19 +00:00
Reid Spencer 2341c22ec7 Changes to support making the shift instructions be true BinaryOperators.
This feature is needed in order to support shifts of more than 255 bits
on large integer types.  This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
   shl i32 %X, 1
instead of
   shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.

llvm-svn: 33776
2007-02-02 02:16:23 +00:00
Evan Cheng 48b094d9dd Fix a bug in getARMCMP (which translate CondCode to ARM specific CC) when the RHS is a constant.
llvm-svn: 33775
2007-02-02 01:53:26 +00:00
Evan Cheng 9b9e4ae796 Thumb does not have clz.
llvm-svn: 33773
2007-02-01 23:34:03 +00:00
Devang Patel b8a29bdde9 Dump function names when debug-pass=Executions is used.
llvm-svn: 33772
2007-02-01 22:38:33 +00:00
Chris Lattner c904205d28 Fix Transforms/InstCombine/2007-02-01-LoadSinkAlloca.ll, a serious code
pessimization where instcombine can sink a load (good for code size) that
prevents an alloca from being promoted by mem2reg (bad for everything).

llvm-svn: 33771
2007-02-01 22:30:07 +00:00
Chris Lattner 9a677c585c new testcase for serious code pessimization
llvm-svn: 33770
2007-02-01 22:29:26 +00:00
Reid Spencer 26cc265311 My mistake, my environment wasn't up to date. This passes now.
llvm-svn: 33769
2007-02-01 22:26:42 +00:00
Reid Spencer a5dc052682 XFAIL this on x86 linux as it continues to fail.
llvm-svn: 33768
2007-02-01 22:10:46 +00:00